/* The Coastierge / experience detail. Author: Romina Lezcano.
   Keep native WooCommerce gallery, tabs, availability, cart forms and notices. */
body.coast-experience-detail {
  --detail-navy:#001626;--detail-sand:#E4DFD1;--detail-beige:#EDD6C4;--detail-copper:#CD9767;
  --detail-accent:#B45410;--detail-accent-text:#984808;--detail-muted:#4f5b67;
  --detail-line:rgba(0,22,38,.13);--detail-ease:cubic-bezier(.16,1,.3,1);
  background:#fff;color:var(--detail-navy);font-family:Montserrat,system-ui,sans-serif;
}
body.coast-experience-detail :is(.site-main,#primary,#content,.woocommerce) {max-width:none}
body.coast-experience-detail .woocommerce-breadcrumb {
  max-width:1280px;margin:0 auto;padding:32px clamp(20px,4vw,48px) 0;
  color:var(--detail-muted);font-size:12px;line-height:1.8;overflow-wrap:anywhere;
}
body.coast-experience-detail .woocommerce-breadcrumb a {color:var(--detail-accent-text);text-underline-offset:5px}
body.coast-experience-detail div.product:not(.product-type-grouped) {
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:clamp(32px,5vw,72px);
  row-gap:64px;width:100%;max-width:1280px;margin:0 auto;
  padding:clamp(36px,5vw,64px) clamp(20px,4vw,48px) clamp(56px,7vw,96px);
}
body.coast-experience-detail div.product::before,
body.coast-experience-detail div.product::after {display:none}
body.coast-experience-detail div.product div.woocommerce-product-gallery {
  float:none!important;width:100%!important;max-width:100%;margin:0;align-self:start;grid-column:1;
  border-radius:36px;box-shadow:0 14px 40px rgba(0,22,38,.075);background:var(--detail-sand);
  opacity:1!important;overflow:hidden;
}
body.coast-experience-detail .woocommerce-product-gallery__wrapper {margin:0}
body.coast-experience-detail div.product .woocommerce-product-gallery img {
  display:block;width:100%;height:auto;max-width:100%;border-radius:0;
}
body.coast-experience-detail .woocommerce-product-gallery--without-images .woocommerce-product-gallery__image--placeholder img {
  aspect-ratio:4/3;object-fit:contain;background:var(--detail-sand);
}
body.coast-experience-detail div.product .woocommerce-product-gallery .flex-control-thumbs {
  display:flex;gap:12px;list-style:none;margin:0;padding:16px;background:#f5f3ed;
}
body.coast-experience-detail div.product .woocommerce-product-gallery .flex-control-thumbs li {float:none;width:calc(25% - 9px);margin:0}
body.coast-experience-detail div.product .woocommerce-product-gallery .flex-control-thumbs img {border-radius:12px;border:2px solid transparent;transition:border-color .2s ease,opacity .2s ease}
body.coast-experience-detail div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {border-color:var(--detail-accent)}
body.coast-experience-detail div.product .summary {
  float:none!important;width:auto!important;min-width:0;margin:0;grid-column:2;
  padding:clamp(26px,3vw,40px);border:1px solid var(--detail-line);border-radius:36px;background:#f5f3ed;align-self:start;
}
body.coast-experience-detail .summary .coast-product-plan {
  margin:0 0 16px;font-family:Montserrat,system-ui,sans-serif;font-size:clamp(25px,2.6vw,34px);
  font-weight:600;line-height:1.2;letter-spacing:-.03em;color:var(--detail-navy);
}
body.coast-experience-detail div.product .summary .product_title {
  margin:0 0 20px;font:600 clamp(26px,3vw,40px)/1.15 Montserrat,system-ui,sans-serif;letter-spacing:-.03em;color:var(--detail-navy);
}
body.coast-experience-detail div.product .summary :is(p.price,span.price) {
  margin:0 0 22px;font:500 25px/1.4 Montserrat,system-ui,sans-serif;color:var(--detail-navy);
}
body.coast-experience-detail .summary .coast-pill {
  display:inline-flex;padding:8px 14px;border:1px solid rgba(180,84,16,.3);border-radius:14px;
  background:var(--detail-beige);color:#893d08;font:600 12px/1.5 Montserrat,system-ui,sans-serif;
}
body.coast-experience-detail .summary .woocommerce-product-details__short-description {
  color:var(--detail-muted);font-size:15px;line-height:1.85;margin-bottom:24px;
}
body.coast-experience-detail .summary .woocommerce-product-details__short-description p {margin:0 0 16px}
body.coast-experience-detail .coast-product-facts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
body.coast-experience-detail .coast-product-facts>div {padding:16px;border:1px solid var(--detail-line);border-radius:18px;background:#fff;min-width:0}
body.coast-experience-detail .coast-product-facts dt {margin:0 0 6px;color:var(--detail-accent-text);font-size:10px;font-weight:700;line-height:1.6;letter-spacing:.1em;text-transform:uppercase}
body.coast-experience-detail .coast-product-facts dd {margin:0;color:var(--detail-navy);font-size:14px;font-weight:500;line-height:1.7;overflow-wrap:break-word}
body.coast-experience-detail .summary .coast-ask {margin:26px 0 0;padding:24px;border:0;border-radius:24px;background:var(--detail-navy);color:var(--detail-sand)}
body.coast-experience-detail .summary .coast-ask__text {margin:0 0 22px;color:var(--detail-sand);font-size:14px;line-height:1.85}
body.coast-experience-detail .summary :is(a.coast-btn,button.single_add_to_cart_button) {
  display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;max-width:100%;padding:16px 24px;
  border:1px solid var(--detail-accent);border-radius:18px;background:var(--detail-accent);color:#fff;
  font:600 13px/1.5 Montserrat,system-ui,sans-serif;letter-spacing:.025em;text-decoration:none;white-space:normal;
  transition:background-color .25s ease,transform .35s var(--detail-ease),box-shadow .35s var(--detail-ease);
}
body.coast-experience-detail .summary form.cart {margin:26px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:14px}
body.coast-experience-detail .summary form.variations_form {display:block}
body.coast-experience-detail .summary .quantity {float:none;margin:0}
body.coast-experience-detail .summary .quantity input.qty {width:88px;min-height:54px;margin:0;padding:10px;border:1px solid var(--detail-line);border-radius:14px;background:#fff;color:var(--detail-navy);font:500 16px/1.5 Montserrat,system-ui,sans-serif}
body.coast-experience-detail .summary .coast-notes {margin:24px 0 0;padding:0;display:grid;gap:16px;list-style:none}
body.coast-experience-detail .summary .coast-notes__item {display:flex;align-items:flex-start;gap:12px;padding:0;border:0;background:none;border-radius:0;color:var(--detail-muted);font-size:12px;line-height:1.8}
body.coast-experience-detail .summary .coast-notes__item strong {font-weight:600;color:var(--detail-navy)}
body.coast-experience-detail .summary .coast-notes__item a {color:var(--detail-accent-text);text-underline-offset:4px}
body.coast-experience-detail .summary .coast-notes__icon {color:var(--detail-accent-text);flex:none;margin-top:2px}
body.coast-experience-detail .summary .product_meta {display:none}
body.coast-experience-detail .woocommerce-tabs,
body.coast-experience-detail .coast-product-related,
body.coast-experience-detail .up-sells {grid-column:1/-1;min-width:0;clear:both}
body.coast-experience-detail div.product .woocommerce-tabs {margin:0;padding:0}
body.coast-experience-detail div.product .woocommerce-tabs ul.tabs {
  display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0 0 40px;padding:0 0 20px;
  border-bottom:1px solid var(--detail-line);overflow:visible;
}
body.coast-experience-detail div.product .woocommerce-tabs ul.tabs::before,
body.coast-experience-detail div.product .woocommerce-tabs ul.tabs li::before,
body.coast-experience-detail div.product .woocommerce-tabs ul.tabs li::after {display:none}
body.coast-experience-detail div.product .woocommerce-tabs ul.tabs li {
  margin:0;padding:0;border:0;border-radius:18px;background:var(--detail-sand);box-shadow:none;
}
body.coast-experience-detail div.product .woocommerce-tabs ul.tabs li a {
  display:block;min-height:48px;padding:14px 22px;font:600 13px/1.5 Montserrat,system-ui,sans-serif;
  color:var(--detail-navy);text-decoration:none;transition:background-color .2s ease,color .2s ease;border-radius:18px;
}
body.coast-experience-detail div.product .woocommerce-tabs ul.tabs li.active a {color:#fff;background:var(--detail-navy)}
body.coast-experience-detail div.product .woocommerce-tabs .panel {max-width:900px;margin:0 auto;padding:0;border:0;background:transparent}
body.coast-experience-detail div.product .woocommerce-tabs .panel h2 {
  margin:44px 0 22px;color:var(--detail-navy);font:600 clamp(25px,3vw,36px)/1.2 Montserrat,system-ui,sans-serif;
  letter-spacing:-.025em;text-transform:none;text-wrap:balance;
}
body.coast-experience-detail div.product .woocommerce-tabs .panel>h2:first-child {margin-top:0}
body.coast-experience-detail div.product .woocommerce-tabs .panel p {font-size:16px;line-height:1.95;color:var(--detail-muted);margin:0 0 22px}
body.coast-experience-detail div.product #tab-description>p:first-of-type {font-size:18px;line-height:1.85;color:var(--detail-navy)}
body.coast-experience-detail div.product #tab-description>ol {margin:0;padding:0 0 0 36px;list-style:decimal-leading-zero outside}
body.coast-experience-detail div.product #tab-description>ol>li {
  padding:22px 8px 22px 16px;border-bottom:1px solid var(--detail-line);margin:0;font-size:16px;line-height:1.9;color:var(--detail-muted);
}
body.coast-experience-detail div.product #tab-description>ol>li::marker {color:var(--detail-accent-text);font-size:18px;font-weight:600}
body.coast-experience-detail div.product #tab-description>ul {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:disc inside}
body.coast-experience-detail div.product #tab-description>ul>li {
  margin:0;padding:20px 22px;border:1px solid var(--detail-line);border-radius:18px;background:#f5f3ed;
  font-size:14px;line-height:1.85;color:var(--detail-navy);overflow-wrap:break-word;
}
body.coast-experience-detail .woocommerce-product-attributes {width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--detail-line);border-radius:24px;overflow:hidden;font-size:14px}
body.coast-experience-detail .woocommerce-product-attributes :is(th,td) {padding:18px 22px;border:0;border-bottom:1px solid var(--detail-line);text-align:left;background:#f5f3ed;font-style:normal;line-height:1.8}
body.coast-experience-detail .woocommerce-product-attributes td {background:#fff}
body.coast-experience-detail .woocommerce-product-attributes tr:last-child :is(th,td) {border-bottom:0}
body.coast-experience-detail .woocommerce-product-attributes p {font-size:14px!important;margin:0!important}
body.coast-experience-detail .coast-product-related {width:100%;max-width:none;margin:16px 0 0;padding:0;overflow:visible}
body.coast-experience-detail .coast-product-related>h2,
body.coast-experience-detail .up-sells>h2 {font:600 clamp(28px,3vw,40px)/1.2 Montserrat,system-ui,sans-serif;color:var(--detail-navy);letter-spacing:-.025em;margin:0 0 32px}
body.coast-experience-detail .coast-product-related .coast-tier__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
body.coast-experience-detail .woocommerce-notices-wrapper {max-width:1184px;margin:24px auto;padding-inline:20px}
body.coast-experience-detail :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) {border-radius:18px;color:var(--detail-navy);background:#f5f3ed;border-top-color:var(--detail-accent);font:400 14px/1.8 Montserrat,system-ui,sans-serif}
body.coast-experience-detail :is(a,button,input,select,textarea):focus-visible {outline:3px solid var(--detail-accent);outline-offset:5px}
body.coast-experience-detail .coast-ask a:focus-visible {outline-color:#fff}
@media(hover:hover) and (pointer:fine) {
  body.coast-experience-detail .summary :is(a.coast-btn,button.single_add_to_cart_button):hover {background:#94440c;border-color:#94440c;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,22,38,.14)}
  body.coast-experience-detail div.product .woocommerce-tabs ul.tabs li:not(.active) a:hover {background:var(--detail-beige)}
}
@media(max-width:899px) {
  body.coast-experience-detail div.product:not(.product-type-grouped) {grid-template-columns:minmax(0,1fr);row-gap:32px}
  body.coast-experience-detail div.product div.woocommerce-product-gallery,
  body.coast-experience-detail div.product .summary {grid-column:1}
  body.coast-experience-detail div.product .woocommerce-tabs {margin-top:24px}
}
@media(max-width:639px) {
  body.coast-experience-detail div.product .summary {padding:24px;border-radius:28px}
  body.coast-experience-detail div.product div.woocommerce-product-gallery {border-radius:28px}
  body.coast-experience-detail div.product #tab-description>ul {grid-template-columns:1fr}
  body.coast-experience-detail div.product .woocommerce-tabs ul.tabs {gap:8px}
  body.coast-experience-detail div.product .woocommerce-tabs ul.tabs li a {padding:13px 16px;font-size:12px}
  body.coast-experience-detail div.product .woocommerce-tabs .panel p {font-size:15px;line-height:1.9}
  body.coast-experience-detail div.product #tab-description>p:first-of-type {font-size:17px}
  body.coast-experience-detail .coast-product-related .coast-tier__grid {grid-template-columns:minmax(0,1fr)}
  body.coast-experience-detail .woocommerce-product-attributes :is(th,td) {padding:14px;font-size:12px;overflow-wrap:anywhere}
}
@media(max-width:379px) {
  body.coast-experience-detail .coast-product-facts {grid-template-columns:1fr}
  body.coast-experience-detail .summary .coast-ask {padding:20px}
  body.coast-experience-detail .summary a.coast-btn {padding:14px 18px;width:100%}
}
@media(prefers-reduced-motion:reduce) {
  body.coast-experience-detail :is(.summary,.woocommerce-tabs) * {transition:none!important;animation:none!important}
  body.coast-experience-detail .summary :is(a.coast-btn,button.single_add_to_cart_button):hover {transform:none}
}
/* Long experience titles need a quieter scale than short section names. */
body.coast-experience-detail .coast-section-hero h1 {
  max-width:28ch;font-family:Montserrat,system-ui,sans-serif;
  font-size:clamp(30px,3.1vw,48px);font-weight:400;line-height:1.16;letter-spacing:-.025em;
  overflow-wrap:break-word;text-wrap:balance;
}
body.coast-experience-detail .coast-section-hero__description {max-width:64ch;font-size:clamp(16px,1.25vw,18px);line-height:1.75}
@media(max-width:639px) {
  body.coast-experience-detail .coast-section-hero h1 {max-width:100%;font-size:30px}
}
body.coast-experience-detail .summary .coast-notes {border:0;border-radius:0;background:transparent;box-shadow:none}
