/* GENERATED by holiday-search/scripts/sync-offers-style.mjs — DO NOT EDIT.
 * Re-run the script to pick up changes to the offers embed. Source:
 *   TMS-Developer/tms-offers-site @ 650f40f6f6d0  public/holiday/index.html  (sha256 d3db1e9677090dbd)
 */
/* =====================================================================
   TMS Holiday Detail — standalone (fetch-driven) port of the Duda widget.
   Reads /holiday/<ref> from the URL, fetches the offer, renders it.
   Design tokens match the approved Duda page (teal #1a6b8a).
   ===================================================================== */
:root{ --hd-accent:#1a6b8a; --hd-accent-dk:#145670; --hd-btn:var(--hd-accent); --hd-btn-dk:var(--hd-accent-dk); --hd-ink:#1a1a2e; --hd-mut:#6b7280; --hd-line:#f3f4f6; --hd-bg:#f8f9fb; }
*{box-sizing:border-box;}
html,body{margin:0;padding:0;overflow-x:hidden;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--hd-bg);color:var(--hd-ink);}
.hd-app{width:100%;min-height:100vh;background:var(--hd-bg);}
.hd-app *{box-sizing:border-box;}
.hd-hidden{display:none !important;}

/* Loading / not found */
.hd-loading,.hd-not-found{text-align:center;padding:100px 24px;}
.hd-spinner{width:44px;height:44px;border:3px solid #e5e7eb;border-top-color:var(--hd-accent);border-radius:50%;animation:hd-spin .8s linear infinite;margin:0 auto 20px;}
@keyframes hd-spin{to{transform:rotate(360deg);}}
.hd-loading p{color:var(--hd-mut);font-size:1rem;margin:0;}
.hd-not-found-inner{max-width:420px;margin:0 auto;}
.hd-not-found svg{width:72px;height:72px;color:#d1d5db;margin:0 auto 24px;display:block;}
.hd-not-found h2{font-size:1.6rem;font-weight:700;margin:0 0 10px;}
.hd-not-found p{color:var(--hd-mut);margin:0 0 28px;}
.hd-back-btn{display:inline-block;background:#1a2744;color:#fff;padding:12px 28px;border-radius:8px;font-size:.92rem;font-weight:600;text-decoration:none;}

/* Back / share bar */
/* Sticky on the hosted page (the page scrolls itself). Inside the embed iframe
   position:sticky is inert — the iframe never scrolls — so embedded mode pins
   this bar + the sidebar via the tmsoViewport scroll-sync transform instead. */
.hd-back-search-bar{width:100%;background:#fff;border-bottom:1px solid #e5e7eb;padding:14px 0;position:sticky;top:0;z-index:60;}
.hd-back-search-inner{max-width:1440px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.hd-back-search-link{display:inline-flex;align-items:center;gap:8px;color:var(--hd-accent);font-size:.92rem;font-weight:600;text-decoration:none;padding:6px 12px 6px 8px;border-radius:8px;transition:.2s;}
.hd-back-search-link:hover{color:var(--hd-accent-dk);background:#f0f7fb;}
.hd-back-search-link svg{width:18px;height:18px;flex-shrink:0;}
.hd-share-btn{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #d7dde5;color:var(--hd-mut);font-size:.85rem;font-weight:600;padding:7px 14px;border-radius:8px;cursor:pointer;font-family:inherit;transition:.15s;}
.hd-share-btn:hover{border-color:var(--hd-accent);color:var(--hd-accent);}
.hd-share-btn svg{width:15px;height:15px;}
.hd-share-btn.copied{border-color:#059669;color:#059669;}

/* Hero */
/* ── Detail header (title/stats above the gallery — desktop only) ── */
.hd-head{max-width:1440px;margin:0 auto;padding:26px 32px 0;}
.hd-head-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:20px;border-bottom:1px solid #e2e5ea;}
.hd-head-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--hd-accent);margin:0 0 10px;}
.hd-head-title{font-size:2.6rem;font-weight:800;line-height:1.08;letter-spacing:-.4px;color:var(--hd-ink);margin:0;}
.hd-head-loc{margin:10px 0 0;font-size:.98rem;color:var(--hd-mut);}
.hd-head-stats{display:flex;align-items:center;gap:26px;padding-bottom:6px;flex-shrink:0;}
.hd-head-stat-label{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--hd-mut);}
.hd-head-stat-value{margin-top:6px;font-size:1.15rem;font-weight:700;color:var(--hd-ink);white-space:nowrap;}
.hd-head-stat-value small{font-size:.75rem;font-weight:400;color:var(--hd-mut);}
.hd-head-stat-sep{width:1px;height:34px;background:#e2e5ea;}
.hd-head-stat-logo{max-height:34px;max-width:90px;width:auto;height:auto;display:block;}

/* ── Gallery grid: hero + two stacked thumbnails (desktop) ── */
.hd-gallery-grid{max-width:1440px;margin:22px auto 0;padding:0 32px;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:236px 236px;gap:10px;}
.hd-gallery-grid.hd-g1{grid-template-columns:1fr;grid-template-rows:472px;}
.hd-hero{position:relative;grid-row:span 2;background-color:#0f3550;background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden;border-radius:12px;display:flex;align-items:flex-end;}
.hd-gallery-thumb{position:relative;overflow:hidden;border-radius:12px;background-color:#0f3550;background-position:center;background-size:cover;background-repeat:no-repeat;cursor:pointer;}
.hd-gallery-thumb.hd-thumb-tall{grid-row:span 2;}
.hd-thumb-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,23,32,.42),rgba(15,23,32,0) 55%);pointer-events:none;}
/* Overlay + in-image title are the MOBILE presentation; desktop uses .hd-head.
   pointer-events:none so neither ever blocks the swipeable strip. */
.hd-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,rgba(0,0,0,.15) 40%,rgba(0,0,0,.72) 100%);z-index:1;pointer-events:none;}
.hd-hero-inner{position:relative;z-index:2;width:100%;max-width:1440px;margin:0 auto;padding:0 32px 44px;pointer-events:none;}
/* Swipeable hero gallery — every image scrollable in place inside the hero
   grid cell (scroll-snap strip behind the overlay/title). The live counter
   doubles as the design's "1 / N" chip. */
.hd-hero-strip{position:absolute;inset:0;z-index:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.hd-hero-strip::-webkit-scrollbar{display:none;}
.hd-hero-strip img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;display:block;scroll-snap-align:start;cursor:pointer;}
.hd-hero-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#1a1a2e;box-shadow:0 2px 10px rgba(0,0,0,.3);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.hd-hero-nav.prev{left:18px;}.hd-hero-nav.next{right:18px;}
.hd-hero-nav[disabled]{opacity:0;pointer-events:none;}
.hd-hero-count{position:absolute;top:18px;left:18px;z-index:3;background:rgba(0,0,0,.55);color:#fff;font-size:.8rem;font-weight:600;padding:6px 13px;border-radius:50px;pointer-events:none;}
@media (max-width:767px){.hd-hero-nav{width:38px;height:38px;}.hd-hero-count{top:14px;left:14px;}}
.hd-hero-title{font-size:2.8rem;font-weight:800;color:#fff;margin:0 0 10px;line-height:1.14;text-shadow:0 2px 16px rgba(0,0,0,.4);letter-spacing:-.4px;}
.hd-hero-subtitle{font-size:1.1rem;font-weight:500;color:rgba(255,255,255,.88);margin:0 0 16px;text-shadow:0 1px 8px rgba(0,0,0,.3);}
.hd-hero-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.hd-hero-meta-item{display:flex;align-items:center;gap:7px;font-size:.95rem;font-weight:600;color:rgba(255,255,255,.92);}
.hd-hero-meta-item svg{width:17px;height:17px;flex-shrink:0;opacity:.85;}
@media (min-width:768px){
  .hd-hero-overlay,.hd-hero-inner{display:none;}
}
/* After .hd-hero-title so the header variant wins its colour/size fight:
   the same h1 class is white-on-image in the overlay, ink-on-page here. */
.hd-head .hd-head-title{font-size:2.6rem;line-height:1.08;color:var(--hd-ink);text-shadow:none;margin:0;}
/* Mobile thumbnail strip under the hero */
.hd-m-strip{display:none;}
.hd-m-strip-tile{flex:1 1 0;min-width:0;height:66px;border-radius:8px;overflow:hidden;position:relative;background-color:#0f3550;background-position:center;background-size:cover;background-repeat:no-repeat;cursor:pointer;}
.hd-m-strip-more{position:absolute;inset:0;background:rgba(15,23,32,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;pointer-events:none;}
.hd-m-strip-more-n{font-size:1.05rem;font-weight:700;line-height:1;}
.hd-m-strip-more-l{margin-top:4px;font-size:.6rem;letter-spacing:.1em;}
.hd-gallery-btn{position:absolute;bottom:14px;right:14px;z-index:3;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.98);border:1px solid rgba(26,107,138,.15);border-radius:50px;padding:11px 18px 11px 14px;font-size:.88rem;font-weight:700;color:var(--hd-ink);cursor:pointer;transition:.2s;box-shadow:0 6px 18px rgba(15,23,32,.22);font-family:inherit;}
.hd-gallery-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 28px rgba(0,0,0,.22);border-color:var(--hd-accent);}
.hd-gallery-btn svg{width:18px;height:18px;color:var(--hd-accent);flex-shrink:0;}
.hd-gallery-btn-count{background:var(--hd-accent);color:#fff;font-size:.78rem;font-weight:700;padding:3px 9px;border-radius:50px;line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:26px;}

/* Body layout */
.hd-body{width:100%;padding:32px 0 60px;}
.hd-body-inner{max-width:1440px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:start;}
/* Grid/flex items default to min-width:auto, which lets a wide-enough
   descendant's own min-content size force this column wider than its
   track/flex-basis instead of shrinking to fit — the classic cause of a
   page bleeding off the right edge on mobile (WebKit/iOS Safari is the
   most prone to it). min-width:0 lets it shrink normally in both the
   desktop grid (1fr column) and the mobile flex-column layout below. */
.hd-col-main{min-width:0;}
.hd-section{background:#fff;border-radius:14px;padding:28px;margin-bottom:16px;box-shadow:0 2px 12px rgba(0,0,0,.06);min-width:0;}
.hd-section-title{font-size:1.2rem;font-weight:700;margin:0 0 20px;padding-bottom:14px;border-bottom:2px solid var(--hd-line);display:flex;align-items:center;gap:10px;}
.hd-section-title::before{content:'';display:block;width:4px;height:22px;background:var(--hd-accent);border-radius:3px;flex-shrink:0;}

/* Stats bar */
.hd-stats-bar{background:#fff;border-radius:14px;padding:16px 24px;margin-bottom:16px;box-shadow:0 2px 12px rgba(0,0,0,.06);display:flex;align-items:center;flex-wrap:wrap;min-width:0;}
.hd-stat-item{flex:1 1 0;text-align:center;padding:8px 16px;border-right:1px solid var(--hd-line);min-width:100px;max-width:100%;}
.hd-stat-item:last-child{border-right:none;}
.hd-stat-icon{width:26px;height:26px;color:var(--hd-accent);margin:0 auto 6px;display:block;}
.hd-stat-value{font-size:1.2rem;font-weight:800;line-height:1;display:block;overflow-wrap:break-word;word-break:break-word;}
.hd-stat-label{font-size:.72rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.07em;margin-top:3px;display:block;}

/* Offer body */
.offer-body *{box-sizing:border-box;font-family:inherit;}
.offer-body h1,.offer-body h2,.offer-body h3,.offer-body h4{font-size:18px !important;font-weight:bold !important;line-height:1.3 !important;margin:14px 0 6px !important;}
.offer-body h1:first-child,.offer-body h2:first-child,.offer-body h3:first-child,.offer-body h4:first-child{margin-top:0 !important;}
.offer-body span{font-size:inherit !important;line-height:inherit !important;}
.offer-body p{margin:0 0 8px !important;line-height:1.5 !important;font-size:15px !important;}
.offer-body p:empty{display:none;}
.offer-body p.hd-desc-h{font-weight:800 !important;font-size:16px !important;color:var(--hd-ink);margin:18px 0 8px !important;}
.offer-body ul.hd-desc-list{margin:0 0 12px;padding-left:20px;}
.offer-body ul.hd-desc-list li{margin:5px 0;line-height:1.5;font-size:15px;}
.offer-body ul.hd-desc-list-check{list-style:none;padding-left:0;}
.offer-body p.hd-desc-line{margin:0 0 5px !important;}
.offer-body .hd-desc-check-ico{color:#16a34a;font-weight:800;margin-right:2px;}
.offer-body br+br{display:none;}
.offer-body ul,.offer-body ol{margin:0 0 8px;padding-left:20px;}
.offer-body li{font-size:15px;line-height:1.5;margin-bottom:2px;}
.offer-body a{color:var(--hd-accent);text-decoration:underline;}
.offer-body p img{vertical-align:top;margin-right:8px;position:relative;top:2px;max-width:20px;max-height:20px;}
.hd-description-wrap{position:relative;}
.hd-description-wrap.is-collapsed .offer-body{max-height:16.2rem;overflow:hidden;}
.hd-description-fade{display:none;position:absolute;bottom:0;left:0;right:0;height:6rem;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 85%);pointer-events:none;}
.hd-description-wrap.is-collapsed .hd-description-fade{display:block;}
.hd-read-more-btn{display:none;margin-top:12px;background:none;border:none;color:var(--hd-accent);font-size:.92rem;font-weight:700;cursor:pointer;padding:4px 0;font-family:inherit;text-decoration:underline;text-underline-offset:3px;}
.hd-read-more-btn:hover{color:var(--hd-accent-dk);}
.hd-read-more-btn.is-visible{display:inline-block;}
/* Cruise Monks only: filled yellow pill matching CALLBACK REQUEST, so "Read
   more" reads as a clickable button rather than an easy-to-miss text link. */
.hd-read-more-btn--cm{background:#ffe600;color:#1a1a1a;text-decoration:none;padding:8px 16px;border-radius:8px;}
.hd-read-more-btn--cm:hover{color:#1a1a1a;opacity:.88;}

/* Info table */
.hd-info-table{display:grid;grid-template-columns:repeat(2,1fr);gap:0;}
.hd-info-row{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--hd-line);font-size:.92rem;}
.hd-info-row:nth-child(odd){border-right:1px solid var(--hd-line);}
.hd-info-label{color:var(--hd-mut);font-weight:500;}
.hd-info-value{color:var(--hd-ink);font-weight:700;text-align:right;max-width:55%;}
.hd-info-value--pill{background:#e8f4f8;color:var(--hd-accent);padding:3px 10px;border-radius:50px;font-size:.82rem;}

/* Highlights */
.hd-highlights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;}
.hd-highlight-item{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#f0f7fb 0%,#e8f3f8 100%);border:1px solid #c8e2ed;border-radius:10px;padding:14px 16px;font-size:.88rem;font-weight:600;}
.hd-highlight-icon{width:20px;height:20px;color:var(--hd-accent);flex-shrink:0;}
.hd-transport-note{margin:12px 0 0;font-size:.78rem;color:var(--hd-mut);font-style:italic;line-height:1.5;}

/* T&C — deliberately smaller than the offer's main body text (not just the
   paragraphs but the block's own titles too), so it reads as boilerplate
   rather than content the visitor is meant to weigh equally. */
.hd-tc-section .hd-section-title,.hd-static-tc-section .hd-section-title{font-size:1rem;margin-bottom:14px;padding-bottom:10px;}
.hd-tc-text{font-size:.78rem;color:var(--hd-mut);line-height:1.7;}
.hd-tc-text p{margin:0 0 12px;}
.hd-stc-block{margin-bottom:18px;}
.hd-stc-block:last-child{margin-bottom:0;}
.hd-stc-heading{font-size:.82rem;font-weight:700;margin:0 0 6px;}
.hd-stc-text{font-size:.78rem;color:var(--hd-mut);line-height:1.7;margin:0;}
.hd-stc-operator-block{border-top:1px solid var(--hd-line);padding-top:16px;margin-top:4px;}

/* Sidebar */
.hd-col-sidebar{position:sticky;top:84px;min-width:0;}   /* clears the sticky top bar */
.hd-sidebar-card{background:#fff;border-radius:14px;padding:28px;box-shadow:0 4px 24px rgba(0,0,0,.1);border:1px solid #c8e2ed;}
.hd-villas-price-card{text-align:center;padding:22px 16px 18px;background:#fff;border-radius:10px;border:1px solid #e8ecf2;margin-bottom:14px;}
.hd-vpc-from{font-size:.72rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;}
.hd-vpc-amount-row{display:flex;align-items:flex-start;justify-content:center;line-height:1;}
.hd-vpc-sym{font-size:1.2rem;font-weight:600;margin:4px 1px 0 0;line-height:1;}
.hd-vpc-val{font-size:2.4rem;font-weight:600;line-height:1;letter-spacing:-1px;}
.hd-vpc-unit{font-size:.95rem;font-weight:500;color:var(--hd-mut);align-self:flex-end;margin:0 0 4px 4px;white-space:nowrap;}
.hd-vpc-basis{font-size:.82rem;font-weight:600;color:var(--hd-mut);margin-top:6px;line-height:1.35;}
.hd-vpc-airport{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.84rem;font-weight:600;color:var(--hd-accent);margin-top:7px;}
.hd-vpc-airport svg{width:14px;height:14px;flex-shrink:0;}
.hd-dep-ico{display:inline-flex;align-items:center;flex-shrink:0;}
.hd-dep-ico svg{width:14px;height:14px;}
.hd-vpc-airport--alt .hd-vpc-airport-name{background:var(--hd-accent);color:#fff;padding:3px 10px;border-radius:999px;}
.hd-airport-selector{margin-bottom:4px;}
.hd-airport-label{display:flex;align-items:center;gap:7px;font-size:.75rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}
.hd-airport-label svg{width:14px;height:14px;color:var(--hd-accent);flex-shrink:0;}
.hd-airport-select-wrap{position:relative;display:block;}
.hd-airport-select{width:100%;appearance:none;-webkit-appearance:none;background:#f0f7fb;border:1.5px solid #c8e2ed;border-radius:9px;padding:11px 36px 11px 14px;font-size:.92rem;font-weight:600;color:var(--hd-ink);font-family:inherit;cursor:pointer;outline:none;}
.hd-airport-select:focus{border-color:var(--hd-accent);box-shadow:0 0 0 3px rgba(26,107,138,.12);background:#fff;}
.hd-airport-select-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--hd-mut);pointer-events:none;}
.hd-sidebar-divider{height:1px;background:var(--hd-line);margin:16px 0;}
.hd-sidebar-details{display:flex;flex-direction:column;gap:10px;}
.hd-sd-item{display:flex;align-items:flex-start;justify-content:space-between;font-size:.9rem;gap:8px;}
.hd-sd-label{display:flex;align-items:center;gap:7px;color:var(--hd-mut);font-weight:500;flex-shrink:0;}
.hd-sd-value{color:var(--hd-ink);font-weight:700;text-align:right;line-height:1.3;min-width:0;overflow-wrap:break-word;word-break:break-word;}
.hd-sd-value--small{font-size:.82rem;font-weight:500;color:var(--hd-mut);}
.hd-sidebar-tags{padding-bottom:4px;}
.hd-operator-name{font-size:.92rem;font-weight:600;color:#374151;margin:0;padding:4px 0 2px;}
.hd-op-logo{max-height:40px;max-width:100px;width:auto;height:auto;display:block;margin:6px auto 0;}

/* Cruise Monks build: ship / itinerary / cabin panels — reuse hd-section,
   hd-section-title and the hd-stat-item quick-stat box verbatim; nothing
   here introduces a new palette or typeface. */
.hd-cruise-ship-body{display:flex;flex-direction:column;gap:14px;}
.hd-cruise-ship-media{width:100%;}
.hd-cruise-ship-img{width:100%;max-height:360px;border-radius:10px;object-fit:cover;display:block;cursor:zoom-in;}
.hd-cruise-ship-info{min-width:0;}
.hd-cruise-ship-name{font-size:1.1rem;font-weight:700;margin:0 0 4px;}
.hd-cruise-line-name{margin:0;color:var(--hd-mut);font-size:.9rem;}
.hd-cruise-stat-grid{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
.hd-cruise-stat-grid .hd-stat-item{flex:1 1 0;min-width:110px;border:1px solid var(--hd-line);border-radius:10px;padding:12px 16px;}
.hd-cruise-ship-intro{margin:16px 0 0;color:var(--hd-ink);font-size:.92rem;line-height:1.55;}
/* Ship-detail accordion (accommodation/decks/dining/wellness) — ported from
   cruise-platform-search/detail.html (.shipacc*, .ship-panels) with its
   --gold/--navy/--muted/--border tokens mapped to this page's own
   --hd-accent/--hd-ink/--hd-mut/--hd-line so it themes per site. */
.hd-ship-panels{display:flex;flex-direction:column;gap:14px;margin-top:20px;min-width:0;}
.hd-shipacc{background:#fff;border:1px solid var(--hd-line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(27,36,48,.05),0 6px 18px rgba(27,36,48,.05);min-width:0;}
.hd-shipacc-head{display:flex;width:100%;align-items:center;gap:14px;padding:18px 22px;border:0;background:#fff;cursor:pointer;text-align:left;font-family:inherit;min-width:0;}
.hd-shipacc-bar{width:3px;height:18px;border-radius:2px;background:var(--hd-accent);flex:none;}
.hd-shipacc-title{font-size:16px;font-weight:700;color:var(--hd-ink);flex:1;min-width:0;line-height:1.2;}
.hd-shipacc-count{font-size:12px;color:var(--hd-mut);flex:none;white-space:nowrap;}
.hd-shipacc-chev{font-size:20px;line-height:.6;color:var(--hd-accent);flex:none;transition:transform .22s cubic-bezier(.22,1,.36,1);}
.hd-shipacc.open .hd-shipacc-chev{transform:rotate(180deg);}
.hd-shipacc-body{display:none;border-top:1px solid var(--hd-line);}
.hd-shipacc.open .hd-shipacc-body{display:block;}
.hd-shipacc-body-inner{padding:20px 22px 26px;display:flex;flex-direction:column;gap:16px;min-width:0;}
.hd-shipacc-intro{margin:0;font-size:13px;line-height:1.55;color:var(--hd-mut);max-width:60ch;}
.hd-shipacc-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--hd-line);margin:0 0 4px;min-width:0;}
.hd-shipacc-tab{border:0;background:none;font-family:inherit;font-size:12px;font-weight:600;color:var(--hd-mut);padding:8px 12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:7px;white-space:nowrap;}
.hd-shipacc-tab:hover{color:var(--hd-ink);}
.hd-shipacc-tab.active{color:var(--hd-ink);border-bottom-color:var(--hd-accent);}
.hd-shipacc-tab-n{font-size:10px;font-weight:700;color:var(--hd-mut);background:var(--hd-bg);border-radius:10px;padding:1px 7px;}
.hd-shipacc-tab.active .hd-shipacc-tab-n{color:var(--hd-accent);background:#e8f4f8;}
.hd-shipacc-tabpanel[hidden]{display:none;}
.hd-shipacc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px;align-items:stretch;min-width:0;}
.hd-shipacc-item{display:flex;flex-direction:column;gap:8px;height:100%;min-width:0;border:0;background:none;padding:0;text-align:left;cursor:pointer;font-family:inherit;}
.hd-shipacc-item-img{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:#f2efe9;border:1px solid var(--hd-line);}
.hd-shipacc-item-img img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;}
.hd-shipacc-item-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:24px;color:#b9b2a4;}
.hd-shipacc-item-text{display:flex;flex-direction:column;gap:3px;flex:1;justify-content:space-between;}
.hd-shipacc-item-name{font-size:12px;font-weight:700;line-height:1.3;color:var(--hd-ink);min-height:2.6em;}
.hd-shipacc-item-meta{font-size:11px;color:var(--hd-mut);font-variant-numeric:tabular-nums;}
.hd-shipacc-sub{display:flex;flex-direction:column;gap:14px;}
.hd-shipacc-sub-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.hd-shipacc-sub-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hd-ink);}
.hd-shipacc-sub-note{font-size:12px;color:var(--hd-mut);}
.hd-shipacc-decks{display:flex;flex-direction:column;gap:14px;}
.hd-shipacc-deck{display:flex;gap:18px;align-items:center;padding:14px;border:1px solid var(--hd-line);border-radius:8px;background:var(--hd-bg);width:100%;text-align:left;cursor:pointer;font-family:inherit;}
.hd-shipacc-deck-img{width:230px;height:56px;flex:none;border-radius:5px;background:#f2efe9;border:1px solid var(--hd-line);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.hd-shipacc-deck-img img{width:100%;height:100%;object-fit:cover;display:block;}
.hd-shipacc-deck-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;}
.hd-shipacc-deck-name{font-size:13px;font-weight:700;color:var(--hd-ink);}
.hd-shipacc-deck-hl{font-size:12px;line-height:1.5;color:var(--hd-mut);}
.hd-shipacc-deck-view{font-size:12px;font-weight:700;color:var(--hd-accent);flex:none;}
@media(max-width:768px){
  .hd-shipacc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hd-shipacc-deck{flex-wrap:wrap;gap:12px;}
  .hd-shipacc-deck-img{width:100%;height:120px;}
  .hd-shipacc-deck-view{width:100%;}
}
/* Rich cabin-detail modal (opens on cabin-card click) — same slideshow +
   facts + facilities + photo-strip layout as cruise-search.pages.dev's
   openSuiteDetail, ported so a cabin here reads identically to that site. */
.hd-cabin-modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:100000;align-items:center;justify-content:center;padding:24px 20px;}
.hd-cabin-modal-bg.hd-open{display:flex;}
html.hd-cabin-modal-open,body.hd-cabin-modal-open{overflow:hidden;}
/* Embedded: the iframe is auto-sized to its full content and never scrolls
   itself (the PARENT page is the scroller — see the tmsoViewport comment
   above .hd-mob-cta), so position:fixed here would center within the
   iframe's total height, not the visitor's actual screen — same problem as
   the enquiry overlay (.hd-eq-abs) and the mobile CTA bar, fixed the same
   way: absolute + an explicit top/height matching the visible band, kept in
   sync by cruise-block.js via window.__hdEmbedOverlay. */
.hd-embedded .hd-cabin-modal-bg{position:absolute;inset:auto 0 auto 0;}
/* max-height:100% (not calc(100vh - 48px)) deliberately — 100vh inside the
   embedded iframe is the iframe's full auto-sized document height (very
   tall, not the visible band), so a vh-based cap let the card overflow top
   and bottom uncapped there. 100% instead resolves against the immediate
   parent's own box: .hd-cabin-modal-bg is always a definite height (100vh
   via inset:0 standalone; the explicit visible-band px height JS sets when
   embedded), so the card is correctly capped either way, with the parent's
   own 24px/20px padding preserved since percentage heights in a flex
   container resolve against its content box. */
.hd-cabin-modal{background:var(--hd-card,#fff);border-radius:16px;max-width:680px;width:100%;position:relative;overflow:hidden;max-height:100%;display:flex;flex-direction:column;}
/* Deck plans are wide panoramas — the same modal shell gets a wider variant
   for those, toggled by showDetailModal and reset on close. */
.hd-cabin-modal.hd-cabin-modal--wide{max-width:min(1100px,94vw);}
/* flex:1 1 auto + min-height:0 — without min-height:0 a flex item defaults
   to fitting its own content (min-height:auto), which would let this grow
   past .hd-cabin-modal's max-height instead of scrolling internally. */
.hd-cabin-modal-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;}
.hd-cabin-modal-hero{width:100%;height:300px;object-fit:cover;display:block;background:#e8e4d8;flex-shrink:0;transition:opacity .3s ease;}
.hd-cabin-modal-placeholder{height:80px;display:flex;align-items:center;justify-content:center;font-size:52px;background:#f0ece0;}
.hd-cabin-modal-close{position:absolute;top:12px;right:14px;background:rgba(0,0,0,.5);border:none;color:#fff;border-radius:50%;width:32px;height:32px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;}
.hd-cabin-modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;}
.hd-cabin-modal-nav.hd-cm-prev{left:12px;}
.hd-cabin-modal-nav.hd-cm-next{right:12px;}
.hd-cabin-modal-counter{position:absolute;bottom:10px;right:14px;background:rgba(0,0,0,.45);color:#fff;font-size:11px;padding:3px 9px;border-radius:10px;}
.hd-cabin-modal-body{padding:24px;}
.hd-cabin-modal-badge{font-size:10px;padding:3px 9px;border-radius:10px;font-weight:600;display:inline-flex;margin-bottom:12px;}
.hd-cabin-modal-acc{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 10px;border-radius:10px;background:#e8f4ff;color:#185fa5;margin-bottom:12px;}
.hd-cabin-modal-title{font-size:1.25rem;font-weight:700;margin:0 0 6px;}
.hd-cabin-modal-sub{font-size:.82rem;color:var(--hd-mut);margin:0 0 10px;}
.hd-cabin-modal-desc{font-size:.88rem;color:var(--hd-ink);line-height:1.7;margin-bottom:16px;}
.hd-cabin-modal-desc p{margin-bottom:8px;}
.hd-cabin-modal-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;}
.hd-cabin-modal-fact{background:var(--hd-bg);border-radius:8px;padding:10px 12px;}
.hd-cabin-modal-fact-l{font-size:10px;color:var(--hd-mut);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px;}
.hd-cabin-modal-fact-v{font-size:13px;font-weight:700;}
.hd-cabin-modal-fac-title{font-size:11px;font-weight:700;color:var(--hd-mut);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.hd-cabin-modal-facs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;}
.hd-cabin-modal-fac{font-size:11px;padding:4px 10px;border-radius:10px;background:var(--hd-bg);color:var(--hd-ink);}
.hd-cabin-modal-strip{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;}
.hd-cabin-modal-strip img{width:86px;height:60px;object-fit:cover;border-radius:6px;cursor:pointer;flex-shrink:0;opacity:.85;transition:opacity .15s;}
.hd-cabin-modal-strip img:hover{opacity:1;}
.hd-cruise-itin-scroll{overflow-x:auto;}
.hd-cruise-itin-table{width:100%;border-collapse:collapse;min-width:32rem;}
.hd-cruise-itin-table th,.hd-cruise-itin-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--hd-line);font-size:.9rem;}
.hd-cruise-itin-table th{color:var(--hd-mut);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;}
.hd-cruise-map{height:320px;border-radius:10px;margin-top:16px;background:var(--hd-bg);}
/* Leaflet tooltip styling for the itinerary map's port labels */
.leaflet-tooltip.port-tooltip{background:var(--hd-ink);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:600;padding:4px 9px;box-shadow:0 2px 8px rgba(0,0,0,.2);}
.leaflet-tooltip-top.port-tooltip::before{border-top-color:var(--hd-ink);}
.hd-enquire-btn{display:block;width:100%;background:linear-gradient(135deg,var(--hd-btn) 0%,var(--hd-btn-dk) 100%);color:#fff;text-align:center;padding:16px 24px;border-radius:10px;font-size:1rem;font-weight:700;letter-spacing:.02em;transition:.2s;margin-top:20px;box-shadow:0 4px 16px rgba(26,107,138,.35);border:none;cursor:pointer;font-family:inherit;}
.hd-enquire-btn:hover{opacity:.9;transform:translateY(-1px);}
/* Cruise Monks only: "CALLBACK REQUEST" in their own yellow, matching the
   poster CTA — same button element, opens the same enquiry form. */
.hd-enquire-btn--callback{background:#ffe600;color:#1a1a1a;box-shadow:0 4px 16px rgba(0,0,0,.15);}
.hd-enquire-btn--callback:hover{opacity:.88;}
.hd-poster-btn{display:block;width:100%;box-sizing:border-box;text-align:center;padding:14px 24px;margin-top:12px;border-radius:10px;font-size:.95rem;font-weight:700;letter-spacing:.02em;text-decoration:none;color:var(--hd-accent);border:2px solid var(--hd-accent);background:#fff;transition:.2s;}
.hd-poster-btn:hover{background:var(--hd-accent);color:#fff;}
.hd-back-link{display:block;text-align:center;margin-top:14px;font-size:.85rem;font-weight:600;color:var(--hd-mut);text-decoration:none;}
.hd-back-link:hover{color:var(--hd-ink);}

/* Operator tooltip */
.hd-op-tooltip-wrap{position:relative;display:inline-block;}
.hd-op-info-tag{border-bottom:1px dashed var(--hd-mut);cursor:pointer;}
.hd-op-info-tag:hover{border-bottom-color:var(--hd-accent);}
.hd-op-tooltip{display:none;position:absolute;bottom:calc(100% + 10px);left:0;z-index:99;width:280px;background:#fff;border:1px solid #e2e5ea;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.11);padding:16px 18px;}
.hd-op-tooltip-wrap:hover .hd-op-tooltip{display:flex;flex-direction:column;gap:10px;}
.hd-op-tooltip-name{font-size:1.05rem;font-weight:800;}
.hd-op-tooltip-address,.hd-op-tooltip-email{font-size:.82rem;color:var(--hd-mut);line-height:1.5;}
.hd-op-tooltip-terms{font-size:.85rem;font-weight:700;color:var(--hd-ink);text-decoration:underline;}
.hd-op-tooltip-terms:hover{color:var(--hd-accent);}
.hd-op-tooltip-atol{font-size:.82rem;color:var(--hd-mut);line-height:1.5;}

/* Enquiry popup. The overlay is FIXED on the hosted page; embedded mode swaps
   it to absolute and positions/sizes it over the VISIBLE band of the iframe
   (from the tmsoViewport scroll-sync) — a fixed overlay inside a content-height
   iframe cannot cover the visitor's viewport. */
.hd-eq-overlay{position:fixed;inset:0;z-index:90;background:rgba(15,28,49,.5);display:flex;align-items:center;justify-content:center;padding:16px;}
.hd-eq-overlay.hd-eq-abs{position:absolute;inset:auto 0 auto 0;}
.hd-eq-overlay .hd-enquiry-inline{margin:0;width:100%;max-width:600px;max-height:min(94%,860px);overflow-y:auto;}
/* Mobile bottom CTA — fixed on the hosted page; embedded mode positions it
   absolutely from the scroll-sync (see .hd-embedded override + JS). */
.hd-mob-cta{display:none;}
@media (max-width:767px){
  .hd-mob-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:80;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;box-shadow:0 -4px 20px rgba(0,0,0,.14);}
  .hd-mob-cta .mc-in{display:flex;align-items:center;justify-content:space-between;gap:12px;}
  .hd-mob-cta .mc-price{font-size:17px;font-weight:800;color:var(--hd-ink);line-height:1.2;}
  .hd-mob-cta .mc-price .mc-from{font-size:11px;font-weight:600;color:var(--hd-mut);margin-right:4px;}
  .hd-mob-cta .mc-sub{font-size:12px;color:var(--hd-mut);margin-top:2px;}
  .hd-mob-cta button{background:linear-gradient(135deg,var(--hd-btn) 0%,var(--hd-btn-dk) 100%);color:#fff;border:none;border-radius:10px;padding:13px 24px;font-size:.95rem;font-weight:700;letter-spacing:.02em;cursor:pointer;font-family:inherit;flex:0 0 auto;}
  .hd-mob-cta button.hd-mob-cta-btn--callback{background:#ffe600;color:#1a1a1a;}
}
.hd-embedded .hd-mob-cta{position:absolute;bottom:auto;}
/* Enquiry inline (now lives inside the popup overlay) */
.hd-enquiry-inline{margin-top:20px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.1);border:1px solid #c8e2ed;}
.hd-eq-header{background:linear-gradient(135deg,#0f3550 0%,var(--hd-accent) 100%);padding:22px 24px;}
.hd-eq-modal-title{font-size:1.15rem;font-weight:800;color:#fff;margin:0 0 4px;}
.hd-eq-modal-subtitle{font-size:.85rem;color:rgba(255,255,255,.7);margin:0;}
/* Cruise Monks only: enquiry form header in their own yellow/black, matching
   the site's SIGN UP button and nav — same #ffe600 as the callback CTA above. */
.hd-eq-header--cm{background:#ffe600;}
.hd-eq-header--cm .hd-eq-modal-title{color:#1a1a1a;}
.hd-eq-header--cm .hd-eq-modal-subtitle{color:rgba(26,26,26,.75);}
.hd-eq-body{padding:20px 24px 22px;}
.hd-eq-form{display:flex;flex-direction:column;gap:13px;}
.hd-eq-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.hd-eq-field{display:flex;flex-direction:column;gap:6px;}
.hd-eq-label{font-size:.8rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.05em;}
.hd-eq-input{width:100%;padding:11px 14px;border:1.5px solid #e5e7eb;border-radius:9px;font-size:.95rem;color:var(--hd-ink);background:#fafafa;outline:none;font-family:inherit;}
.hd-eq-input:focus{border-color:var(--hd-accent);background:#fff;box-shadow:0 0 0 3px rgba(26,107,138,.12);}
.hd-eq-input--error{border-color:#ef4444 !important;}
.hd-eq-select-wrap{position:relative;display:block;}
.hd-eq-select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:36px;}
.hd-eq-select-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--hd-mut);pointer-events:none;}
.hd-eq-consent{display:flex;align-items:flex-start;gap:9px;font-size:.85rem;color:#4b5563;line-height:1.45;cursor:pointer;}
.hd-eq-consent input{margin-top:2px;width:16px;height:16px;flex-shrink:0;accent-color:var(--hd-accent);cursor:pointer;}
.hd-eq-textarea{resize:vertical;min-height:72px;line-height:1.6;}
.hd-eq-error{font-size:.78rem;color:#ef4444;min-height:1em;}
.hd-eq-error-general{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:8px;padding:12px 16px;font-size:.88rem;line-height:1.4;}
.hd-eq-actions{display:flex;gap:12px;justify-content:flex-end;}
.hd-eq-cancel{padding:12px 22px;border:1.5px solid #e5e7eb;border-radius:9px;background:#fff;color:var(--hd-mut);font-size:.92rem;font-weight:600;cursor:pointer;font-family:inherit;}
.hd-eq-submit{padding:12px 28px;background:linear-gradient(135deg,var(--hd-btn) 0%,var(--hd-btn-dk) 100%);color:#fff;border:none;border-radius:9px;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:10px;}
.hd-eq-submit:disabled{opacity:.65;cursor:not-allowed;}
.hd-eq-submit-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:hd-spin .7s linear infinite;display:none;}
.hd-eq-submit.is-loading .hd-eq-submit-spinner{display:block;}
/* Cruise Monks only: --hd-btn resolves to their own brand yellow (#ffe600,
   set from agent_brand.primary_col), same as every other operator's submit
   button — but the generic white text was unreadable against it. Same fix
   as the callback CTA and modal header above, applied to this button too. */
.hd-eq-submit--cm{color:#1a1a1a;}
.hd-eq-submit--cm .hd-eq-submit-spinner{border-color:rgba(26,26,26,.3);border-top-color:#1a1a1a;}
.hd-eq-success{text-align:center;padding:20px 12px 8px;}
.hd-eq-success-icon{width:64px;height:64px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.hd-eq-success-icon svg{width:32px;height:32px;color:#059669;}
.hd-eq-success-title{font-size:1.3rem;font-weight:800;margin:0 0 10px;}
.hd-eq-success-msg{font-size:.95rem;color:var(--hd-mut);margin:0 0 20px;line-height:1.6;}
.hd-eq-success-close{padding:12px 32px;background:#1a2744;color:#fff;border:none;border-radius:9px;font-weight:600;cursor:pointer;font-family:inherit;}

/* Gallery lightbox */
.hd-gallery-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hd-gallery-lightbox-inner{position:relative;width:100%;max-width:1400px;height:100%;display:flex;align-items:center;justify-content:center;}
.hd-gallery-top-bar{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;background:linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,0));}
.hd-gallery-counter{background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.15);border-radius:50px;padding:8px 20px;font-size:.9rem;font-weight:600;color:#fff;}
.hd-gallery-close{background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.2);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;font-family:inherit;}
.hd-gallery-prev,.hd-gallery-next{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.2);border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;font-family:inherit;}
.hd-gallery-prev{left:20px;}.hd-gallery-next{right:20px;}
.hd-gallery-prev svg,.hd-gallery-next svg{width:24px;height:24px;}
.hd-gallery-close svg{width:18px;height:18px;}
.hd-gallery-image-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:80px 100px 60px;}
.hd-gallery-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 12px 48px rgba(0,0,0,.6);transition:opacity .2s;display:block;}

@media (max-width:1024px){
  .hd-body-inner{grid-template-columns:1fr;gap:0;}
  /* Card is MOVED into the content flow after Holiday Highlights by
     placeSidebar() at these widths — position/order no longer place it. */
  .hd-col-sidebar{position:static;margin:24px 0;}
}
@media (max-width:767px){
  /* align-items:stretch overrides the desktop grid rule's align-items:start
     (same selector, so it otherwise cascades through unchanged) — under
     flex-direction:column that property controls the CROSS axis, i.e.
     width, so "start" left every child sized to its own content instead of
     stretched to the column, pinning it at a fixed content-derived width
     that only happened to fit above ~390px and bled off narrower screens
     regardless of anything else on the page (root cause of the real
     "flows off page on mobile" reports — the earlier min-width:0 additions
     elsewhere in this file were reasonable hardening but not this cause). */
  .hd-body-inner{display:flex;flex-direction:column;align-items:stretch;padding:0 12px;}
  /* Card position on mobile comes from placeSidebar() (after Highlights). */
  .hd-col-sidebar{margin:16px 0;width:100%;}
  .hd-sidebar-card{padding:18px 14px;}
  .hd-villas-price-card{width:100%;}
  .hd-head{display:none;}
  .hd-gallery-grid{display:block;margin:0;padding:0;}
  .hd-gallery-thumb{display:none;}
  .hd-hero{height:290px;border-radius:0;}
  .hd-hero-title{font-size:1.75rem;letter-spacing:-.5px;}
  .hd-hero-subtitle{font-size:1rem;}
  .hd-hero-inner{padding:0 16px 24px;}
  .hd-back-search-inner{padding:0 12px;}
  .hd-gallery-btn{display:none !important;}
  .hd-m-strip{display:flex;gap:8px;padding:10px 12px 0;}
  .hd-section{padding:20px 16px;}
  .hd-info-table{grid-template-columns:1fr;}
  .hd-info-row:nth-child(odd){border-right:none;}
  .hd-eq-row{grid-template-columns:1fr;}
  .hd-gallery-prev,.hd-gallery-next{width:44px;height:44px;}
  .hd-gallery-image-wrapper{padding:70px 16px 90px;}
}
