/** Shopify CDN: Minification failed

Line 268:8 Unexpected "{"
Line 268:17 Expected ":"
Line 268:24 Unexpected "{"

**/
/* =============================================================
   TWC Homepage Enhancements — typography, motion, polish
   ============================================================= */

/* ── Scroll reveal system ── */
.twc-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1),
              transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.twc-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.twc-reveal--delay-1 { transition-delay: 0.1s; }
.twc-reveal--delay-2 { transition-delay: 0.2s; }
.twc-reveal--delay-3 { transition-delay: 0.32s; }
.twc-reveal--delay-4 { transition-delay: 0.46s; }
.twc-reveal--delay-5 { transition-delay: 0.6s; }
.twc-reveal--delay-6 { transition-delay: 0.74s; }
.twc-reveal--delay-7 { transition-delay: 0.88s; }
.twc-reveal--delay-8 { transition-delay: 1.02s; }

/* ── Global section typography baseline ── */
.section {
  --section-eyebrow-size: 0.9rem;
  --section-eyebrow-spacing: 0.28em;
  --section-heading-weight: 300;
}

/* ── Best Sellers: remove card frame + typography ── */
.best-sellers__card-image-wrap {
  background: transparent !important;
}

.best-sellers__heading {
  font-size: 0.9rem !important;
  letter-spacing: 0.3em !important;
  color: rgba(var(--color-foreground), 0.45) !important;
  margin-bottom: 2.4rem !important;
}

.best-sellers__toggle-wrapper {
  margin-bottom: 4rem !important;
}

.best-sellers__toggle {
  gap: 3.2rem !important;
}

.best-sellers__toggle-btn {
  font-size: clamp(1.6rem, 2vw, 2.4rem) !important;
  letter-spacing: 0.22em !important;
  font-weight: 300 !important;
}

.best-sellers__card-info {
  padding: 1.2rem 0 0 !important;
}

.best-sellers__card-brand {
  font-size: 0.85rem !important;
  letter-spacing: 0.16em !important;
  margin-bottom: 0.2rem !important;
}

.best-sellers__card-model {
  font-size: 1.05rem !important;
  line-height: 1.35 !important;
  margin-bottom: 0.5rem !important;
}

.best-sellers__card-price {
  font-size: 0.95rem !important;
  letter-spacing: 0.06em !important;
  color: rgba(var(--color-foreground), 0.6) !important;
}

.best-sellers__grid {
  gap: 2rem !important;
  /* horizontal scroll: never wrap */
  flex-wrap: nowrap !important;
}

/* ── Service Restoration: toggle + section typography ── */
.service-restoration__eyebrow {
  font-size: 0.9rem !important;
  letter-spacing: 0.3em !important;
}

.service-restoration__heading {
  font-size: clamp(2rem, 3.2vw, 4rem) !important;
  font-weight: 300 !important;
  margin-bottom: 3rem !important;
}

.service-restoration__toggle {
  gap: 3.2rem !important;
}

.service-restoration__toggle-btn {
  font-size: clamp(1.6rem, 2vw, 2.4rem) !important;
  letter-spacing: 0.22em !important;
  font-weight: 300 !important;
}

.service-restoration__caption {
  font-size: 1.1rem !important;
  letter-spacing: 0.06em !important;
  margin-top: 2rem !important;
  color: rgba(var(--color-foreground), 0.5) !important;
}

/* ── Craftsmanship video: font polish ── */
.craftsmanship-video__eyebrow {
  font-size: 0.9rem !important;
  letter-spacing: 0.3em !important;
}

.craftsmanship-video__heading {
  font-size: clamp(2.8rem, 4.5vw, 6rem) !important;
  font-weight: 300 !important;
}

/* ── Banner 2 / Sell Your Watch: eyebrow fix ── */
.banner__box .banner__text.subtitle {
  font-size: 0.9rem !important;
  letter-spacing: 0.32em !important;
  font-weight: 400 !important;
  opacity: 0.7 !important;
}

/* ── Nav / Header polish ── */
.header__menu-item {
  font-size: 1.3rem !important;
  letter-spacing: 0.08em !important;
  font-weight: 400 !important;
}

/* ── Product card (PLP) cleanup ── */
.card__inner {
  background: transparent !important;
}

