/** Shopify CDN: Minification failed

Line 340:0 All "@import" rules must come first

**/
/* Coastal Standard Custom Overrides v12 */

/* ====== MOBILE PRODUCT PAGE ====== */
@media (max-width: 767.98px) {

  /* 5px top gap between header and carousel */
  .shopify-section .f-section.f-section--flush,
  .f-section.f-section--flush,
  div[id^="shopify-section-"] .f-product-single,
  .f-product-single.f-section,
  .f-product-single {
    margin-top: 5px !important;
    padding-top: 0 !important;
  }
  #MainContent > div:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  .f-product-single > .container { padding-top: 0 !important; }
  .f-breadcrumb { padding: 0 !important; margin: 0 !important; }

  /* Remove bottom padding for arrows */
  .f-product__media-viewer--thumbs-hide:not(.f-product__media-only--image) [data-media-viewer] {
    padding-bottom: 0 !important;
  }

  /* Tighter aspect ratio */
  .f-product__media-viewer [data-media-viewer]:before {
    padding-top: calc(80% / (0 + var(--media-aspect-ratio, 1))) !important;
  }

  /* Reduce side peek */
  .f-product__media-viewer [data-media-viewer] {
    margin-left: -0.4rem !important;
    margin-right: -0.4rem !important;
  }
  .f-product__media {
    width: 100% !important;
    padding: 0 0.2rem !important;
  }

  /* Arrows on image */
  .f-product__media-viewer .flickity-wrapper .flickity-button {
    position: absolute !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    opacity: 0.7 !important;
    background: rgba(255,255,255,0.85) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15) !important;
  }
  .f-product__media-viewer .flickity-wrapper .flickity-button:hover { opacity: 1 !important; }
  .f-product__media-viewer .flickity-wrapper .flickity-button.previous { left: 10px !important; right: auto !important; }
  .f-product__media-viewer .flickity-wrapper .flickity-button.next { right: 10px !important; left: auto !important; }

  /* Hide page counter */
  .f-product__media-viewer .flickity-wrapper .flickity-page-counter { display: none !important; }

  /* Zero gap below image */
  .f-product__media-wrapper,
  .f-product__media-viewer,
  .f-product__media-viewer .flickity-wrapper,
  .f-product__media-viewer .flickity-viewport,
  motion-element.f-product__media-wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Flex container gap */
  .f-single-product--information {
    --row-gap-mobile: 0 !important;
    gap: 0 !important;
    row-gap: 0 !important;
  }
  .f-single-product--information > * { margin-top: 0 !important; }

  /* Pull product info up */
  .f-product-single__info,
  motion-element.f-product-single__info {
    padding-top: 0.5rem !important;
    margin-top: -8px !important;
  }

  /* Remove image border-radius */
  .f-product__media .f-image,
  .f-product__media img { border-radius: 0 !important; }
}

/* ====== MSRP / COMPARE-AT PRICE — lighter & smaller ====== */
.f-product-single__block--price .price__compare,
.f-product-single__block--price .price--compare,
.f-product-single__block--price s,
.f-product-single__block--price del,
.price__compare,
.price--compare,
.product-price del,
.product-price s,
.f-price .price__compare {
  color: #555555 !important;
  font-size: 0.82em !important;
  font-weight: 400 !important;
}

/* ====== #2 WHITE SWATCH — stronger outline ====== */
.variant-picker__option-button--color[style*="255, 255, 255"],
.variant-picker__option-button--color[style*="ffffff"],
.variant-picker__option-button--color[style*="FFFFFF"],
.variant-picker__option-button--color[style*="rgb(255"] {
  border: 2px solid #999 !important;
}
/* All color swatches get a subtle border */
.variant-picker__option-button--color {
  border: 1.5px solid #ccc !important;
}

/* ====== #3 ATC BUTTON — COASTAL BLUE via CSS variables ====== */
.f-product-single__block--buy_buttons,
.f-product-form__buttons,
.main-product-form {
  --color-btn-bg: #256baf !important;
  --color-btn-text: #ffffff !important;
  --color-btn-bg-hover: #1e5a94 !important;
  --color-btn-text-hover: #ffffff !important;
  --color-btn-before: #1e5a94 !important;
}
/* Direct override as backup */
#ProductSubmitButton-template--17396416282689__main,
.f-product-form__submit.btn.btn--primary,
.f-product-form__submit,
button[name="add"].btn--primary {
  background-color: #256baf !important;
  color: #ffffff !important;
}
.f-product-form__submit:hover,
button[name="add"].btn--primary:hover {
  background-color: #1e5a94 !important;
  color: #ffffff !important;
}

