/* Booking page styles (PremiumPickGo) */
.hero { padding-block: clamp(var(--space-8), 6vw, var(--space-11)); }
.hero__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-10); align-items: center; }
.hero__copy .eyebrow { color: var(--color-primary); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: var(--space-3); }
.hero__cta { display: flex; gap: var(--space-4); margin-top: var(--space-6); flex-wrap: wrap; }
.hero__media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
@media (max-width: 960px) { .hero__grid { grid-template-columns: 1fr; } }

.section-header { margin-bottom: var(--space-6); }

/* Booking options */
.options-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7); }
.option ul { margin: 0 0 var(--space-5); padding-left: 1.2rem; }
.option li { margin-bottom: var(--space-2); }
@media (max-width: 1000px) { .options-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .options-grid { grid-template-columns: 1fr; } }

/* Process */
.process__grid { display: grid; grid-template-columns: 1fr 0.9fr; gap: var(--space-10); align-items: center; }
.steps { list-style: none; padding: 0; counter-reset: step; display: grid; gap: var(--space-6); }
.steps li { position: relative; }
.process__media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
@media (max-width: 1000px) { .process__grid { grid-template-columns: 1fr; } .process__media { order: -1; } }

/* Booking form */
.booking-form { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: var(--space-8); align-items: start; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--space-6); margin-bottom: var(--space-6); }
.form-field { display: grid; gap: var(--space-3); }
.fieldset { border: 1px dashed var(--color-border); border-radius: var(--radius-md); padding: var(--space-6); margin-bottom: var(--space-6); }
.fieldset legend { padding: 0 var(--space-2); color: var(--color-text-muted); }
.checkbox { display: flex; gap: var(--space-3); align-items: start; }
.form-actions { display: flex; gap: var(--space-4); margin-top: var(--space-4); flex-wrap: wrap; }
.status { margin-top: var(--space-5); min-height: 1.2em; }
.summary { position: sticky; top: 90px; }
.summary-list { display: grid; gap: var(--space-4); }
.summary-list dt { color: var(--color-text-muted); font-size: var(--text-sm); }
.summary-list dd { margin: 0; font-weight: 600; }
@media (max-width: 1050px) { .booking-form { grid-template-columns: 1fr; } .summary { position: static; } }
@media (max-width: 700px) { .form-grid { grid-template-columns: 1fr; } }

/* Benefits */
.benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7); }
.benefits h4 { margin-bottom: var(--space-2); }
@media (max-width: 1000px) { .benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .benefits { grid-template-columns: 1fr; } }

/* Testimonials */
.testimonials-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-7); }
.testimonials-grid blockquote p { font-size: var(--text-lg); }
.testimonials-grid cite { color: var(--color-text-muted); font-style: normal; }
@media (max-width: 1000px) { .testimonials-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .testimonials-grid { grid-template-columns: 1fr; } }

/* Policies */
.policies ul { margin: 0; padding-left: 1.2rem; }
.policies li { margin-bottom: var(--space-3); }

/* Confirmation */
.confirm-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-7); }
@media (max-width: 1000px) { .confirm-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .confirm-grid { grid-template-columns: 1fr; } }

/* Support */
.support-grid { display: grid; grid-template-columns: 1fr 0.9fr; align-items: center; gap: var(--space-10); }
.support-grid img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.support-list { margin: 0; padding-left: 1.2rem; }
.support-list li { margin-bottom: var(--space-2); }
@media (max-width: 1000px) { .support-grid { grid-template-columns: 1fr; } }

/* FAQ */
.faq { display: grid; gap: var(--space-4); }
.faq details { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-5) var(--space-6); }
.faq summary { cursor: pointer; font-weight: 600; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq details[open] { border-color: color-mix(in oklab, var(--color-border), var(--color-silver) 15%); box-shadow: var(--shadow-sm); }
.faq details div { margin-top: var(--space-3); color: var(--color-text); }