.card-information .card__heading,
.card-information .card__heading a {
  font-size: 1.1rem !important;
  letter-spacing: 0.04em !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

.card-information .price {
  font-size: 0.95rem !important;
  letter-spacing: 0.06em !important;
  color: rgba(var(--color-foreground), 0.6) !important;
}

/* ── Quick-add overlay refinement ── */
.card__quick-overlay-btn {
  width: 3.8rem !important;
  height: 3.8rem !important;
}

/* ── Footer newsletter heading ── */
.footer-block__newsletter .title,
.footer__newsletter .h4,
footer .h4 {
  font-size: 1rem !important;
  letter-spacing: 0.2em !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

/* ── Page-level smooth scroll ── */
html {
  scroll-behavior: smooth;
}

/* ── Smooth image load fade ── */
img {
  transition: opacity 0.3s ease;
}

/* ── Section separator: thin rule between sections ── */
.best-sellers,
.service-restoration {
  border-top: 1px solid rgba(var(--color-foreground), 0.06);
}

/* ── Remove "Talk about your brand" rich-text section if it renders plainly ── */
.rich-text .rich-text__wrapper--center {
  max-width: 72rem;
}

.rich-text__heading {
  font-size: clamp(1.8rem, 2.5vw, 3.2rem) !important;
  font-weight: 300 !important;
  letter-spacing: 0.03em !important;
}

/* ════════════════════════════════════════════════════
   PDP — Refined layout, ratios & alignment
   ════════════════════════════════════════════════════ */

@media screen and (min-width: 990px) {
  /* ── Column ratio: 52 / 48 — more balanced for info panel ── */
  .product--large:not(.product--no-media) .product__media-wrapper {
    max-width: 52% !important;
    width: calc(52% - var(--grid-desktop-horizontal-spacing) / 2) !important;
  }

  .product--large:not(.product--no-media) .product__info-wrapper {
    max-width: 48% !important;
    width: calc(48% - var(--grid-desktop-horizontal-spacing) / 2) !important;
    padding: 0 0 0 5rem !important;
  }

  /* ── Info panel sticky clears the fixed header ── */
  .product__column-sticky {
    top: calc(var(--header-height, 80px) + 2.4rem) !important;
  }
}

/* ── Info container: tighter vertical rhythm ── */
.product__info-container > * + * {
  margin: 0.8rem 0 !important;
}

.product__tax {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

.product__info-container .product-form {
  margin: 1.2rem 0 !important;
}

.product__info-container .product__description {
  margin: 1rem 0 !important;
  font-size: 1.2rem !important;
  line-height: 1.6 !important;
  color: rgba(var(--color-foreground), 0.65) !important;
}

/* ── Vendor: small tracked uppercase ── */
.product__text.caption-with-letter-spacing {
  font-size: 0.8rem !important;
  letter-spacing: 0.24em !important;
  color: rgba(var(--color-foreground), 0.4) !important;
  margin-bottom: 0.4rem !important;
}

/* ── Price: keep compact ── */
#price-{{ section.id }} {
  margin: 0.4rem 0 !important;
}

/* ── Divider line between price and buttons ── */
.product-form {
  padding-top: 1rem !important;
  border-top: 1px solid rgba(var(--color-foreground), 0.07) !important;
}

/* ── Left vertical thumbnail gallery ── */
@media screen and (min-width: 750px) {
  /* Media gallery = flex row: [thumbnails | main image] */
  media-gallery {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 1rem !important;
  }

  /* Thumbnail slider → left column, fixed width */
  .thumbnail-slider {
    order: -1 !important;
    flex: 0 0 80px !important;
    width: 80px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  /* Thumbnail list → full vertical column, no clipping */
  .thumbnail-list {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: unset !important;
    gap: 0.6rem !important;
    overflow: visible !important;
    max-height: none !important;
    width: 100% !important;
  }

  .thumbnail-list__item {
    width: 100% !important;
    flex-shrink: 0 !important;
  }

  .thumbnail-list__item .media {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
  }

  /* Main slider fills remaining space */
  media-gallery > slider-component:not(.thumbnail-slider) {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  /* Hide ONLY the prev/next nav arrows in the thumbnail strip, not the thumbnail items */
  .thumbnail-slider .slider-button--prev,
  .thumbnail-slider .slider-button--next {
    display: none !important;
  }

  /* ── PDP main gallery: overlaid prev/next circle arrows ── */

  /* ── Main image: fixed 482×663 portrait frame ── */
  .product--thumbnail_slider .product__media-item .product-media-container,
  .product--thumbnail .product__media-item .product-media-container {
    width: 100% !important;
    background: #faf8f4 !important;
    /* Force the padding-trick to our exact ratio */
    --ratio-percent: calc(663.01 / 482.73 * 100%) !important;
  }

  /* Neutralise constrain-height overrides so our ratio wins */
  .product--thumbnail_slider .product__media-item .product-media-container.constrain-height,
  .product--thumbnail .product__media-item .product-media-container.constrain-height {
    --constrained-height: calc(663.01 / 482.73 * 100%) !important;
  }

  /* Image: contain + centre within the frame */
  .product--thumbnail_slider .product__media-item .product-media-container img,
  .product--thumbnail .product__media-item .product-media-container img {
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* Gallery slider-component: normal flow */
  .product__media-wrapper media-gallery > slider-component {
    position: relative !important;
    display: block !important;
  }

  /* Arrows moved to media-gallery level via JS — see theme.liquid */
  media-gallery > .twc-gallery-arrows {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    right: 0 !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    pointer-events: none !important;
    z-index: 5 !important;
    /* offset left arrow past the 80px thumbnail strip + 1rem gap */
    padding-left: calc(80px + 1rem + 0.8rem) !important;
    padding-right: 0.8rem !important;
  }

  /* Keep original slider-buttons hidden — arrows handled by .twc-gallery-arrows */
  .product__media-wrapper media-gallery > slider-component .slider-buttons {
    display: none !important;
  }

  /* Hide the counter in the middle */
  .product__media-wrapper .slider-counter {
    display: none !important;
  }

  /* Arrow buttons in .twc-gallery-arrows overlay */
  .twc-gallery-arrows .slider-button--prev,
  .twc-gallery-arrows .slider-button--next {
    pointer-events: auto !important;
    width: 3.6rem !important;
    height: 3.6rem !important;
    background: rgba(250, 248, 244, 0.92) !important;
    border: 1px solid rgba(175, 182, 215, 0.5) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    box-shadow: none !important;
    transition: border-color 0.22s ease, background 0.22s ease !important;
  }

  .twc-gallery-arrows .slider-button--prev:hover,
  .twc-gallery-arrows .slider-button--next:hover {
    border-color: rgba(0, 35, 102, 0.35) !important;
    background: #faf8f4 !important;
  }

  .twc-gallery-arrows .slider-button .svg-wrapper svg {
    width: 1.1rem !important;
    height: 1.1rem !important;
    color: #002366 !important;
    display: block !important;
  }
}

/* ── Suppress Plum popup app — all variants ── */
[class*="plum-popup"],
[id*="plum-popup"],
[class*="plum-gamif"],
[id*="plum-gamif"],
.k-popup-inner-wrap,
iframe[src*="plum"],
iframe[src*="gamif"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ── Product description: strip inline padding, left-align table ── */
.product__description,
.product__description div,
.product__description p {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.product__description table {
  margin-left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

.product__description table td:first-child,
.product__description table th:first-child {
  width: 55% !important;
}

.product__description table td:last-child,
.product__description table th:last-child {
  width: 45% !important;
}

/* ── Product info: consistent left alignment ── */
.product__info-container,
.product__info-container > *,
.product__info-container .price,
.product__info-container .product__tax,
.product__info-container .product__text,
.product__info-container .product-form__buttons,
.product__info-container .product__description {
  text-align: left !important;
}

.product__info-container .price {
  justify-content: flex-start !important;
}

/* ── Product page: compact title + info for single-view ── */
.product__title h1,
.product__title h2.h1 {
  font-size: clamp(1.4rem, 2vw, 2rem) !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 0.6rem !important;
}

.product__info-container {
  padding-top: 0 !important;
}

.product__info-container > * + * {
  margin-top: 0.6rem !important;
}

.price--large {
  font-size: 1.4rem !important;
}

/* ── Product page: inline buy buttons — equal width, top aligned ── */
.product-form__buttons {
  display: flex !important;
  flex-direction: row !important;
  gap: 0.8rem !important;
  align-items: flex-start !important;
}

.product-form__buttons .product-form__submit {
  flex: 1 1 0 !important;
  width: 0 !important;          /* force equal flex basis */
  min-height: 4rem !important;
  height: 4rem !important;
  padding: 0 1.2rem !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.08em !important;
}

.product-form__buttons .shopify-payment-button {
  flex: 1 1 0 !important;
  width: 0 !important;
}

.product-form__buttons .shopify-payment-button__button,
.product-form__buttons .shopify-payment-button__button--unbranded {
  min-height: 4rem !important;
  height: 4rem !important;
  width: 100% !important;
  font-size: 1.1rem !important;
  padding: 0 1.2rem !important;
}

/* ── Product page: hide variant picker + share button ── */
.product-form__input--pill,
.product-form__input--dropdown,
.product__accordion--share,
.share-button {
  display: none !important;
}

/* ── Product accordion: match screenshot style ── */
.product__accordion .accordion__title {
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  color: rgb(var(--color-foreground)) !important;
}

.product__accordion details > summary {
  padding: 1.8rem 0 !important;
  border-top: 1px solid rgba(var(--color-foreground), 0.08) !important;
  list-style: none !important;
}

.product__accordion details:last-of-type {
  border-bottom: 1px solid rgba(var(--color-foreground), 0.08) !important;
}

.product__accordion .accordion__content {
  padding: 0 0 1.6rem !important;
  font-size: 1.3rem !important;
  line-height: 1.6 !important;
  color: rgba(var(--color-foreground), 0.7) !important;
}

.product__accordion .summary__title {
  display: flex !important;
  align-items: center !important;
  gap: 1.2rem !important;
}

.product__accordion .summary__title .icon {
  width: 2rem !important;
  height: 2rem !important;
  color: rgba(var(--color-foreground), 0.55) !important;
  flex-shrink: 0 !important;
}
