main{background-color:var(--color-bg-porcelain)}
.packages-header{max-width:44rem}
.packages-recreational-badge{margin-bottom:var(--space-6)}

/* Cards: keep every element inside its column at every viewport width. */
.packages-main-grid{margin-top:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.packages-main-grid .package-card{min-width:0;height:100%}
.packages-main-grid .package-tag{position:static;align-self:flex-end;max-width:100%;text-align:center;white-space:normal;overflow-wrap:anywhere}
.packages-main-grid .package-title{min-width:0}
.packages-main-grid .package-badge{display:flex;max-width:100%;border-radius:var(--radius-md);line-height:1.45;white-space:normal}
.packages-main-grid .package-actions{margin-top:auto;padding-top:var(--space-2)}
.packages-main-grid .package-actions .btn{width:100%;max-width:100%;min-height:48px;padding-inline:var(--space-4);white-space:normal;text-align:center;line-height:1.3}

.packages-media-frame{border-radius:var(--radius-xl);overflow:hidden;background:linear-gradient(135deg,var(--color-bg-mist),var(--color-bg-sage));padding:6px;margin-top:var(--space-2);box-shadow:var(--shadow-subtle)}
.packages-media-frame img{border-radius:calc(var(--radius-xl) - 4px);width:100%;aspect-ratio:4 / 3;height:auto;object-fit:cover}
.packages-columns{display:grid;gap:var(--space-4);margin-top:var(--space-4)}
.packages-column-title{font-family:var(--font-sans);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.16em;color:var(--gray-600);margin-bottom:var(--space-2)}
.package-lead{color:var(--color-text-muted);font-size:var(--font-size-sm)}

.packages-highlight{display:grid;gap:var(--space-6);align-items:flex-start}
.packages-highlight-text h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-3)}
.packages-highlight-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.packages-info-title{font-family:var(--font-sans);font-size:var(--font-size-md);margin-bottom:var(--space-2)}
.packages-highlight-cta{margin-top:var(--space-5);display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between}
.packages-highlight-cta .btn{flex-shrink:0}

/* The consultation panel also appears below the cards. These rules prevent grid
   children and long placeholders from widening it beyond its white card. */
.consult-panel>* ,.consult-form-card,.consult-form-card form,.consult-form-card .form-row,.consult-form-card .form-row>div{min-width:0}
.consult-form-card{width:100%;max-width:100%}
.consult-form-card input,.consult-form-card select,.consult-form-card textarea{max-width:100%}
.consult-form-card .btn{width:100%;max-width:100%;min-height:48px;white-space:normal;text-align:center;line-height:1.3}

@media(max-width:1080px){.packages-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.packages-columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:960px){.packages-highlight{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.packages-main-grid{grid-template-columns:minmax(0,1fr)}.packages-recreational-badge{margin-bottom:var(--space-4)}.packages-highlight-cta{flex-direction:column;align-items:stretch}.packages-highlight-cta .btn{width:100%;white-space:normal}.consult-form-card .form-row-2{grid-template-columns:minmax(0,1fr)}}
