/* Ordered owner-supplied editorial content, using the preserved reference shell. */
.editorial-page{color:var(--navy,#173047)}
.editorial-page .page-hero{padding:38px 0 24px}
.editorial-page h1{max-width:1000px;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.13;margin:18px 0 0;text-wrap:balance}
.editorial-page .crumbs{display:flex;flex-wrap:wrap;gap:5px;font-size:.85rem}
.editorial-primary-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.editorial-primary-actions .btn{min-height:48px;white-space:normal;text-align:center;max-width:100%;background:#173047;color:#fff;text-decoration:none}
.editorial-body{padding-bottom:44px}
.editorial-section{padding:30px 0;border-bottom:1px solid #dce3e8;scroll-margin-top:140px;min-width:0}
.editorial-section h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.25;margin:0 0 20px}
.editorial-section h3{font-size:1.3rem;line-height:1.35;margin:28px 0 12px}
.editorial-section p,.editorial-section li{font-size:1rem;line-height:1.75}
.editorial-section p{max-width:84ch;margin:0 0 18px}
.editorial-intro>p:first-child{font-size:1.15rem;line-height:1.7;max-width:85ch}
.editorial-intro:has(>.editorial-figure--hero){display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:38px;align-items:start}
.editorial-intro:has(>.editorial-figure--hero)>p{grid-column:1}
.editorial-intro>.editorial-figure--hero{grid-column:2;grid-row:1/span 20;margin-top:0;align-self:start}
.editorial-section ul,.editorial-section ol{padding-left:24px;max-width:84ch;margin:0 0 22px}
.editorial-section li{margin:7px 0}
.editorial-facts{margin:0 0 22px;max-width:84ch;line-height:1.75}
.editorial-facts>div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr);gap:16px;padding:10px 0;border-bottom:1px solid #dce3e8}
.editorial-facts dt{font-weight:700}.editorial-facts dd{margin:0;overflow-wrap:anywhere}
.editorial-section a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.editorial-section p>a:only-child{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.editorial-figure{margin:24px 0;min-width:0}
.editorial-figure img{display:block;width:100%;height:auto;border-radius:14px;object-fit:contain;background:#edf2f5}
.editorial-figure--hero{max-width:1080px}
.editorial-figure--hero img{max-height:540px;object-fit:cover}
.editorial-figure figcaption{font-size:.85rem;line-height:1.55;color:#526372;margin-top:9px}
.editorial-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:22px 0}
.editorial-gallery .editorial-figure{margin:0}
.editorial-gallery img{aspect-ratio:3/2;object-fit:cover}
.editorial-table{max-width:100%;overflow-x:auto;margin:22px 0;border:1px solid #dce3e8;border-radius:12px;scroll-margin-top:140px}
.editorial-table table{width:100%;border-collapse:collapse;font-size:.92rem;line-height:1.55}
.editorial-table th,.editorial-table td{padding:14px 16px;text-align:left;vertical-align:top;min-width:115px;border-bottom:1px solid #dce3e8}
.editorial-table th{background:#edf3f6;font-weight:700}
.editorial-table tr:last-child td{border-bottom:0}
.editorial-faq{border:1px solid #dce3e8;border-radius:12px;padding:0 20px;margin:12px 0;background:#fff}
.editorial-faq summary{font-weight:700;font-size:1.05rem;line-height:1.5;padding:18px 0;cursor:pointer;min-height:52px}
.editorial-faq summary h3{display:inline;font:inherit;letter-spacing:normal;margin:0}
.editorial-faq p{margin-bottom:20px}
.editorial-request{max-width:840px;background:#edf3f6;padding:26px;border:1px solid #d1dce3;border-radius:16px;scroll-margin-top:140px}
.editorial-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.editorial-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.editorial-field--wide{grid-column:1/-1}
.editorial-field label{font-weight:700;font-size:.94rem;line-height:1.5}
.editorial-field input,.editorial-field select,.editorial-field textarea{width:100%;min-width:0;min-height:48px;padding:11px;border:1px solid #a9bac6;border-radius:7px;background:white;color:#173047;font:inherit}
.editorial-field textarea{resize:vertical}
.editorial-field input[aria-invalid=true],.editorial-field select[aria-invalid=true]{border:2px solid #a12d23}
.editorial-field-error{color:#8a251d;font-size:.9rem;line-height:1.5}
.editorial-menus{grid-column:1/-1;border:1px solid #b9cbd6;padding:18px;border-radius:10px;min-width:0}
.editorial-menus legend{float:none;width:auto;padding:0 7px;font-size:1rem;font-weight:700}
.editorial-total{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:22px 0 0;font-weight:700}
.editorial-total output{font-size:1.4rem}
.editorial-request .editorial-note{font-size:.9rem;margin-top:14px}
.editorial-request .btn{min-height:48px;white-space:normal;text-align:center;text-decoration:none;margin:14px 0;max-width:100%;background:#173047;color:#fff}
.editorial-request .btn:disabled{opacity:.65;cursor:not-allowed}
.editorial-request [data-request-status]{min-height:1.75em}
.editorial-page :is(a,button,input,select,textarea,summary,[tabindex]):not(h1[tabindex="-1"]):focus-visible{outline:3px solid #b76520;outline-offset:3px}
.editorial-page h1[tabindex="-1"]:focus{outline:none}
@media(max-width:850px){
 .editorial-intro:has(>.editorial-figure--hero){display:block}
 .editorial-intro>.editorial-figure--hero{margin-top:24px}
}
@media(max-width:640px){
 .editorial-facts>div{grid-template-columns:minmax(0,1fr);gap:2px}
 .editorial-page .page-hero{padding-top:26px}
 .editorial-section{padding:24px 0}
 .editorial-gallery,.editorial-fields{grid-template-columns:minmax(0,1fr);gap:18px}
 .editorial-request{padding:18px}
 .editorial-menus{padding:13px;max-width:100%}
 .editorial-table th,.editorial-table td{padding:12px}
 .editorial-figure--hero img{max-height:none;object-fit:contain}
}

/* Owner-requested reservation presentation: existing live product card hierarchy. */
.editorial-product-layout{display:grid;grid-template-columns:minmax(0,1fr) 375px;gap:36px;align-items:start}
.editorial-product-main,.editorial-booking-sidebar{min-width:0}
.editorial-booking-sidebar{padding-top:30px}
.editorial-booking-section{scroll-margin-top:100px;min-width:0}
.editorial-request.editorial-reservation-card{position:relative;top:auto;width:100%;max-width:none;margin:0;background:#fff;border:1px solid #cddded;border-radius:20px;padding:28px;box-shadow:0 6px 22px rgb(23 48 71 / 7%);display:flex;flex-direction:column;gap:18px}
.editorial-reservation-card .book-card__head{margin:0;display:block}
.editorial-reservation-card .book-card__head h3{font-family:var(--sans);font-size:24px;line-height:1.25;color:var(--blue);margin:0}
.editorial-reservation-card .editorial-fields{display:flex;flex-direction:column;gap:20px}
.editorial-reservation-card .booking-field-wrap,.editorial-reservation-card .editorial-field{width:100%}
.editorial-reservation-card .editorial-field label{font-size:13px;font-weight:400;color:#425e7a;line-height:1.45;margin:0}
.editorial-reservation-card .editorial-field-heading{display:flex;flex-direction:column;gap:4px;min-width:0}
.editorial-reservation-card .editorial-field input,.editorial-reservation-card .editorial-field select,.editorial-reservation-card .editorial-field textarea{min-height:48px;padding:10px 12px;font-size:14px;line-height:1.45;border-color:#8faac6;border-radius:6px}
.editorial-reservation-card .editorial-stepper-field{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:4px}
.editorial-reservation-card .editorial-stepper-field>.editorial-field-heading{flex:1;min-width:110px}
.editorial-reservation-card .editorial-stepper-field label{font-size:15px;color:var(--navy)}
.editorial-reservation-card .stepper-row__unit{font-size:12px;color:#425e7a}
.editorial-reservation-card .stepper{gap:5px;flex-shrink:0}
.editorial-reservation-card .stepper button{width:38px;height:38px;min-width:38px;min-height:38px;border-color:#c3d2e3;color:var(--blue);font-size:20px;line-height:1;padding:0;cursor:pointer}
.editorial-reservation-card .stepper button:disabled{opacity:.4;cursor:not-allowed}
.editorial-reservation-card .stepper input{appearance:textfield;width:44px;min-height:38px;height:38px;text-align:center;padding:0;border:0;border-radius:0;font-size:16px;font-weight:700;color:var(--navy);background:transparent}
.editorial-reservation-card .stepper input::-webkit-inner-spin-button,.editorial-reservation-card .stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.editorial-reservation-card .editorial-field-error{width:100%;font-size:12px}
.booking-package-options{display:none}
.editorial-reservation-card[data-ready=true] .booking-package-options{display:flex;flex-direction:column;gap:10px}
.editorial-reservation-card[data-ready=true] .booking-package-native{display:none}
.editorial-reservation-card .opt-row{border:2px solid #d2e1f0;border-radius:12px;padding:14px;cursor:pointer;gap:12px;color:var(--navy)}
.editorial-reservation-card .opt-row[aria-checked=true]{background:#e9f2fb;border-color:var(--blue)}
.editorial-reservation-card .opt-row__name{font-size:13px;line-height:1.45}
.editorial-reservation-card .opt-row__price{font-size:20px;white-space:nowrap}
.editorial-reservation-card .book-card__total{padding-top:16px;margin:0;border-top:1px solid #d2e1f0;font-size:16px;font-weight:700}
.editorial-reservation-card .book-card__total output{font-size:30px;color:var(--blue);line-height:1.2}
.editorial-reservation-card>[data-send-request]{width:100%;min-height:52px;border:0;border-radius:30px;padding:14px 18px;background:var(--blue);color:white;font-size:15px;font-weight:700}
.editorial-reservation-card .editorial-note{font-size:12px;line-height:1.6;color:#425e7a;margin:0}
.editorial-reservation-card>p{margin:0;font-size:12px;line-height:1.6}
.editorial-reservation-card .editorial-total{padding:0;margin:0;gap:6px;font-size:12px;line-height:1.5}
.editorial-reservation-card .editorial-total output{font-size:13px;line-height:1.5}
.editorial-reservation-card .editorial-menus{width:100%;padding:14px;margin:0}
.editorial-reservation-card .editorial-menus legend{font-size:14px}
.editorial-request-details{margin-top:18px;border:1px solid #d2e1f0;border-radius:10px;padding:14px 18px;font-size:13px}
.editorial-request-details summary{cursor:pointer;font-weight:700}
.editorial-request-details p{font-size:13px;line-height:1.65;margin-top:12px}
.editorial-product-main .editorial-intro:has(>.editorial-figure--hero){grid-template-columns:minmax(0,1fr);gap:0}
.editorial-product-main .editorial-intro>.editorial-figure--hero{grid-column:auto;grid-row:auto;width:100%;margin-block:20px}
@media(max-width:1050px){.editorial-product-layout{grid-template-columns:minmax(0,1fr);gap:16px}.editorial-booking-sidebar{padding-top:0}.editorial-booking-section{max-width:620px;margin-inline:auto}.editorial-product-main .editorial-intro:has(>.editorial-figure--hero){display:block}}
@media(max-width:640px){.editorial-request.editorial-reservation-card{padding:22px;border-radius:18px}.editorial-reservation-card .book-card__head h3{font-size:23px}.editorial-reservation-card .stepper{gap:2px}.editorial-reservation-card .stepper button{width:36px;height:36px;min-width:36px;min-height:36px}.editorial-reservation-card .stepper input{width:34px}.editorial-reservation-card .editorial-stepper-field>.editorial-field-heading{min-width:100px}}
