/* ZAN 152 — Marine page aligned with XPEL reference and approved product-lineup logic. */
.xpel-import.zan-marine-page{overflow-x:clip;background:#fff;color:#151515;}
.xpel-import.zan-marine-page .buy-grid-section{margin-top:0;}
.xpel-import.zan-marine-page .product-image-gallery .product-image,
.xpel-import.zan-marine-page .product-image-gallery .product-image img{display:block;width:100%;height:100%;}
.xpel-import.zan-marine-page .product-image-gallery .product-image img{object-fit:cover;object-position:center;}
.xpel-import.zan-marine-page .product-image-gallery .slider-item{background:#050505;}
.xpel-import.zan-marine-page .product-thumbnail img{width:100%;height:100%;object-fit:cover;}
.xpel-import.zan-marine-page[dir="rtl"] .blurb,
.xpel-import.zan-marine-page[dir="rtl"] .vision-lineup-copy{text-align:right;}

/* Product lineup: same visual logic as approved VISION building products, XPEL uses gray. */
.xpel-import.zan-marine-page .marine-lineup,
.xpel-import.zan-marine-page .marine-lineup .theme,
.xpel-import.zan-marine-page .marine-lineup .component-inner{background:#f3f3f3!important;color:#111!important;}
.xpel-import.zan-marine-page .marine-lineup .vision-lineup-media img[src*="marine-color-reference"],
.xpel-import.zan-marine-page .marine-lineup .vision-lineup-media img[src*="marine-stealth-reference"]{object-position:center;}

/* Color picker. */
.xpel-import.zan-marine-page .marine-color-picker,
.xpel-import.zan-marine-page .marine-color-picker .theme,
.xpel-import.zan-marine-page .marine-color-picker .component-inner{background:#fff;color:#111;}
.xpel-import.zan-marine-page .marine-color-grid{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.35fr);gap:5rem;align-items:center;}
.xpel-import.zan-marine-page[dir="rtl"] .marine-color-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.82fr);}
.xpel-import.zan-marine-page[dir="rtl"] .marine-color-copy{grid-column:2;grid-row:1;text-align:right;}
.xpel-import.zan-marine-page[dir="rtl"] .marine-color-visual{grid-column:1;grid-row:1;}
.xpel-import.zan-marine-page .marine-color-copy .heading-2{font-size:clamp(34px,3.4vw,54px);line-height:1.08;margin:0 0 1.25rem;font-weight:950;}
.xpel-import.zan-marine-page .marine-color-copy .paragraph-lg p{font-size:clamp(16px,1.08vw,19px);line-height:1.75;margin:0;}
.xpel-import.zan-marine-page .marine-color-selected{display:flex;align-items:baseline;gap:.75rem;margin:2rem 0 1.1rem;font-size:.92rem;color:#666;}
.xpel-import.zan-marine-page[dir="rtl"] .marine-color-selected{justify-content:flex-start;}
.xpel-import.zan-marine-page .marine-color-selected strong{font-size:1.08rem;color:#111;}
.xpel-import.zan-marine-page .marine-color-swatches{display:flex;flex-wrap:wrap;gap:.72rem;max-width:560px;}
.xpel-import.zan-marine-page .marine-color-swatch{appearance:none;width:34px;height:34px;flex:0 0 34px;border-radius:50%;border:2px solid #fff;background:var(--swatch);box-shadow:0 0 0 1px rgba(0,0,0,.22);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;}
.xpel-import.zan-marine-page .marine-color-swatch:hover{transform:scale(1.08);}
.xpel-import.zan-marine-page .marine-color-swatch.selected{box-shadow:0 0 0 3px #111;transform:scale(1.06);}
.xpel-import.zan-marine-page .marine-color-visual{min-height:470px;border-radius:14px;background:#101010;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:3rem;}
.xpel-import.zan-marine-page .marine-color-visual img{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;transition:filter .35s ease,transform .35s ease;filter:var(--marine-boat-filter,none);}

/* Reference collage section. */
.xpel-import.zan-marine-page .marine-coverage .media-with-text-wrapper{align-items:center;}
.xpel-import.zan-marine-page .marine-collage{position:relative;min-height:570px;}
.xpel-import.zan-marine-page .marine-collage-main{position:absolute;inset:0 13% 12% 0;border-radius:14px;overflow:hidden;}
.xpel-import.zan-marine-page[dir="rtl"] .marine-collage-main{inset:0 0 12% 13%;}
.xpel-import.zan-marine-page .marine-collage-secondary{position:absolute;width:45%;height:42%;right:0;bottom:0;border:8px solid #191919;border-radius:12px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.35);}
.xpel-import.zan-marine-page[dir="rtl"] .marine-collage-secondary{right:auto;left:0;}
.xpel-import.zan-marine-page .marine-collage img{display:block;width:100%;height:100%;object-fit:cover;}

/* Video sections. */
.xpel-import.zan-marine-page .marine-coating .media-wrapper,
.xpel-import.zan-marine-page .marine-video-card .video-embed{overflow:hidden;border-radius:14px;background:#090909;}
.xpel-import.zan-marine-page .marine-videos,
.xpel-import.zan-marine-page .marine-videos .theme,
.xpel-import.zan-marine-page .marine-videos .component-inner{background:#fff;color:#111;}
.xpel-import.zan-marine-page .marine-videos .component-header-heading{color:#111;margin-bottom:2rem;}
.xpel-import.zan-marine-page .marine-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;}
.xpel-import.zan-marine-page .marine-video-card{min-width:0;}
.xpel-import.zan-marine-page .marine-video-card .video-embed{position:relative;aspect-ratio:16/9;}
.xpel-import.zan-marine-page .marine-video-card video{display:block;width:100%;height:100%;object-fit:cover;background:#090909;}
.xpel-import.zan-marine-page .marine-video-card .heading-4{color:#111;margin:1rem 0 0;font-size:clamp(20px,1.6vw,28px);}

/* FAQ exactly isolated on white. */
.xpel-import.zan-marine-page .marine-faq,
.xpel-import.zan-marine-page .marine-faq .theme,
.xpel-import.zan-marine-page .marine-faq .component-inner{background:#fff!important;color:#111!important;}
.xpel-import.zan-marine-page .marine-faq .component-header-heading{color:#111!important;margin-bottom:1.5rem;}
.xpel-import.zan-marine-page .marine-faq .accordion-list{margin:0;padding:0;}
.xpel-import.zan-marine-page .marine-faq .accordion-item{border-bottom:1px solid #d7d7d7;}
.xpel-import.zan-marine-page .marine-faq .accordion-header,
.xpel-import.zan-marine-page .marine-faq .accordion-header-text{color:#111!important;}
.xpel-import.zan-marine-page .marine-faq .accordion-content p{color:#333!important;line-height:1.8;}

@media (min-width:1050px){
  .xpel-import.zan-marine-page .product-buy-grid{min-height:calc(100vh - var(--header-height,96px));}
  .xpel-import.zan-marine-page .product-images,
  .xpel-import.zan-marine-page .product-images .slider-item{height:100%;min-height:640px;}
}

@media (max-width:1049px){
  .xpel-import.zan-marine-page .marine-color-grid,
  .xpel-import.zan-marine-page[dir="rtl"] .marine-color-grid{display:flex;flex-direction:column;gap:2.25rem;align-items:stretch;}
  .xpel-import.zan-marine-page[dir="rtl"] .marine-color-copy,
  .xpel-import.zan-marine-page[dir="rtl"] .marine-color-visual{grid-column:auto;grid-row:auto;}
  .xpel-import.zan-marine-page .marine-color-copy{order:1;}
  .xpel-import.zan-marine-page .marine-color-visual{order:2;min-height:350px;padding:2rem;}
  .xpel-import.zan-marine-page .marine-collage{min-height:470px;}
}

@media (max-width:799px){
  .xpel-import.zan-marine-page{overflow-x:hidden;}
  .xpel-import.zan-marine-page .product-title-wrapper{padding-inline:1.25rem;}
  .xpel-import.zan-marine-page .product-title{font-size:clamp(2rem,9vw,3rem);line-height:1.08;}
  .xpel-import.zan-marine-page .product-image-gallery{touch-action:pan-y;}
  .xpel-import.zan-marine-page .product-images,
  .xpel-import.zan-marine-page .product-images .slider-item{min-height:0;height:auto;aspect-ratio:4/3;}
  .xpel-import.zan-marine-page .slider-thumbs{display:none!important;}
  .xpel-import.zan-marine-page .slider-dots{display:flex!important;}
  .xpel-import.zan-marine-page .product-details{padding:1.75rem 1.25rem 2.25rem;}
  .xpel-import.zan-marine-page .product-details .title{font-size:1.7rem;line-height:1.18;}
  .xpel-import.zan-marine-page .product-details .content{font-size:1rem;line-height:1.8;}

  /* Marine gets the same approved horizontal mobile tabs as building products. */
  .xpel-import.zan-marine-page .marine-lineup .component-inner{padding-block:52px 60px!important;}
  .xpel-import.zan-marine-page .marine-lineup .container-xl{padding-inline:22px!important;}
  .xpel-import.zan-marine-page .marine-lineup .vision-lineup-heading{margin:0 0 22px!important;font-size:clamp(27px,8.3vw,34px)!important;line-height:1.2!important;font-weight:850!important;}
  .xpel-import.zan-marine-page .marine-lineup .vision-lineup-tabs{display:flex!important;flex-wrap:nowrap!important;width:calc(100% + 44px)!important;max-width:none!important;margin:0 -22px 30px!important;padding:0 22px!important;gap:24px!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x proximity!important;scroll-padding-inline:22px!important;touch-action:pan-x pan-y pinch-zoom!important;scrollbar-width:none!important;}
  .xpel-import.zan-marine-page .marine-lineup .vision-lineup-tab{flex:0 0 auto!important;min-width:max-content!important;padding:0 0 14px!important;font-size:13px!important;white-space:nowrap!important;scroll-snap-align:start!important;}
  .xpel-import.zan-marine-page .marine-lineup .vision-lineup-panel[hidden],
  .xpel-import.zan-marine-page .marine-lineup .vision-lineup-panel[aria-hidden="true"]{display:none!important;}
  .xpel-import.zan-marine-page .marine-lineup .vision-lineup-panel.selected:not([hidden]),
  .xpel-import.zan-marine-page .marine-lineup .vision-lineup-panel[aria-hidden="false"]:not([hidden]){display:flex!important;flex-direction:column!important;gap:28px!important;}

  .xpel-import.zan-marine-page .marine-color-copy .heading-2{font-size:clamp(29px,8.5vw,38px);}
  .xpel-import.zan-marine-page .marine-color-swatches{gap:.62rem;}
  .xpel-import.zan-marine-page .marine-color-swatch{width:31px;height:31px;flex-basis:31px;}
  .xpel-import.zan-marine-page .marine-color-visual{min-height:250px;padding:1rem;border-radius:10px;}
  .xpel-import.zan-marine-page .marine-collage{min-height:360px;}
  .xpel-import.zan-marine-page .marine-collage-main{inset:0 8% 14% 0;}
  .xpel-import.zan-marine-page[dir="rtl"] .marine-collage-main{inset:0 0 14% 8%;}
  .xpel-import.zan-marine-page .marine-collage-secondary{width:47%;height:40%;border-width:5px;}
  .xpel-import.zan-marine-page .marine-video-grid{grid-template-columns:1fr;gap:2.25rem;}
  .xpel-import.zan-marine-page .media-with-text-wrapper{gap:1.75rem;}
  .xpel-import.zan-marine-page .media-with-text .heading-2{font-size:2rem;line-height:1.18;}
  .xpel-import.zan-marine-page .marine-faq .component-header-heading{font-size:2rem;}
}