/* ====== #4 QUANTITY — label + selector on same line ====== */
.f-quantity__wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 1rem !important;
}
.f-quantity__wrapper .quantity__label {
  margin-bottom: 0 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.f-quantity__wrapper > .flex {
  flex-shrink: 0 !important;
}
.f-quantity__wrapper .quantity__rules {
  display: none !important;
}

/* ====== QUANTITY LABEL — add colon/semicolon ====== */
.f-quantity__wrapper .quantity__label > span:first-child::after {
  content: ":";
}

/* ====== HIDE ZOOM ICON on product images ====== */
.f-product__media-zoom,
.f-product__media-icon.f-product__media-zoom {
  display: none !important;
}

/* ====== KHAKI SWATCH FIX ====== */
.variant-picker__option-button--color[style*="240, 230, 140"],
.variant-picker__option-button--color[style*="f0e68c"] {
  --swatch-background: rgb(195, 176, 145) !important;
}

/* ====== JUDGE.ME REVIEW WIDGET OVERRIDES ====== */

/* Hide the circle name icons (initials) */
.jdgm-rev__icon {
  display: none !important;
}

/* Each review: flex column for reordering */
.jdgm-rev {
  display: flex !important;
  flex-direction: column !important;
  padding: 16px 0 !important;
}

/* Header (contains stars + author) stays on top but we split it visually */
.jdgm-rev__header {
  display: contents !important;
}

/* Stars: order 1 (top) */
.jdgm-rev__rating {
  order: 1 !important;
  display: inline-flex !important;
  gap: 1px;
  margin-bottom: 8px;
}

/* Content (title + body): order 2 (middle) */
.jdgm-rev__content {
  order: 2 !important;
}

/* Author wrapper: order 3 (bottom, under the review) */
.jdgm-rev__author-wrapper {
  order: 3 !important;
  display: block !important;
  margin-top: 10px;
  font-size: 13px;
  color: #888;
}

/* Hide the line break div */
.jdgm-rev__br {
  display: none !important;
}

/* Timestamp next to author name */
.jdgm-rev__timestamp {
  order: 3 !important;
  font-size: 12px;
  color: #aaa;
  margin-top: 2px;
}

/* Buyer badge hidden if empty */
.jdgm-rev__buyer-badge-wrapper:empty {
  display: none !important;
}
.jdgm-rev__buyer-badge-wrapper {
  order: 3 !important;
}

/* Actions at bottom */
.jdgm-rev__actions {
  order: 4 !important;
}
.jdgm-rev__reply {
  order: 5 !important;
}

/* Stars in each review */
.jdgm-rev__rating .jdgm-star {
  display: inline-block;
  width: 14px;
  height: 14px;
}
.jdgm-rev__rating .jdgm-star.jdgm--on::before {
  content: '★';
  font-size: 14px;
  color: #daa520;
  line-height: 1;
}
.jdgm-rev__rating .jdgm-star.jdgm--off::before {
  content: '★';
  font-size: 14px;
  color: #d4d4d4;
  line-height: 1;
}

/* Review title */
.jdgm-rev__title {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 4px;
}

/* Review body */
.jdgm-rev__body {
  font-size: 14px;
  line-height: 1.5;
  color: #444;
}

/* Author name */
.jdgm-rev__author {
  font-weight: 500;
  color: #666;
}

/* Summary section stars */
.jdgm-rev-widg__summary-stars .jdgm-star {
  display: inline-block;
  width: 18px;
  height: 18px;
}
.jdgm-rev-widg__summary-stars .jdgm-star.jdgm--on::before {
  content: '★';
  font-size: 18px;
  color: #daa520;
  line-height: 1;
}

/* Histogram stars */
.jdgm-histogram__star .jdgm-star {
  display: inline-block;
  width: 12px;
  height: 12px;
}
.jdgm-histogram__star .jdgm-star.jdgm--on::before {
  content: '★';
  font-size: 12px;
  color: #daa520;
  line-height: 1;
}
.jdgm-histogram__star .jdgm-star.jdgm--off::before {
  content: '★';
  font-size: 12px;
  color: #d4d4d4;
  line-height: 1;
}

/* ====== INSTANT SWIPE / SNAPPY CAROUSEL ====== */
.f-product__media-list .flickity-slider {
  transition-duration: 0s !important;
}
.f-product__media-list .flickity-viewport {
  transition-duration: 0s !important;
}
.f-product__media-list .is-animating .flickity-slider {
  transition-duration: 0.15s !important;
}

/* ====== ANIMATED WAVE LOGO ====== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600&display=swap');

@media (max-width: 749px) {
  .cs-animated-logo-wrap {
    max-width: 60vw !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }
  .cs-logo-text {
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
    white-space: nowrap !important;
  }
  .cs-wave-svg-wrap {
    width: 14px !important;
    min-width: 14px !important;
    flex: 0 0 14px !important;
  }
  }

/* Fix logo clipping on mobile — ensure animated logo isn't cropped */

/* Reduce gap above Most Loved section */
.editorial-products {
  padding-top: 20px !important;
}

/* === Variant Image Filter === */
.f-product__media.cs-variant-hidden {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* === MOBILE TABLE OVERFLOW FIX ===
   Product specs/dimensions tables were clipping on mobile.
   Force tables to fit within viewport with word-wrap.
*/
@media (max-width: 767.98px) {
  .f-product-single table,
  .f-product__description table,
  .rte table,
  [class*="product"] table {
    width: 100% !important;
    table-layout: fixed !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  .f-product-single td,
  .f-product__description td,
  .rte td,
  [class*="product"] td {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    max-width: 0 !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
  }

  .f-product-single td:first-child,
  .f-product__description td:first-child,
  .rte td:first-child,
  [class*="product"] td:first-child {
    width: 40% !important;
    font-weight: 600 !important;
  }

  .f-product-single td:last-child,
  .f-product__description td:last-child,
  .rte td:last-child,
  [class*="product"] td:last-child {
    width: 60% !important;
  }
}

/* === HERO TEXT SHADOW ===
   Add subtle shadow to hero text for readability over light backgrounds.
*/
.editorial-hero__heading {
  text-shadow: 0 1px 3px rgba(0,0,0,0.5), 0 2px 12px rgba(0,0,0,0.3) !important;
}

.editorial-hero__subheading {
  text-shadow: 0 1px 2px rgba(0,0,0,0.4), 0 1px 8px rgba(0,0,0,0.2) !important;
}

.editorial-hero__btn {
  text-shadow: 0 1px 2px rgba(0,0,0,0.3) !important;
}

/* ── About Us Page ── */
/* Hide default page title on about-us template */
.page-about-us .f__page-title,
body.template-page-about-us .f__page-title {
  display: none !important;
}
/* Remove container padding and theme margin so content sits right below header */
.page-about-us .f-section,
body.template-page-about-us .f-section {
  padding: 0 !important;
  margin-top: 0 !important;
}
.page-about-us .rte,
body.template-page-about-us .rte {
  max-width: 100% !important;
  padding: 0 !important;
}

/* ── 404 Page ── */
.template-404 .cs-404 {
  margin-top: 0 !important;
}
.template-404 #MainContent > .f-section:first-child {
  margin-top: 0 !important;
}

/* ── Shipping Policy Page ── */
/* Hide page title when cs-shipping content is present */
.cs-shipping ~ .f__page-title,
.f__page-title:has(~ .cs-shipping),
body:has(.cs-shipping) .f__page-title,
body:has(.cs-returns) .f__page-title,
body:has(.cs-faq) .f__page-title {
  display: none !important;
}
body:has(.cs-shipping) #MainContent > .f-section,
body:has(.cs-shipping) .f-section,
body:has(.cs-returns) #MainContent > .f-section,
body:has(.cs-returns) .f-section,
body:has(.cs-faq) #MainContent > .f-section,
body:has(.cs-faq) .f-section {
  padding: 0 !important;
  margin-top: 0 !important;
}
body:has(.cs-shipping) .rte,
body:has(.cs-returns) .rte,
body:has(.cs-faq) .rte {
  max-width: 100% !important;
  padding: 0 !important;
}

/* Hide original theme footer, show custom */
.site-footer__top.color-scheme-5,
.site-footer__top.color-accent,
section.site-footer__block--newsletter:not(.cs-footer-wrap *),
.site-footer .site-footer__top { display: none !important; }
.cs-custom-footer-section { display: block !important; }

/* ====== Hide size option on PDPs ====== */
.f-product-single__info .variant-picker__fieldset[data-option-name="Size"],
.f-product-single__info .variant-picker__fieldset[data-option-name="size"],
.f-product-single__info .swatch-input__fieldset[data-option-name="Size"],
.f-product-single__info .swatch-input__fieldset[data-option-name="size"],
.f-product-single__info [data-option-name="Size"],
.f-product-single__info [data-option-name="size"],
.f-product-single__info [data-option-position-name="Size"],
.f-product-single__info [data-option-position-name="size"],
.f-product-single__info .product-option-size,
.f-product-single__info .variant-option-size,
.f-product-single__info .product-form__input:has(select[name*="Size" i]),
.f-product-single__info .product-form__input:has(input[name*="Size" i]),
.f-product-single__info .product-form__input--dropdown:has(select[name*="Size" i]),
.f-product-single__info fieldset:has(input[name*="Size" i]),
.f-product-single__info fieldset:has(label[for*="Size" i]),
.f-product-single__info .variant-picker__option:has(input[name*="Size" i]),
.f-product-single__info .variant-picker__option:has(label[for*="Size" i]),
.f-product-single__info .f-product-single__block:has([data-option-name="Size" i]),
.f-product-single__info .f-product-single__block:has(select[name*="Size" i]),
.f-product-single__info .f-product-single__block:has(input[name*="Size" i]),
.f-product-single__info .f-product-single__block:has(.product-option-size),
.f-product-single__info .f-product-single__block:has(.variant-option-size) {
  display: none !important;
}

.f-product-single__info .variant-picker__label:has(+ *[data-option-name="Size" i]),
.f-product-single__info .product-option-value--size,
.f-product-single__info .selected-size,
.f-product-single__info [data-selected-option="Size"],
.f-product-single__info [data-selected-option="size"],
.f-product-single__info [class*="size"]:has(> .variant-picker__label),
.f-product-single__info [class*="size-selector"],
.f-product-single__info [class*="size-picker"] {
  display: none !important;
}

/* Hide the exact second option block used for Size rows on PDPs */
.f-product-single__info > *:has(> * > .LabelText > .StaticText),
.f-product-single__info .f-product-single__block:has(.LabelText .StaticText),
.f-product-single__info .f-product-single__block:has([role="radio"][name*="mm" i]),
.f-product-single__info .f-product-single__block:has([role="radio"][name*="cm" i]),
.f-product-single__info .f-product-single__block:has([role="radio"][name*="inch" i]),
.f-product-single__info .f-product-single__block:has([role="radio"][name*="in." i]) {
  display: none !important;
}

/* Re-show non-size blocks after the broad match above */
.f-product-single__info .f-product-single__block:has(.LabelText .StaticText:not(:contains("Size:"))) {
  display: revert !important;
}

/* ====== FIX: Prevent thumbnail flash on load ====== */
.f-product__media-thumbnails-wrapper {
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
}
.f-product__media-thumbnails-wrapper.hidden {
  display: none !important;
}
/* On mobile, keep thumbnails visible and prevent flash */
@media (max-width: 767.98px) {
  .f-product__media-thumbnails-wrapper {
    display: block !important;
    opacity: 1 !important;
    min-height: 72px;
  }
  .f-product__media-thumbnails-wrapper.hidden {
    display: block !important;
  }
}

/* ====== Side thumbnails on desktop — left column vertical layout ====== */
/* Force Flickity to behave in vertical column mode when cs-side-thumbs is active */
@media (min-width: 768px) {
  /* The viewer is flex row-reverse: thumbs on left, main image on right */
  media-gallery.cs-side-thumbs .f-product__media-viewer {
    display: flex !important;
    flex-direction: row-reverse !important;
    gap: 8px !important;
  }
  /* Main image takes remaining space */
  media-gallery.cs-side-thumbs .f-product__media-viewer > div:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  /* Thumb wrapper is an 80px column on the left */
  media-gallery.cs-side-thumbs .f-product__media-thumbnails-wrapper {
    flex: 0 0 80px !important;
    width: 80px !important;
    max-height: calc(100vh - 120px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: thin;
    scrollbar-color: #e8e4df transparent;
  }
  /* Override Flickity viewport inline height */
  media-gallery.cs-side-thumbs .f-product__media-thumbnails-wrapper .flickity-viewport {
    height: auto !important;
    min-height: 100% !important;
    overflow: visible !important;
  }
  /* Override Flickity slider — vertical column, no absolute positioning */
  media-gallery.cs-side-thumbs .f-product__media-thumbnails-wrapper .flickity-slider {
    position: relative !important;
    left: 0 !important;
    transform: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
  }
  /* Each thumb item — 72x72, relative position (override Flickity absolute) */
  media-gallery.cs-side-thumbs .f-product__media-thumbnails-item {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    transform: none !important;
    width: 72px !important;
    height: 72px !important;
    min-height: 72px !important;
    flex: 0 0 72px !important;
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 4px;
    transition: border-color 0.2s;
  }
  media-gallery.cs-side-thumbs .f-product__media-thumbnails-item:hover,
  media-gallery.cs-side-thumbs .f-product__media-thumbnails-item.is-nav-selected {
    border-color: #1a3a4a;
  }
  media-gallery.cs-side-thumbs .f-product__media-thumbnails-item-wrap {
    width: 72px !important;
    height: 72px !important;
  }
  media-gallery.cs-side-thumbs .f-product__media-thumbnails-item img,
  media-gallery.cs-side-thumbs .f-product__media-thumbnails-item .f-image {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
  }
  /* Hide Flickity nav buttons in vertical mode */
  media-gallery.cs-side-thumbs .f-product__media-thumbnails-wrapper .flickity-button {
    display: none !important;
  }
  /* Hide page counter */
  media-gallery.cs-side-thumbs .f-product__media-thumbnails-wrapper .flickity-page-counter {
    display: none !important;
  }
}




/* swatch-fix-2026-06-13 */