:root{
    --tan-1:#fcf9f6;   /* main footer bg */
    --tan-2:#f8f3ec;   /* newsletter card bg (slightly lighter) */
    --brown:#4B3C2F;   /* headings/links accent */
       
    --nash-1:#f7f7f5;   /* main footer bg */
    --nash-2:#f2f0e9;   /* newsletter card bg (slightly lighter) */
    --nash-dark:#002a75; /* confirmed brand guidline */
    --nash-dark-hover:#17428a;
    --nash:#000;   /* headings/links accent */
    --accent-orange: #e3c9a5;

    /* Serif font — swap here to change across the whole site */
    --nash-serif: "Cormorant Garamond", serif; 
    /* --nash-serif: "Playfair Display", serif;*/
  }
  
  
      
.accent-line { width:3px; height:50px; background:var(--accent-orange); }
.accent-line-red { width:3px; height:50px; background:red; }
.accent-line-blue { width:3px; height:50px; background:var(--nash-dark); }

.tracking-1 { letter-spacing:.08em; } /* optional: small caps spacing */

.bg-tan   { background-color: var(--tan-1) !important; }
.bg-tan-2 { background-color: var(--tan-2) !important; }


.text-brown{ color: var(--brown) !important; }

.bg-nash   { background-color: var(--nash-1) !important; }
.bg-nash-2 { background-color: var(--nash-2) !important; }
.bg-nash-dark   { background-color: var(--nash-dark) !important; }

.bg-nash-footer   { background-color: #fbfaf7 !important; }

.text-nash{ color: var(--nash) !important; }

.btn-nash-blue {
    background-color: var(--nash-dark) !important;
    color: white;
    letter-spacing: .2em;
    font-size: 12px;
    padding: 12px 35px !important;
    border-radius: 0 !important;
    text-transform: uppercase;
}
.btn-nash-blue:hover {
    color:white;
    background-color: var(--nash-dark-hover) !important;
}
      
body {
    font-family: "Open Sans", sans-serif;
    /*margin: 12px;*/
}

h1, h2, h3, h4, h5, h6 {
font-family: var(--nash-serif);
}
.san-head {
    font-family: "Open Sans", sans-serif;
}
    /* Custom styling */
    .navbar-custom {
      background: #fdfdfd; /* adjust color as needed */
      border-bottom: 1px solid #e5e5e5;
    }
      
    
.navbar .nav-link {
    position: relative;
    text-transform: uppercase;
    letter-spacing: 1.3px;
    font-size: .9em;
}

/* exactly the text width */
.navbar .nav-link span {
    position: relative;
    display: inline-block;
    line-height: 1;
    white-space: nowrap;
}

/* underline */
.navbar .nav-link span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;   /* even more space */
    width: 100%;
    height: 1px;
    background: #000; /* TEMP test color */
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
}

/* show underline */
.navbar .nav-link:hover span::after,
.navbar .nav-link.active span::after {
    transform: scaleX(1);
}

/* shrink right → left on exit */
.navbar .nav-link:not(:hover) span::after {
    transform-origin: right;
}

/* no underline on nav items that open a mega menu */
.mega-item .nav-link span::after {
    display: none;
}


.info-bar {
    font-size:.7em !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}
.info-bar i {
    font-size: 14px !important;
    padding-top: 5px;
}
.info-bar-social { opacity: 0.55; transition: opacity 0.2s; }
.info-bar-social:hover { opacity: 1 !important; }
.info-bar-sep {
    display: inline-block;
    width: 1px;
    height: 14px;
    background: rgba(255,255,255,0.3);
    margin-left: 1rem;
    vertical-align: middle;
}
.info-bar-util { opacity: 0.85; transition: opacity 0.2s; text-decoration: none !important; font-size: 13px !important; }
.info-bar-util:hover { opacity: 1 !important; }

/* Breadcrumb */
.breadcrumb { font-size: 11px; letter-spacing: 0.05em; margin-bottom: 0; }
.breadcrumb-item a { color: #555; text-decoration: none; }
.breadcrumb-item a:hover { color: var(--nash-dark); }
.breadcrumb-item.active { color: #1a1a1a; }
.breadcrumb-item + .breadcrumb-item::before { color: #bbb; }

/* ── Brand intro logo (Tissot / Norqain page headers) ── */
.brand-intro-logo {
    
    width: auto;
    
    margin-top: .5rem;
}

/* ── Watch Grid (shared) ──────────────────────────────────────────────── */
.watch-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
}

.watch-card {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 4px;
  overflow: hidden;
  transition: box-shadow 0.25s, transform 0.25s;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}
.watch-card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.10);
  transform: translateY(-3px);
}

.watch-card-image {
  position: relative;
  background: radial-gradient(circle at 75% 80%, #ffffff 0%, #e8e8e8 100%);
  aspect-ratio: 1;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.watch-card-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.75rem;
  transition: transform 0.4s ease;
mix-blend-mode: multiply;
}
.watch-card:hover .watch-card-image img { transform: scale(1.04); }

.watch-card-body { padding: 1.25rem; display: flex; flex-direction: column; flex: 1; }

.watch-collection-tag {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #999;
  margin-bottom: 0.3rem;
}
.watch-card-name {
  font-family: var(--nash-serif);
  font-size: 17px;
  font-weight: 400;
  color: #1a1a1a;
  line-height: 1.3;
  margin-bottom: 0.4rem;
}
.watch-card-price {
  font-size: 13px;
  color: #555;
  margin-bottom: 0.5rem;
}
.watch-spec-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-bottom: 0.75rem;
}
.spec-tag {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid #ddd;
  color: #888;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
}

.watch-card-footer {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: auto;
}

/* Watch card action buttons (shared — light theme defaults) */
.btn-details, .btn-compare, .btn-cart {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.4rem 0.8rem;
  border: 1px solid #ddd;
  background: transparent;
  color: #777;
  cursor: pointer;
  border-radius: 4px;
  transition: border-color 0.2s ease, color 0.2s ease;
  text-decoration: none;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.btn-cart {
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 14px;
  flex-shrink: 0;
}
.btn-details:hover,
.btn-compare:hover, .btn-compare.in-compare,
.btn-cart:hover {
  border-color: var(--nash-dark);
  color: var(--nash-dark);
  text-decoration: none;
}
.watch-card-footer .btn-details { flex: 1; }

/* Editor mode — image edit button */
.btn-img-edit {
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 13px;
  flex-shrink: 0;
  border: 1px solid #f0a500;
  background: transparent;
  color: #f0a500;
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.18s, color 0.18s;
}
.btn-img-edit:hover {
  background: #f0a500;
  color: #fff;
}

/* Stock dot */
.stock-dot {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
}
.watch-card[data-instock="0"] .stock-dot { display: none; }

/* Watch card badge */
.watch-card-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: var(--nash-dark);
  color: #fff;
  padding: 3px 8px;
  border-radius: 2px;
}

/* Out-of-stock state */
.watch-card.wc-out-of-stock .watch-card-image img { opacity: 0.55; }

/* ── Grid view toggle ────────────────────────────────────────────────── */
.watch-grid.is-switching .watch-card {
    opacity: 0;
    transform: scale(0.96);
    transition: opacity 0.18s ease, transform 0.18s ease;
}
.watch-card {
    transition: opacity 0.22s ease, transform 0.22s ease, box-shadow 0.25s, transform 0.25s;
}
.watch-grid--4col {
    grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 991px) {
    .watch-grid--4col { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
    .watch-grid--4col { grid-template-columns: repeat(2, 1fr); }
}

.watch-grid--large {
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
}
.watch-grid--large .watch-card-image {
    aspect-ratio: 1 / 1;
    min-height: 380px;
}
.watch-grid--large .watch-card-name {
    font-size: 1.25rem;
}
.watch-grid--large .watch-card-price {
    font-size: 0.9rem;
}

.grid-view-btn {
    background: none;
    border: none;
    padding: 4px 6px;
    color: #bbb;
    font-size: 1rem;
    cursor: pointer;
    line-height: 1;
    transition: color 0.2s;
}
.grid-view-btn:hover { color: #555; }
.grid-view-btn.active { color: #002a75; }

.btn-view-sm { 
    font-size:.7em;
    border:solid 0.5px #999 !important;
}
.btn-view-sm:hover { 
    font-size:.7em;
    border:solid 0.5px #000 !important;
    background:#dfe9fd;
}
      
    .hero img {
     
      height: 70vh; /* adjustable hero height */
    }
    .hero .carousel-caption h2 {
     font-size:80px;
    }
      
    
    .secondary-banner img,
    .secondary-banner video {
     height: 375px; /* adjustable hero height */
     object-fit: cover;
    }
      .secondary-banner h2 {
          font-size:80px;
      }
      
      .my-150 {
  margin-top:150px !important;
  margin-bottom:150px !important;
}
.mt-150 {
  margin-top:150px !important;
}
.mb-150 {
  margin-bottom:150px !important;
}
.py-150 {
  padding-top:150px;
  padding-bottom:150px !important;
}
.pt-150 {
  padding-top:150px !important;
}
.pb-150 {
  padding-bottom:150px !important;
}
      .my-75 {
          margin-top:75px !important;
          margin-bottom:75px !important;
      }
      .mt-75 {
          margin-top:75px !important;
      }
       .mb-75 {
          margin-bottom:75px !important;
      }
      .py-75 {
          padding-top:75px !important;
          padding-bottom:75px !important;
      }
       .pt-75 {
          padding-top:75px !important;
      }
       .pb-75 {
          padding-bottom:75px !important;
      }
      
   /* #footer-5 styles */
   #footer-5 .footer-link {
    color: rgba(255,255,255,0.6);
    text-decoration: none;
    position: relative;
    transition: color 0.3s ease;
  }
  #footer-5 .footer-link::after {
    content: "";
    position: absolute;
    left: 0; bottom: -3px;
    width: 0; height: 2px;
    background: #0d6efd; /* Bootstrap primary color */
    transition: width 0.3s ease;
  }
  #footer-5 .footer-link:hover {
    color: #fff;
  }
  #footer-5 .footer-link:hover::after {
    width: 100%;
  }
  #footer-5 .social-icon {
    color: #fff;
    font-size: 1.25rem;
    transition: all 0.3s ease;
  }
  #footer-5 .social-icon:hover {
    color: #0d6efd;
    text-shadow: 0 0 8px rgba(13,110,253,0.8);
  }
    /* END #footer-5 styles */
      
    
      /* #footer-6 styles */
      #footer-6 .footer-link{ color: #222; text-decoration:none; }
  #footer-6 .footer-link:hover{ text-decoration:underline; }
  #footer-6 .ls-1{ letter-spacing:.06rem; }  /* subtle caps spacing */
      /* END #footer-6 styles */
      
       /* #footer-7 styles */
      #footer-7 .footer-link{ color: #222; text-decoration:none; }
  #footer-7 .footer-link:hover{ text-decoration:underline; }
  #footer-7 .ls-1{ letter-spacing:.06rem; }  /* subtle caps spacing */
      /* END #footer-7 styles */
      
      /* #section-style-1 styles */
      #section-style-1 .info-card {
      background: #000;
      color: #fff;
      padding: 2rem;
      position: absolute;
      bottom: 0;
      right: 0;
      max-width: 300px;
    }
    /* Container that allows overlap on md+ */
#section-style-1 .overlap-wrap {
	position: relative;
}

/* Image box height; adjust as you like */
#section-style-1 .image-box {
	min-height: 380px;   /* controls the visible height */
}

      #section-style-1 .image-box img {
	max-width: 650px;   /* controls the visible height */
}
      
/* Overlap panel styles */
#section-style-1 .overlap-panel {
	padding: 2rem;
	max-width: 420px;
}

/* Positioning: stack on mobile, overlap on md+ */
@media (min-width: 768px){
	#section-style-1 .overlap-panel {
		position: absolute;
		right: 0;                /* hugs the right edge of the image */
		top: 65px;
		transform: translateX(0);
	}
}

/* Optional: add a subtle border to match luxury feel */
#section-style-1 .overlap-panel{
	border: 1px solid rgba(255,255,255,.08);
}
/* END #section-style-1 styles */
      
      /* gradient layer (off by default) */
.hero-overlay{
	pointer-events:none;
	opacity:0;
	transition:opacity .25s ease;
	background:
		/* layer 1: vertical fade */
		linear-gradient(
			180deg,
			rgba(0,0,0,.05) 0%,
			rgba(0,0,0,.15) 40%,
			rgba(0,0,0,.15) 70%,
			rgba(0,0,0,.20) 100%
		),
		/* layer 2: radial edge darkening */
		radial-gradient(
			circle at 10% 10%,
			rgba(0,0,0,.10) 0%,
			rgba(0,0,0,.15) 45%,
			rgba(0,0,0,.25) 75%,
			rgba(0,0,0,.30) 100%
		);
	background-blend-mode: multiply; /* deepens overlap nicely */
}

/* turn it on */
.has-overlay .hero-overlay{ opacity:1; }

/* Navy branded overlay variant */
.has-navy-overlay .hero-overlay {
    background: linear-gradient(
        160deg,
        rgba(0,42,117,0.55) 0%,
        rgba(0,42,117,0.70) 55%,
        rgba(0,42,117,0.80) 100%
    );
}

.accent-line-navy { width:3px; height:50px; background:var(--nash-dark); }

/* ── Shop Page Carousel ───────────────────────────────────────────────── */
/* Images sit at base, static overlay and caption layer above */
#shopBanner .carousel-inner      { position: relative; z-index: 0; }
#shopBanner .hero-overlay         { z-index: 2; }
#shopBanner .secondary-caption    { z-index: 3; }
/* Slow, gentle fade between images */
#shopBanner .carousel-item        { transition-duration: 1.4s; }

/* Dash progress indicators — top-right */
#shopBanner .carousel-indicators {
    position: absolute;
    top: 1.25rem;
    bottom: auto;
    right: 1.5rem;
    left: auto;
    margin: 0;
    padding: 0;
    justify-content: flex-end;
    z-index: 10;
    gap: 6px;
}
#shopBanner .carousel-indicators [data-bs-target] {
    width: 28px;
    height: 3px;
    border-radius: 999px;
    background: rgba(255,255,255,0.30);
    border: none;
    padding: 0;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    opacity: 1;
    margin: 0;
    flex: 0 0 28px;
    text-indent: -9999px;
}
#shopBanner .carousel-indicators [data-bs-target]::after {
    content: '';
    position: absolute;
    inset: 0;
    width: 0%;
    background: #fff;
    border-radius: 999px;
}
#shopBanner .carousel-indicators [data-bs-target].active::after {
    animation: shopDashFill 5s linear forwards;
}
@keyframes shopDashFill {
    from { width: 0%; }
    to   { width: 100%; }
}

/* optional: nicer tab hit area on mobile */
#styleTab .btn{ box-shadow: 0 4px 18px rgba(0,0,0,.2); }

/* ── Brand Intro (shared across watch brand pages) ───────────────────── */
.brand-intro-title {
    font-family: var(--nash-serif);
    font-weight: 400;
    font-size: 2.4rem;
}
.brand-intro-text {
    max-width: 680px;
    line-height: 1.8;
}

/* ── Editorial Split Sections (brand pages) ──────────────────────────── */
.split-editorial { overflow: hidden; }
.split-editorial-img {
    width: 100%;
    height: 100%;
    min-height: 480px;
    object-fit: cover;
    display: block;
}
.split-editorial-copy {
    padding: 3.5rem 2.5rem;
}
@media (min-width: 992px) {
    .split-editorial-copy { padding: 4.5rem 5rem; }
}
.split-editorial-kicker {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #c2a26f;
    margin-bottom: 0.75rem;
}
.split-editorial-title {
    font-family: var(--nash-serif);
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1.2;
    color: #1a1a1a;
    margin-bottom: 1.25rem;
}
.split-editorial-text {
    font-size: 0.93rem;
    line-height: 1.85;
    color: #555;
    margin-bottom: 1.25rem;
}
.split-editorial-link {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--nash-dark);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid currentColor;
    padding-bottom: 2px;
    display: inline-block;
}
.split-editorial-link:hover { color: #c2a26f; }

/* ── Tissot After Sale ───────────────────────────────────────────────── */
.tissot-aftersale {
    background: #fff;
    border-top: 1px solid #e2e2e2;
    border-bottom: 1px solid #e2e2e2;
    padding: 4rem 0;
}
.tissot-aftersale-icon {
    font-size: 1.9rem;
    color: #bbb;
    display: block;
    margin-bottom: 1.1rem;
}
.tissot-aftersale-title {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #333;
    margin-bottom: 0.6rem;
}
.tissot-aftersale-text {
    font-size: 0.82rem;
    line-height: 1.75;
    color: #888;
    max-width: 220px;
    margin-inline: auto;
}

/* ── Tissot expandable filter layout ────────────────────────────────── */
.tissot-shop-wrap {
    max-width: 1320px;
    margin-inline: auto;
    padding-inline: 0.75rem;
    transition: max-width 0.4s ease;
}
.tissot-shop-wrap.filters-open { max-width: 100%; padding-inline: 2rem; }
.tissot-inner { display: flex; gap: 0; align-items: flex-start; }
.tissot-shop-wrap.filters-open .tissot-inner { gap: 1.5rem; }
.tissot-sidebar {
    width: 0;
    overflow: hidden;
    opacity: 0;
    flex-shrink: 0;
    transition: width 0.4s ease, opacity 0.3s ease 0.08s;
}
.tissot-shop-wrap.filters-open .tissot-sidebar { width: 230px; opacity: 1; }
.tissot-main { flex: 1; min-width: 0; }

/* Filter toggle button */
.tissot-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1px solid #ddd;
    padding: 0.3rem 0.8rem;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    cursor: pointer;
    border-radius: 4px;
    color: #666;
    transition: border-color 0.2s, color 0.2s;
    white-space: nowrap;
}
.tissot-filter-btn:hover,
.tissot-filter-btn.active { border-color: var(--nash-dark); color: var(--nash-dark); }
.tissot-filter-btn .fa-xmark { display: none; }
.tissot-filter-btn.active .fa-sliders { display: none; }
.tissot-filter-btn.active .fa-xmark   { display: inline; }
#styleTab .btn.active{ outline:2px solid #fff; }

     .smart-sticky{
  transition: transform .28s ease, box-shadow .2s ease;
  will-change: transform;
  z-index: 1030; /* above content */
}
.smart-sticky.nav-hidden{ transform: translateY(-100%); }
.smart-sticky.nav-scrolled{ box-shadow: 0 6px 18px rgba(0,0,0,.08); } 

/* Remove Bootstrap borders */
.custom-tabs .nav-link {
	border: none !important;
	background: transparent !important;
	position: relative;
	font-variant: small-caps;
	letter-spacing: 1px;
	font-size: 1rem;
	color: #000;
	padding: 8px 18px;
}

/* Remove the bottom border under active tab */
.custom-tabs {
	border-bottom: none !important;
}

/* Underline animation */
.custom-tabs .nav-link::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -2px;
	width: 0;
	height: 2px;
	background-color: #000; /* underline color */
	transition: all 0.3s ease;
	transform: translateX(-50%);
}

/* Hover underline */
.custom-tabs .nav-link:hover::after {
	width: 60%;
}

/* Active underline (full width) */
.custom-tabs .nav-link.active::after {
	width: 60%;
}

/* Optional: subtle fade for inactive text */
.custom-tabs .nav-link:not(.active) {
	opacity: 0.6;
	transition: opacity 0.3s;
}

.custom-tabs .nav-link:not(.active):hover {
	opacity: 1;
}

/* Base arrow button style */
#menCarousel .custom-arrow {
	width: 35px;
    height: 42px;
    border: .5px solid #e0e0e0;
	border-radius: 0;              /* square */
	background: transparent !important;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 1 !important;         /* remove Bootstrap fade */
}

/* Position arrows farther outside the carousel */
#menCarousel .carousel-control-prev {
	left: -50px;   /* adjust to taste */
}

#menCarousel .carousel-control-next {
	right: -50px;  /* adjust to taste */
}

/* Icon styling: small, clean, luxury look */
#menCarousel .custom-arrow i {
	font-size: 1rem;
	color: #666;
	line-height: 1;
}

/* Hover refinement */
#menCarousel .custom-arrow:hover {
	border-color: #333;
}

/* Remove default BS arrow backgrounds entirely */
.carousel-control-prev-icon,
.carousel-control-next-icon {
	display: none;
}

#menCarousel .carousel-control-prev,
#menCarousel .carousel-control-next {
	top: calc(50% - 100px);  /* push the arrows down */
	transform: translateY(-50%);
}
#testimonialWrap {
    position: relative;
    background:#f9f9f9;
}

#testimonialText {
    /* transition: opacity 0.4s ease; */
}

#testimonialAuthor {
    /* transition: opacity 0.4s ease; */
}

/* Position indicators slightly above bottom */
#heroCarousel .custom-indicators {
	bottom: 30px;
}

/* Base dot style */
#heroCarousel .carousel-indicators [data-bs-target] {
	width: 10px;
	height: 10px;
	border-radius: 20px;
	background-color: rgba(255,255,255,0.6);
	border: none;
	margin: 0 6px;
	opacity: 1;
	transition: all 0.35s ease;
}

/* Active dot expands horizontally */
#heroCarousel .carousel-indicators .active {
	width: 28px;
	background-color: #fff;
}

.product-img-wrap{
	position: relative;
	display: block;
	overflow: hidden;
	background: #f9f9f9;
	text-decoration: none;
}

.product-img{
	width: 100%;
	max-height: 400px;
	object-fit: scale-down;
	transform: scale(1);
	transition: transform 600ms cubic-bezier(.19,1,.22,1); /* smoother, luxury easing */
	transform-origin: center;
}

.product-img-sm {
	width: 100%;
	max-height: 350px;
	object-fit: scale-down;
	transform: scale(1);
	transition: transform 600ms cubic-bezier(.19,1,.22,1); /* smoother, luxury easing */
	transform-origin: center;
}

.product-img-wrap:hover .product-img{
	transform: scale(1.1);
}

.product-img-wrap:active .product-img{
	transform: scale(1.06);
}

.product-badge-new{
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	background: var(--nash-dark);
	color: #fff;
	font-size: 11px;
	letter-spacing: .08em;
	border-radius: 0;
	padding: 6px 10px;
    font-weight: 500;
}

.head-subtitle {
    font-family: var(--nash-serif);
    font-style: italic;
    letter-spacing: .6px;
    font-size: 20px;
}

.sm-brand {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #bbb;
}
.tudor-card-name {
    font-family: var(--nash-serif);
    font-size: 17px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1.25;
}
.tudor-card-price {
    font-size: 12px;
    color: #888;
}


.split-feature{
	overflow: hidden; /* allows the bg to bleed without scrollbars */
}

/* Left typography */
.split-copy{
	max-width: 520px;
}

.split-kicker{
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #6c757d;
	margin-bottom: 18px;
}

.split-title{
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.15;
	margin-bottom: 20px;
	font-size: clamp(28px, 2.6vw, 44px);
    color:#474747;
}

.split-desc{
	color: #6c757d;
	line-height: 1.8;
	margin: 0 auto 26px;
	
}

@media (min-width: 992px){
	.split-desc{ margin-left: 0; margin-right: 0; }
}

.split-btn{
	background: #e95866; /* change to brand */
	color: #fff;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: 12px;
	padding: 14px 26px;
	border: none;
}
.split-roberto .split-btn {
    background: #dfc189 !important; 
}
.split-norqain .split-btn {
    background: #000 !important; 
}
/* Right side layout */
.split-media{
	position: relative;
	min-height: 520px;
}

/* Big color slab (oversized + pushed right) */
.split-bg{
	position: absolute;
    right: -240px;
    top: 50%;
    transform: translateY(-50%);
    width: 760px;
    height: 620px;
    background: #ea4b5b;
    z-index: 1;
}

.split-roberto .split-bg {
    background: #dfc189 !important; 
}
.split-norqain .split-bg {
    background: #000 !important; 
}

/* Image is smaller and overlaps LEFT side of bg */
.split-img-wrap{
	position: absolute;
	left: 40px;        /* controls how much it overlaps the bg */
	top: 50%;
	transform: translateY(-50%);
	width: 460px;      /* undersized compared to bg */
	height: 460px;
	display: block;
	z-index: 2;
	background: #fff;
	box-shadow: 0 18px 40px rgba(0,0,0,.12);
}

.split-img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Responsive stack */
@media (max-width: 991.98px){
	.split-media{
		min-height: 420px;
		margin-top: 10px;
	}

	.split-bg{
		right: -20px;
		width: 100%;
		height: 320px;
		top: auto;
		transform: none;
		bottom: 0;
	}

	.split-img-wrap{
		position: relative;
		left: 0;
		top: 0;
		transform: none;
		width: 100%;
		max-width: 520px;
		height: 360px;
		margin: 0 auto 0;
	}
}

/* Reverse Layout */
.split-feature-reverse .split-media{
	position: relative;
	min-height: 520px;
}

/* Move slab to LEFT side */
.split-feature-reverse .split-bg{
	left: -240px;
	right: auto;
	top: 50%;
	transform: translateY(-50%);
	width: 760px;
	height: 620px;
}

/* Move image to overlap RIGHT side */
.split-feature-reverse .split-img-wrap{
	right: 40px;
	left: auto;
	top: 50%;
	transform: translateY(-50%);
	width: 460px;
	height: 460px;
}


.rc-heading{
	padding-left: 2vw;
	padding-right: 2vw;
}

.rc-scroll-wrap{
	width: 100%;
	padding-left: 2vw;
	padding-right: 2vw;
}


.rc-scroll{
	display:flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	gap: 20px;

	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;

	touch-action: pan-x;             /* key for touch/trackpad gesture routing */
	overscroll-behavior-x: contain;
}
.rc-scroll img{
	user-select: none;
	-webkit-user-drag: none;
	pointer-events: none;            /* image won’t eat the drag */
}
.product-img-wrap{
	display: block;
	touch-action: pan-x;
}

.rc-item{
	flex: 0 0 auto;
	scroll-snap-align: start;
	width: 260px;
}

/* Desktop: show ~6 */
@media (min-width: 1200px){
	/* FIXED clamp order: min < max */
	.rc-item{ width: clamp(230px, 15.5vw, 260px); }
}

/* Tablet */
@media (max-width: 991.98px){
	.rc-heading, .rc-scroll-wrap{ padding-left: 4vw; padding-right: 4vw; }
	.rc-item{ width: clamp(200px, 34vw, 260px); }
}

/* Mobile */
@media (max-width: 575.98px){
	.rc-heading, .rc-scroll-wrap{ padding-left: 12px; padding-right: 12px; }
	.rc-item{ width: 78vw; }
}


/* ===============================
   WATCH HERO SECTION
================================= */

.watch-hero{
	position: relative;
	min-height: 560px;
	background: url("/images/tudorwatch-collections-daring-watches-push.avif") center/cover no-repeat;
	overflow: hidden;
}

.watch-hero__overlay{
	position: relative;
	min-height: 800px;
}

.watch-hero::before{
	content:"";
	position:absolute;
	inset:0;
	background: rgba(199, 64, 175, 0.18); /* dark Tudor pink rgb(199 64 175 / 18%
18%
); */
	z-index: 1;
}


/* White picker box */
.watch-hero__picker{
	position: absolute;
	left: 32px;
	bottom: 32px;
	width: 340px;
	background: #fff;
	border: 1px solid rgba(0,0,0,.08);
	box-shadow: 0 18px 40px rgba(0,0,0,.12);
	z-index: 2;
}

/* Title strip */
.watch-hero__cta{
	display: block;
	padding: 16px;
	text-align: center;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	border-bottom: 1px solid rgba(0,0,0,.10);
	color: #111;
	text-decoration: none;
	font-weight: 500;
}

.watch-hero__cta:hover{
	background: rgba(0,0,0,.02);
	text-decoration: none;
}

/* Watch image container */
.watch-hero__image-wrap{
	display: block;
	padding: 24px;
	text-align: center;
	border-bottom: 1px solid rgba(0,0,0,.10);
	background: #fff;
}

.watch-hero__image-wrap img{
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

/* Navigation */
.watch-hero__nav{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	align-items: center;
}

.watch-hero__btn{
	border: 0;
	background: transparent;
	padding: 16px 12px;
	font-size: 18px;
	cursor: pointer;
	border-right: 1px solid rgba(0,0,0,.10);
}

.watch-hero__image-viewport{
	position: relative;
	overflow: hidden;
}

.watch-hero__img{
	position: relative;
	display: block;
	margin: 0 auto;
	max-width: 100%;
	height: auto;
	will-change: transform, opacity;
}

.watch-hero__image-wrap,
.watch-hero__image-wrap:hover{
	text-decoration: none;
}

.watch-hero__price{
	margin-top: 10px;
	font-size: 12px;
	letter-spacing: .06em;
	color: rgba(0,0,0,.55);
	text-transform: uppercase;
    text-decoration: none !important;
}

#watchHeroNext{
	border-right: 0;
	border-left: 1px solid rgba(0,0,0,.10);
}

.watch-hero__btn:hover{
	background: rgba(0,0,0,.03);
}

.watch-hero__status{
	text-align: center;
	font-size: 13px;
	letter-spacing: .08em;
	color: rgba(0,0,0,.70);
}

/* Banner Content (right side) */
.watch-hero__banner{
	position: absolute;
	left: 458px;
	bottom: 0px;
	transform: translateY(-50%);
	/* text-align: right; */
	color: #fff;
	z-index: 2;
	/* max-width: 420px; */
}

.watch-hero__logo{
	display: inline-block;
	/* margin-bottom: 22px; */
	max-width: 140px;
	filter: brightness(0) invert(1); /* makes logo white if it's dark */
}

.watch-hero__eyebrow{
	font-size: 14px;
	letter-spacing: .18em;
	text-transform: uppercase;
	margin-bottom: 5px;
	/* opacity: .85; */
}

.watch-hero__headline{
	font-size: 100px;
	font-weight: 600;
	line-height: 1.1;
	margin: 0;
    font-family: "Covered By Your Grace", cursive;
  
}


/* ===============================
   RESPONSIVE
================================= */

@media (max-width: 991.98px){

	.watch-hero{
		min-height: 480px;
	}

	.watch-hero__overlay{
		min-height: 480px;
	}

	.watch-hero__picker{
		left: 16px;
		right: 16px;
		width: auto;
		bottom: 16px;
	}
}




/* ===== Base ===== */
.site-footer{
	font-family: inherit;
}
/* Flush footer when immediately after editorial/aftersale sections */
.split-editorial + .site-footer,
.tissot-aftersale + .site-footer {
    margin-top: 0 !important;
}

/* ===== Top navy bar ===== */
.footer-topbar{
	background:var(--nash-dark); /* deep navy */
	color:#e8edf3;
	padding: 34px 0;
}

.ft-item{
	max-width: 320px;
	margin: 0 auto;
}

.ft-icon{
	font-size: 18px;
	margin-bottom: 10px;
	opacity:.95;
}

.ft-title{
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 10px;
	color:#ffffff;
}

.ft-text{
	font-size: 13px;
	line-height: 1.75;
	color: rgba(255,255,255,.72);
}

.ft-link{
	color: rgba(255,255,255,.85);
	text-decoration: none;
	border-bottom: 1px solid rgba(255,255,255,.25);
}

.ft-link:hover{
	color:#fff;
	border-bottom-color: rgba(255,255,255,.55);
}

/* ===== Newsletter band ===== */
.footer-newsletter{
	position: relative;
	min-height: 300px;
}

.footer-newsletter-bg{
	position:absolute;
	inset:0;
	background-size: cover;
	background-position: center right;
}

.footer-newsletter-bg::before{
	content:"";
	position:absolute;
	inset:0;
	background: rgba(0, 63, 124, 0.65); /* Nash navy overlay */
}


.footer-newsletter-inner{
	position: relative;
	min-height: 300px;
	display:flex;
	align-items:center;
}

/* white card */
.footer-newsletter-card{
	background:#fff;
	padding: 32px 34px;
	width: min(440px, 92%);
	box-shadow: 0 18px 40px rgba(0,0,0,.12);
	margin-left: 6%;
}

.fn-kicker{
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color:#1f2a36;
	font-weight: 600;
	margin-bottom: 12px;
}

.fn-text{
	font-size: 14px;
	line-height: 1.7;
	color:#6c757d;
	margin-bottom: 20px;
}

.fn-input{
	border-radius: 0;
	height: 44px;
	font-size: 13px;
}

.fn-btn{
	border-radius: 0;
	height: 44px;
	padding: 0 26px;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	background:var(--nash-dark);
	border:1px solid var(--nash-dark);
	color:#fff;
}

.fn-btn:hover{
	background:var(--nash-dark);
	border-color:var(--nash-dark);
}

/* ===== Main footer ===== */
.footer-main{
	background:#fff;
	padding: 56px 0 28px;
}

/* Shop page centred Google review header */
.shop-google-stars {
    font-size: 1.1rem;
    color: #f5a623;
    letter-spacing: 3px;
    line-height: 1;
    margin-bottom: 4px;
}
.shop-google-meta {
    font-family: 'Open Sans', sans-serif;
    font-size: 0.8rem;
    color: #888;
}
.shop-google-meta strong {
    color: #1a1a1a;
    font-weight: 700;
}

/* Google reviews block */
.footer-google-review {
    margin-top: 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.footer-stars {
    font-size: 1.2rem;
    color: #f5a623;
    letter-spacing: 2px;
    line-height: 1;
}
.footer-review-text {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    flex-wrap: wrap;
}
.footer-review-score {
    font-family: 'Open Sans', sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1a1a1a;
}
.footer-review-label {
    font-size: 0.72rem;
    color: #888;
    letter-spacing: 0.02em;
}

.footer-brand-text{
	letter-spacing: .38em;
	font-size: 18px;
	color:#1f2a36;
}

.footer-col-title{
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 600;
	color:#1f2a36;
	margin-bottom: 14px;
}

.footer-small{
	font-size: 14px;
	line-height: 1.85;
	color:#6c757d;
	margin: 0;
	max-width: 360px;
}

.footer-links{
	list-style: none;
	padding:0;
	margin:0;
}

.footer-links li{
	margin: 8px 0;
}

.footer-links a{
	font-size: 14px;
	color:#6c757d;
	text-decoration:none;
}

.footer-links a:hover{
	color:#1f2a36;
}

.footer-social{
	display:flex;
	gap:10px;
}

.social-btn{
	width: 42px;
	height: 42px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:1px solid #e6e6e6;
	color:#1f2a36;
	text-decoration:none;
}

.social-btn:hover{
	border-color:#cfcfcf;
}

.footer-divider{
	margin: 46px 0 18px;
	border-color: rgba(0,0,0,.08);
}

/* Bottom utility */
.footer-select{
	border-radius: 0;
	height: 40px;
	font-size: 12px;
	max-width: 210px;
}

.footer-meta{
	font-size: 14px;
	color:#6c757d;
}

.footer-meta a{
	color:#6c757d;
	text-decoration:none;
}

.footer-meta a:hover{
	color:#1f2a36;
}

.footer-meta .sep{
	margin: 0 8px;
	opacity:.7;
}

.footer-payments{
	display:flex;
	align-items:center;
	gap: 10px;
	justify-content:flex-start;
}

.pay-label{
	font-size: 11px;
	color:#6c757d;
}

.pay-icons{
	display:flex;
	gap: 6px;
	flex-wrap: wrap;
	justify-content:flex-end;
}

.pay-pill{
	font-size: 10px;
	letter-spacing:.06em;
	border:1px solid rgba(0,0,0,.12);
	color:#1f2a36;
	padding: 4px 6px;
	line-height:1;
}

/* ===== Responsive tweaks ===== */
@media (max-width: 991.98px){
	.footer-newsletter-bg{
		background-position: center;
	}
	.footer-newsletter-card{
		margin: 0 auto;
	}
	.footer-select{
		max-width: 100%;
	}
	.footer-payments{
		justify-content:center;
	}
}


/* ===============================
   PRODUCT DETAIL PAGE (PDP)
================================= */

.pdp-thumb {
    width: 80px;
    height: 80px;
    object-fit: scale-down;
    background: #f9f9f9;
    border: 1px solid #e8e8e8;
    cursor: pointer;
    transition: border-color .2s ease;
    padding: 4px;
}
.pdp-thumb:hover,
.pdp-thumb.active {
    border-color: var(--nash-dark);
}

.pdp-main-img-wrap {
    background: #f9f9f9;
    position: relative;
    overflow: hidden;
}
.pdp-main-img {
    width: 100%;
    max-height: 580px;
    object-fit: scale-down;
    transition: transform 600ms cubic-bezier(.19,1,.22,1);
}
.pdp-main-img-wrap:hover .pdp-main-img {
    transform: scale(1.04);
}

.pdp-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: var(--nash-dark);
    color: #fff;
    font-size: 11px;
    letter-spacing: .1em;
    padding: 6px 12px;
    z-index: 2;
}

.pdp-brand-logo {
    max-height: 32px;
    width: auto;
}

.pdp-price {
    font-size: 1.6rem;
    font-family: var(--nash-serif);
    color: #1f2a36;
    letter-spacing: .03em;
}

.pdp-variant-btn {
    border: 1px solid #d0d0d0;
    border-radius: 0;
    background: #fff;
    padding: 8px 16px;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color .18s, background .18s;
    color: #333;
}
.pdp-variant-btn:hover,
.pdp-variant-btn.selected {
    border-color: var(--nash-dark);
    background: #f0f4fc;
    color: var(--nash-dark);
}

.pdp-btn-enquire {
    background: var(--nash-dark);
    color: #fff;
    border: none;
    border-radius: 0;
    padding: 14px 32px;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    transition: background .2s;
    text-decoration: none;
    display: inline-block;
}
.pdp-btn-enquire:hover {
    background: var(--nash-dark-hover);
    color: #fff;
}

.pdp-btn-wishlist {
    border: 1px solid #c0c0c0;
    background: transparent;
    border-radius: 0;
    padding: 14px 18px;
    color: #444;
    font-size: 16px;
    transition: border-color .2s;
}
.pdp-btn-wishlist:hover {
    border-color: var(--nash-dark);
    color: var(--nash-dark);
}

.pdp-trust {
    border-top: 1px solid #ebebeb;
    padding-top: 20px;
}
.pdp-trust-item {
    font-size: 12px;
    letter-spacing: .06em;
    color: #6c757d;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 8px;
}
.pdp-trust-item i {
    font-size: 18px;
    color: var(--nash-dark);
}

.pdp-spec-table td {
    font-size: 13px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: top;
}
.pdp-spec-table td:first-child {
    font-weight: 600;
    color: #333;
    width: 160px;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .08em;
    padding-right: 16px;
}
.pdp-spec-table td:last-child {
    color: #6c757d;
}

.pdp-accordion .accordion-button {
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 600;
    background: transparent;
    padding-left: 0;
    padding-right: 0;
    color: #1f2a36;
}
.pdp-accordion .accordion-button:not(.collapsed) {
    background: transparent;
    color: var(--nash-dark);
    box-shadow: none;
}
.pdp-accordion .accordion-button::after {
    background-size: 14px;
}
.pdp-accordion .accordion-item {
    border-left: none;
    border-right: none;
}
.pdp-accordion .accordion-body {
    padding-left: 0;
    font-size: 14px;
    color: #6c757d;
    line-height: 1.8;
}

#relatedCarousel .custom-arrow {
    width: 35px;
    height: 42px;
    border: .5px solid #e0e0e0;
    border-radius: 0;
    background: transparent !important;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1 !important;
}
#relatedCarousel .carousel-control-prev { left: -50px; }
#relatedCarousel .carousel-control-next { right: -50px; }
#relatedCarousel .custom-arrow i { font-size: 1rem; color: #666; }
#relatedCarousel .custom-arrow:hover { border-color: #333; }
#relatedCarousel .carousel-control-prev,
#relatedCarousel .carousel-control-next {
    top: calc(50% - 100px);
    transform: translateY(-50%);
}


/* ===============================
   PRODUCT GRID PAGE (PGP)
================================= */

/* Filter group title buttons */
.pgp-filter-title {
    border: none;
    background: none;
    padding: 12px 0;
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #1f2a36;
    cursor: pointer;
}
.pgp-filter-title:hover { color: var(--nash-dark); }
.pgp-filter-title .pgp-chevron { transition: transform .2s ease; }
.pgp-filter-title[aria-expanded="true"] .pgp-chevron { transform: rotate(180deg); }

/* Checkbox items */
.pgp-filter-check .form-check-input {
    border-radius: 0;
    border-color: #bbb;
    cursor: pointer;
}
.pgp-filter-check .form-check-input:checked {
    background-color: var(--nash-dark);
    border-color: var(--nash-dark);
}
.pgp-filter-check .form-check-input:focus { box-shadow: none; }
.pgp-filter-check .form-check-label {
    font-size: 13px;
    color: #444;
    cursor: pointer;
}
.pgp-filter-check .pgp-count {
    font-size: 11px;
    color: #aaa;
    margin-left: 2px;
}

/* Active filter chips */
.pgp-chips-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    margin-bottom: 16px;
}
.pgp-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f0f4fc;
    border: 1px solid var(--nash-dark);
    color: var(--nash-dark);
    font-size: 11px;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: 5px 10px;
    cursor: pointer;
    transition: background .15s;
    white-space: nowrap;
}
.pgp-chip:hover { background: #dce6f6; }
.pgp-chip i { font-size: 10px; }
.pgp-clear-all {
    font-size: 11px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #999;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
}
.pgp-clear-all:hover { color: var(--nash-dark); }

/* ── Filter toggle switches ──────────────────────────────────────────── */
.filter-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 12px;
    color: #444;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 0;
    user-select: none;
}
.filter-toggle input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.toggle-slider {
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    width: 32px;
    height: 18px;
    background: #ddd;
    border-radius: 999px;
    transition: background 0.2s ease;
}
.toggle-slider::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,0.25);
    transition: transform 0.2s ease;
}
.filter-toggle input:checked + .toggle-slider {
    background: var(--nash-dark);
}
.filter-toggle input:checked + .toggle-slider::before {
    transform: translateX(14px);
}

/* Toolbar: results count + sort */
.pgp-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 14px;
    border-bottom: 1px solid #ebebeb;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 10px;
}
.pgp-results-count {
    font-size: 13px;
    color: #6c757d;
}
.pgp-sort-select {
    border-radius: 0;
    border-color: #d0d0d0;
    font-size: 12px;
    letter-spacing: .04em;
    padding: 6px 32px 6px 12px;
    max-width: 210px;
    color: #333;
}
.pgp-sort-select:focus {
    border-color: var(--nash-dark);
    box-shadow: none;
}

/* Price filter inputs */
.pgp-price-input {
    border-radius: 0;
    border-color: #d0d0d0;
    font-size: 12px;
}
.pgp-price-input:focus {
    border-color: var(--nash-dark);
    box-shadow: none;
}
.pgp-price-apply {
    border-radius: 0;
    border: 1px solid var(--nash-dark);
    background: transparent;
    color: var(--nash-dark);
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 6px 0;
    width: 100%;
    margin-top: 8px;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.pgp-price-apply:hover {
    background: var(--nash-dark);
    color: #fff;
}

/* Mobile filter toggle */
.pgp-mobile-filter-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border: 1px solid #d0d0d0;
    background: #fff;
    padding: 10px 16px;
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #333;
    cursor: pointer;
    transition: border-color .15s;
}
.pgp-mobile-filter-btn:hover { border-color: var(--nash-dark); }

/* No results state */
.pgp-no-results {
    display: none;
    text-align: center;
    padding: 60px 20px;
    color: #6c757d;
    width: 100%;
}
.pgp-no-results.visible { display: block; }
.pgp-no-results i {
    font-size: 2.5rem;
    opacity: .25;
    display: block;
    margin-bottom: 16px;
}

/* Out of stock overlay */
.pgp-out-of-stock .product-img-wrap::after {
    content: "OUT OF STOCK";
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.7);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    color: #888;
}


/* ===============================
   TUDOR LANDING PAGE
================================= */

/* ── Hero ── */
.tudor-hero {
    position: relative;
    min-height: 92vh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}
.tudor-hero__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
.tudor-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,.72) 0%,
        rgba(0,0,0,.30) 45%,
        rgba(0,0,0,.08) 100%
    );
}
.tudor-hero__content {
    position: relative;
    z-index: 2;
    padding: 60px 0 90px;
    color: #fff;
}
.tudor-hero__logo { max-height: 38px; filter: brightness(0) invert(1); margin-bottom: 28px; }
.tudor-hero__eyebrow {
    font-size: 12px;
    letter-spacing: .22em;
    text-transform: uppercase;
    opacity: .75;
    margin-bottom: 12px;
}
.tudor-hero__headline {
    font-family: var(--nash-serif);
    font-size: clamp(56px, 9vw, 130px);
    font-weight: 300;
    line-height: 1;
    letter-spacing: .04em;
    margin: 0 0 20px;
}
.tudor-hero__sub {
    font-size: 14px;
    letter-spacing: .08em;
    opacity: .7;
    max-width: 420px;
    line-height: 1.7;
    margin-bottom: 32px;
}
.tudor-hero__btn {
    border: 1px solid rgba(255,255,255,.85);
    background: transparent;
    color: #fff;
    border-radius: 0;
    padding: 13px 32px;
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
    transition: background .2s, color .2s;
}
.tudor-hero__btn:hover { background: #fff; color: #111; }
.tudor-hero__btn-fill {
    background: #fff;
    color: #111;
    border-color: #fff;
}
.tudor-hero__btn-fill:hover { background: rgba(255,255,255,.88); color: #111; }

/* ── Authorized retailer strip ── */
.tudor-auth-strip {
    border-top: 1px solid #ebebeb;
    border-bottom: 1px solid #ebebeb;
    padding: 28px 0;
}

/* ── Collection cards ── */
.tudor-col-card {
    position: relative;
    overflow: hidden;
    min-height: 480px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    text-decoration: none;
    background: #0d0d0d;
}
.tudor-col-card__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 700ms cubic-bezier(.19,1,.22,1);
}
.tudor-col-card:hover .tudor-col-card__bg { transform: scale(1.06); }
.tudor-col-card__product {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 24px 120px;
}
.tudor-col-card__product img {
    max-height: 260px;
    width: auto;
    object-fit: contain;
    transition: transform 700ms cubic-bezier(.19,1,.22,1);
}
.tudor-col-card:hover .tudor-col-card__product img { transform: scale(1.06); }
.tudor-col-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.18) 55%, rgba(0,0,0,.04) 100%);
}
.tudor-col-card__body {
    position: relative;
    z-index: 2;
    padding: 28px;
    color: #fff;
}
.tudor-col-card__label {
    font-size: 10px;
    letter-spacing: .20em;
    text-transform: uppercase;
    opacity: .6;
    margin-bottom: 6px;
}
.tudor-col-card__title {
    font-family: var(--nash-serif);
    font-size: clamp(24px, 2.2vw, 34px);
    font-weight: 400;
    line-height: 1.15;
    margin-bottom: 14px;
}
.tudor-col-card__cta {
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255,255,255,.65);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color .2s, gap .2s;
}
.tudor-col-card:hover .tudor-col-card__cta { color: #fff; gap: 14px; }

/* ── Find Your Match ── */
.tudor-match-section { background: #f7f6f3; }
.tudor-match-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-bottom: 1px solid #d8d8d8;
    justify-content: center;
    margin-bottom: 48px;
}
.tudor-match-tab {
    border: none;
    background: transparent;
    padding: 14px 28px;
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #999;
    cursor: pointer;
    position: relative;
    transition: color .2s;
}
.tudor-match-tab::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 2px;
    background: #111;
    transform: scaleX(0);
    transition: transform .2s ease;
}
.tudor-match-tab:hover { color: #333; }
.tudor-match-tab.active { color: #111; }
.tudor-match-tab.active::after { transform: scaleX(1); }
.tudor-match-panel { display: none; }
.tudor-match-panel.active { display: flex; flex-wrap: wrap; }
.tudor-match-img {
    width: 100%;
    max-height: 420px;
    object-fit: scale-down;
    background: #fff;
}
.tudor-match-price {
    font-family: var(--nash-serif);
    font-size: 1.5rem;
    color: #1f2a36;
}
.tudor-match-spec {
    font-size: 12px;
    letter-spacing: .06em;
    color: #6c757d;
    padding: 6px 0;
    border-bottom: 1px solid #ebebeb;
    display: flex;
    justify-content: space-between;
}
.tudor-match-spec:last-of-type { border-bottom: none; }
.tudor-match-spec strong { color: #333; font-weight: 600; }

/* ── Born to Dare ── */
.tudor-born-img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    object-position: center top;
    display: block;
}
.tudor-born-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 64px 48px;
}
@media (max-width: 991.98px) {
    .tudor-born-copy { padding: 48px 24px; }
}
.tudor-born-quote {
    font-family: var(--nash-serif);
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 300;
    line-height: 1.2;
    color: #1a1a1a;
    margin-bottom: 28px;
}
.tudor-born-quote em { font-style: italic; }

/* ── Partnerships ── */
.tudor-partner-card {
    position: relative;
    overflow: hidden;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: #111;
}
.tudor-partner-card__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(.19,1,.22,1);
    opacity: .5;
}
.tudor-partner-card:hover .tudor-partner-card__bg { transform: scale(1.05); }
.tudor-partner-card__icon {
    position: absolute;
    top: 28px;
    left: 28px;
    font-size: 2rem;
    color: rgba(255,255,255,.7);
}
.tudor-partner-card__body {
    position: relative;
    z-index: 2;
    padding: 24px 28px;
    color: #fff;
    background: linear-gradient(to top, rgba(0,0,0,.85) 0%, transparent 100%);
}
.tudor-partner-card__label {
    font-size: 10px;
    letter-spacing: .20em;
    text-transform: uppercase;
    opacity: .6;
    margin-bottom: 5px;
}
.tudor-partner-card__title {
    font-family: var(--nash-serif);
    font-size: 22px;
    font-weight: 400;
    margin-bottom: 8px;
}
.tudor-partner-card__text {
    font-size: 12px;
    line-height: 1.6;
    color: rgba(255,255,255,.65);
    margin: 0;
}

/* ── Service dark band ── */
.tudor-service { background: #111; color: #fff; }
.tudor-service-item { text-align: center; padding: 0 16px; }
.tudor-service-item i { font-size: 1.8rem; color: rgba(255,255,255,.45); display: block; margin-bottom: 16px; }
.tudor-service-title {
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-weight: 600;
    color: #fff;
    margin-bottom: 8px;
}
.tudor-service-text {
    font-size: 13px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
    margin: 0;
}

/* ── Heritage / Since 1926 ── */
.tudor-heritage-year {
    font-family: var(--nash-serif);
    font-size: clamp(90px, 15vw, 180px);
    font-weight: 300;
    line-height: 1;
    color: #ebebeb;
    letter-spacing: .02em;
    margin: 0;
    user-select: none;
}

/* ── CTA banner ── */
.tudor-cta-banner {
    position: relative;
    min-height: 380px;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.tudor-cta-banner__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.tudor-cta-banner__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 42, 117, 0.72);
}
.tudor-cta-banner__content {
    position: relative;
    z-index: 2;
    color: #fff;
}

/* ============================================================
   MEGA MENU
   ============================================================ */

/* ── Nav backdrop overlay ── */
.nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 1018;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
    pointer-events: none;
}
.nav-overlay.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Break mega menus out to full viewport width.
   .navbar has position:relative by default in Bootstrap — neutralise it
   so the containing block becomes .navbar-custom (position:sticky = full-width). */
.navbar-custom .navbar { position: static; }
.mega-item { position: static !important; }

.mega-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: #fff;
    border-top: 2px solid var(--nash-dark);
    box-shadow: 0 20px 60px rgba(0,0,0,.12);
    z-index: 1019;
    padding: 0;
    /* smooth fade + slide */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
    text-align: left;
}

/* Show on hover (desktop) */
@media (min-width: 768px) {
    .mega-item:hover .mega-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    .mega-item:hover .mega-caret {
        transform: rotate(180deg);
    }
}

/* Mobile: stack inside collapsed navbar */
@media (max-width: 767.98px) {
    .mega-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border-top: 1px solid #eee;
        padding: .5rem 1rem 1rem;
        display: none;
    }
    .mega-item.mega-open .mega-menu {
        display: block;
    }
}

/* ── Column heading ── */
.mega-col-title {
    font-family: "Open Sans", sans-serif;
    text-transform: uppercase;
    font-size: .78rem;
    letter-spacing: .15em;
    font-weight: 700;
    color: #bbb;
    margin-bottom: 1rem;
    padding-bottom: .55rem;
    border-bottom: 1px solid #f0f0f0;
}

/* ── Nav links ── */
.mega-link {
    display: flex;
    width: fit-content;
    align-items: center;
    color: #555;
    text-decoration: none;
    font-family: "Open Sans", sans-serif;
    font-size: .95rem;
    letter-spacing: .01em;
    padding: 5px 0;
    transition: color .13s;
}
.mega-link::after {
    content: '→';
    opacity: 0;
    transform: translateX(-7px);
    transition: opacity .18s ease, transform .18s ease;
    font-size: 15px;
    margin-left: 9px;
    flex-shrink: 0;
    color: var(--nash-dark);
}
.mega-link:hover { color: #111; }
.mega-link:hover::after,
.mega-link.is-active::after {
    opacity: 1;
    transform: translateX(0);
}
.mega-link--all {
    color: var(--nash-dark);
    font-weight: 600;
    font-size: .85rem;
    letter-spacing: .05em;
    margin-top: 6px;
}
.mega-link--all::after {
    color: var(--nash-dark);
    opacity: 1;
    transform: translateX(0);
}
.mega-link--all:hover::after {
    transform: translateX(5px);
}

/* Old-style megas use a raw .container — restore vertical breathing room */
.mega-menu > .container { padding-top: 2.5rem; padding-bottom: 2.25rem; }

/* ── Watches mega: brands | explore | atelier — all one row ── */
.mega-watches-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 2.5fr;
    gap: 0 48px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 36px 48px 36px;
    align-items: start;
}

/* ── TechAlliance-style mega inner layout ── */
.mega-menu-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 36px 48px 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 56px;
}
.mega-menu-inner--4col {
    max-width: 1100px;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 36px;
}
.mega-col {
    padding-bottom: 0;
}
.mega-col-label {
    font-family: "Open Sans", sans-serif;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--nash-dark);
    margin-bottom: 14px;
}
.mega-col-label + .mega-col-label { margin-top: 26px; }

/* Bottom bar: tagline left + monogram right */
.mega-bottom {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    border-top: 1px solid #f0f0f0;
    padding: 22px 0 30px;
    margin-top: 28px;
}
.mega-tagline {
    font-family: var(--nash-serif);
    font-size: 1.25rem;
    font-weight: 400;
    color: #111;
    line-height: 1.35;
}
.mega-tagline strong { font-weight: 700; }
.mega-n-mark {
    flex-shrink: 0;
    margin-left: 24px;
}
.mega-n-mark img {
    height: 52px;
    width: auto;
    display: block;
}

/* Caret icon on trigger */
.mega-caret {
    font-size: .62rem;
    vertical-align: middle;
    margin-left: 3px;
    transition: transform .2s ease;
}

/* ── Featured product panel ── */
.mega-featured-img-wrap {
    background: #f7f7f7;
    border-radius: 3px;
    padding: 1.25rem;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.mega-featured-img {
    width: 100%;
    height: auto;
    max-height: 200px;
    object-fit: contain;
    transition: opacity .18s ease;
}
.mega-featured-brand {
    font-family: "Open Sans", sans-serif;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #aaa;
    margin-bottom: .25rem;
}
.mega-featured-name {
    font-family: var(--nash-serif);
    font-size: 1.5rem;
    font-weight: 600;
    color: #111;
    line-height: 1.2;
    margin-bottom: .35rem;
}
.mega-featured-price {
    font-family: "Open Sans", sans-serif;
    font-size: .9rem;
    color: #666;
    margin-bottom: .85rem;
}
.mega-featured-btn {
    font-size: .75rem !important;
    padding: 9px 22px !important;
    letter-spacing: .15em !important;
}

/* ── Promo strip at bottom of featured col ── */
.mega-promo-strip {
    border-top: 1px solid #f0f0f0;
    padding-top: .85rem;
    margin-top: .85rem;
}
.mega-promo-thumb {
    width: 54px;
    height: 54px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
}

/* ── Watch featured col: constrained image, no grey box ── */
.watch-feat-wrap {
    width: 160px;
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.watch-feat-wrap .mega-featured-img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: contain;
}

/* ── Watches Mega Menu — Tudor Atelier Showcase Panel ── */
.mega-atelier-panel {
    background: radial-gradient(circle at 75% 80%, #ffffff 0%, #e8e8e8 100%);
    border-radius: 4px;
    overflow: hidden;
    padding: 1.5rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}
.mega-atelier-logo {
    width: 72px;
    height: auto;
    margin-bottom: 1.1rem;
    display: block;
}
.mega-atelier-kicker {
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #999;
    margin-bottom: .5rem;
}
.mega-atelier-headline {
    font-family: var(--nash-serif);
    font-size: 1.85rem;
    font-weight: 400;
    color: var(--nash-dark);
    line-height: 1.2;
    margin-bottom: .75rem;
}
.mega-atelier-body {
    font-family: "Open Sans", sans-serif;
    font-size: .85rem;
    color: #666;
    line-height: 1.65;
    max-width: 260px;
    margin-bottom: 1.4rem;
}
.mega-atelier-cta {
    display: inline-block;
    font-family: "Open Sans", sans-serif;
    font-size: .8rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--nash-dark);
    text-decoration: none;
    border-bottom: 1px solid rgba(0,42,117,.3);
    padding-bottom: 3px;
    transition: border-color .18s;
}
.mega-atelier-cta:hover { color: var(--nash-dark); border-color: var(--nash-dark); }
.mega-atelier-watch {
    flex: 0 0 175px;
    text-align: center;
}
.mega-atelier-watch img {
    width: 175px;
    height: 210px;
    object-fit: contain;
    filter: drop-shadow(0 8px 16px rgba(0,0,0,.18));
}


/* ══════════════════════════════════════════════════════════
   History Timeline
   ══════════════════════════════════════════════════════════ */
.history-intro {
    max-width: 700px;
    margin: 0 auto;
}
.history-intro-quote {
    font-family: var(--nash-serif);
    font-size: 2rem;
    font-weight: 300;
    font-style: italic;
    color: #1a1a1a;
    line-height: 1.45;
    margin-bottom: 1.25rem;
}
.history-intro-sub {
    font-family: 'Open Sans', sans-serif;
   
    color: #888;
    line-height: 1.8;
}

.history-timeline {
    position: relative;
    max-width: 1060px;
    margin: 0 auto;
    padding: 2rem 1.5rem 5rem;
}
.history-timeline::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(to bottom, transparent 0%, #d8d8d8 4%, #d8d8d8 96%, transparent 100%);
    transform: translateX(-50%);
}

.tl-event {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
    margin-bottom: 0;
}
.tl-event::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 1.6rem;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--nash-dark, #002a75);
    box-shadow: 0 0 0 5px rgba(0,42,117,0.1);
    transform: translateX(-50%);
    z-index: 2;
}
.tl-event--left .tl-content {
    grid-column: 1;
    padding-right: 4.5rem;
    padding-bottom: 3rem;
    text-align: right;
}
.tl-event--right .tl-content {
    grid-column: 2;
    padding-left: 4.5rem;
    padding-bottom: 3rem;
}
.tl-year {
    font-family: var(--nash-serif);
    font-size: 3.75rem;
    font-weight: 300;
    color: var(--nash-dark, #002a75);
    line-height: 1;
    margin-bottom: 1rem;
    letter-spacing: -.02em;
}
.tl-decade-s {
    font-size: 2rem;
    font-weight: 300;
    vertical-align: bottom;
    letter-spacing: normal;
    margin-left: 0.3rem;
}
.tl-img {
    width: 100%;
    aspect-ratio: 16 / 12;
    object-fit: cover;
    border-radius: 2px;
    margin-bottom: 1.25rem;
}
.tl-kicker {
    font-family: 'Open Sans', sans-serif;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: #aaa;
    margin-bottom: .35rem;
}
.tl-heading {
    font-family: var(--nash-serif);
    font-size: 1.6rem;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1.25;
    margin-bottom: .6rem;
}
.tl-text {
    font-family: 'Open Sans', sans-serif;
    font-size: 0.95rem;
    color: #666;
    line-height: 1.8;
    margin-bottom: 0;
}

/* ── History pull-quote divider ── */
.history-divider {
    text-align: center;
    padding: 5rem 1rem;
    background: var(--nash-dark, #002a75);
    color: white;
}
.history-divider-quote {
    font-family: var(--nash-serif);
    font-size: 2.25rem;
    font-weight: 300;
    font-style: italic;
    max-width: 700px;
    margin: 0 auto 1rem;
    line-height: 1.45;
}
.history-divider-attr {
    font-family: 'Open Sans', sans-serif;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .2em;
    color: rgba(255,255,255,.5);
}

/* Mobile */
@media (max-width: 767.98px) {
    .history-timeline::before { left: 18px; transform: none; }
    .tl-event { grid-template-columns: 1fr; }
    .tl-event::before { left: 18px; transform: translateX(-50%); top: .4rem; }
    .tl-event--left .tl-content,
    .tl-event--right .tl-content {
        grid-column: 1;
        padding-left: 3rem;
        padding-right: 0;
        text-align: left;
    }
    .history-intro-quote { font-size: 1.5rem; }
    .tl-year { font-size: 2.75rem; }
}


/* ══════════════════════════════════════════════════════════
   Homepage — Split Video Banner
   ══════════════════════════════════════════════════════════ */
#hero-video-banner {
    width: 100%;
    display: flex;
    align-items: stretch;
    line-height: 0;
}
.banner-video-side {
    width: 66.666%;
    position: relative;
    flex-shrink: 0;
}
.banner-video-side video {
    width: 100%;
    height: auto;
    display: block;
}
.banner-video-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 3rem 2rem 1.8rem;
    background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 100%);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.banner-watch-label {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #fff;
}
.banner-watch-name {
    font-family: 'Inter', 'Open Sans', sans-serif;
    font-size: 2.6rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: #fff;
    line-height: 1;
}
.banner-watch-specs {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.65);
}
.banner-shop-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    margin-top: 1.2rem;
    transition: gap 0.2s;
}
.banner-shop-link:hover { gap: 13px; color: #fff; }
.banner-static-side {
    width: 33.333%;
    background: #000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding: 2rem;
}
.banner-tudor-logo {
    width: 80%;
    max-width: 260px;
    filter: brightness(0) invert(1);
}
.banner-born-logo {
    width: 55%;
    max-width: 160px;
}
@media (max-width: 700px) {
    #hero-video-banner { flex-direction: column; }
    .banner-video-side { width: 100%; }
    .banner-static-side {
        width: 100%;
        padding: 1.5rem 2rem;
        flex-direction: row;
        gap: 2rem;
        min-height: 100px;
    }
    .banner-tudor-logo { width: 40%; }
    .banner-born-logo  { width: 35%; }
    .banner-watch-name { font-size: 1.4rem; }
}

/* ── Tudor Page ──────────────────────────────────────────────────────────────
   Styles for /tudor.php (moved from tudor-atelier/tudor.php inline styles)
   ─────────────────────────────────────────────────────────────────────────── */

/* Nash Nav (tudor page secondary nav) */
#nash-nav {
  background: #002a75;
  position: sticky;
  top: 0;
  z-index: 800;
}
#nash-nav .nav-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1.5rem;
  height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#nash-nav .nav-brand-logo {
  height: 44px;
  width: auto;
  display: block;
  filter: brightness(0) invert(1);
  transition: opacity 0.2s;
}
#nash-nav .nav-brand { opacity: 1; transition: opacity 0.2s; }
#nash-nav .nav-brand:hover { opacity: 0.7; }
#nash-nav .nav-right {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
#nash-nav .nav-phone {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.2s;
}
#nash-nav .nav-phone:hover { opacity: 0.7; }
#nash-nav .nav-icon-btn {
  background: none;
  border: none;
  color: #fff;
  font-size: 1.1rem;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s;
  line-height: 1;
  text-decoration: none;
  display: flex;
  align-items: center;
}
#nash-nav .nav-icon-btn:hover { opacity: 1; }

/* Top Bar */
#top-bar {
  border-bottom: 1px solid #e5e5e5;
  padding: 0 1.5rem;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.top-bar-breadcrumb {
  font-size: 11px;
  color: #888;
  display: flex;
  align-items: center;
  gap: 6px;
}
.top-bar-breadcrumb a:hover { color: #cc0000; }
.top-bar-breadcrumb span { color: #ccc; }
.top-bar-official {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #888;
}

/* Section utility */
.section-wrap { max-width: 1100px; margin: 0 auto; padding: 0 1.5rem; }
.section-heading {
  text-align: center;
  padding: 3.5rem 1.5rem 2rem;
}
.section-heading h2 {
  font-family: 'Inter', sans-serif;
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #1a1a1a;
  margin-bottom: 0.5rem;
  line-height: 1;
}
.section-heading .sub {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #cc0000;
}
.section-body-text {
  font-size: 15px;
  line-height: 1.85;
  color: #555;
  max-width: 920px;
  margin: 0 auto 2.5rem;
  text-align: center;
  padding: 0 1.5rem;
}

/* Watch Row */
.watch-row-wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 3.5rem;
}
#watch-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.watch-col {
  background: #fff;
  text-align: center;
  padding: 2.5rem 1.5rem 2rem;
}
.watch-col a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.watch-col a:hover .watch-col-name { color: #cc0000; }
.watch-col-img {
  width: 100%;
  aspect-ratio: 1;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  overflow: hidden;
}
.watch-col-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.4s ease;
}
.watch-col a:hover .watch-col-img img { transform: scale(1.07); }
.watch-col-brand {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #cc0000;
  margin-bottom: 0.3rem;
}
.watch-col-name {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1a1a1a;
  margin-bottom: 0.35rem;
  transition: color 0.2s;
}
.watch-col-price { font-size: 14px; color: #777; }

/* CTA Buttons */
.cta-wrap { text-align: center; padding: 2.5rem 1.5rem; }
.btn-tudor {
  display: inline-block;
  background: #cc0000;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.85rem 2.5rem;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
  text-decoration: none;
}
.btn-tudor:hover { background: #a80000; color: #fff; }
.btn-tudor-outline {
  display: inline-block;
  background: transparent;
  color: #1a1a1a;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.7rem 2rem;
  border: 1px solid #1a1a1a;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}
.btn-tudor-outline:hover { background: #1a1a1a; color: #fff; }

/* Full-width image */
.full-img {
  width: 100%;
  height: auto;
  background: #1a1a1a;
  overflow: hidden;
  line-height: 0;
}
.full-img img { width: 100%; height: auto; display: block; object-fit: cover; opacity: 0.85; }
.full-img--zoom img {
  animation: kenburns 9s ease-in-out infinite alternate;
  transform-origin: center center;
}
@keyframes kenburns {
  from { transform: scale(1); }
  to   { transform: scale(1.08); }
}
.full-img-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #1a1a1a 0%, #333 50%, #1a1a1a 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.15);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* World of Tudor */
#world-section { padding-bottom: 2rem; }

/* Ambassadors Carousel */
.ambassador-section-wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 3.5rem;
  position: relative;
}
#ambassadors { position: relative; margin-bottom: 2rem; }
.ambassador-track-wrap { overflow: hidden; }
.ambassador-track {
  display: flex;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.ambassador-slide { flex: 0 0 25%; padding: 0 6px; }
.ambassador-img {
  width: 100%;
  aspect-ratio: 1;
  background: #2a2a2a;
  overflow: hidden;
  margin-bottom: 0.9rem;
}
.ambassador-img img { width: 100%; height: 100%; object-fit: cover; }
.ambassador-name {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1a1a1a;
  margin-bottom: 0.4rem;
}
.ambassador-role {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #cc0000;
  margin-bottom: 0.5rem;
}
.ambassador-desc { font-size: 12px; line-height: 1.7; color: #666; }
.ambassador-arrow {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  background: #cc0000;
  border: none;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 22px;
  color: #fff;
  z-index: 2;
  transition: background 0.2s;
  user-select: none;
}
.ambassador-arrow:hover { background: #a80000; }
.ambassador-prev { left: -20px; }
.ambassador-next { right: -20px; }
.ambassador-arrow.hidden { opacity: 0; pointer-events: none; }

/* Discover link */
.discover-link {
  text-align: center;
  padding: 0.5rem 1.5rem 3rem;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #888;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.discover-link::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 1px;
  background: #ccc;
}
.discover-link a { color: #555; transition: color 0.2s; }
.discover-link a:hover { color: #cc0000; }

/* About Tudor */
#about-section { background: #fff; }
.about-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  padding-bottom: 3rem;
}
.about-col-img {
  width: 100%;
  background: #1a1a1a;
  overflow: hidden;
  margin-bottom: 1.1rem;
}
.about-col-img img { width: 100%; height: auto; display: block; }
.about-col-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #1a1a1a;
  margin-bottom: 0.7rem;
}
.about-col-text { font-size: 14px; line-height: 1.8; color: #555; }

/* Tudor Footer */
#tudor-footer {
  background: #000;
  text-align: center;
  padding: 2.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
#tudor-footer .footer-logo { height: 96px; width: auto; }
#tudor-footer .footer-links {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
#tudor-footer a {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
  transition: color 0.2s;
}
#tudor-footer a:hover { color: #fff; }
#tudor-footer .footer-atelier-link {
  background: linear-gradient(90deg, #e04848, #f06878, #ffaabb, #ff7799, #f05070, #e04848);
  background-size: 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: atelier-shimmer 4s linear infinite;
}
#tudor-footer .footer-atelier-link:hover {
  background: none;
  -webkit-text-fill-color: #ff9aaa;
  animation: none;
}
@keyframes atelier-shimmer {
  0%   { background-position: 100% 50%; }
  100% { background-position:   0% 50%; }
}
#tudor-footer .footer-copy {
  font-size: 11px;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.1em;
}
footer#tudor-footer + .site-footer { margin-top: 0 !important; }

/* Tudor page responsive */
@media (max-width: 900px) {
  #watch-row { grid-template-columns: repeat(2, 1fr); }
  .ambassador-slide { flex: 0 0 50%; }
  .about-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .ambassador-section-wrap { padding: 0 2.5rem; }
  .watch-row-wrap { padding: 0 1.5rem; }
}
@media (max-width: 600px) {
  #watch-row { grid-template-columns: repeat(2, 1fr); }
  .ambassador-slide { flex: 0 0 100%; }
  .section-heading { padding: 2.5rem 1.5rem 1.5rem; }
  .ambassador-section-wrap { padding: 0 2rem; }
  .watch-row-wrap { padding: 0; }
}
@media (max-width: 420px) {
  #watch-row { grid-template-columns: 1fr; }
}

/* ── Nav search trigger ──────────────────────────────────────────────── */
.nav-search-trigger {
    background: none;
    border: none;
    color: inherit;
    padding: 0.4rem 0.6rem;
    font-size: 1rem;
    cursor: pointer;
    line-height: 1;
    opacity: 0.7;
    transition: opacity 0.2s;
    vertical-align: middle;
}
.nav-search-trigger:hover { opacity: 1; }

/* ── Nash Smart Search overlay ───────────────────────────────────────── */
@keyframes nash-search-shimmer {
    0%   { background-position: 200% 50%; }
    100% { background-position:   0% 50%; }
}

#nashSearchOverlay {
    position: fixed;
    inset: 0;
    z-index: 9500;
    background: rgba(0, 42, 117, 0.93);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 16vh 1rem 4rem;
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}
#nashSearchOverlay.is-open {
    opacity: 1;
    pointer-events: all;
}

#nashSearchInner {
    width: min(760px, 88vw);
    position: relative;
}

.nash-search-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Open Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
    background: linear-gradient(90deg,
        #7ab3ff, #b8d8ff, #4a90e2, #d4eaff, #6aaeff, #a8d0ff, #4a90e2, #7ab3ff);
    background-size: 300% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: nash-search-shimmer 4s linear infinite;
}

#nashSearchBox {
    display: flex;
    align-items: stretch;
    background: rgba(0, 36, 100, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 3px;
    overflow: hidden;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: border-color 0.25s, box-shadow 0.25s;
}
#nashSearchBox:focus-within {
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 20px 60px rgba(0,0,0,0.3);
}

#nashSearchInput {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-size: 19px;
    font-weight: 300;
    padding: 1.3rem 1.5rem;
    resize: none;
    min-height: 72px;
    max-height: 140px;
    line-height: 1.55;
    overflow-y: auto;
}
#nashSearchInput::placeholder { color: rgba(255, 255, 255, 0.38); }

.nsr-input-wrap {
    position: relative;
    flex: 1;
    display: flex;
}
.nsr-input-wrap #nashSearchInput {
    flex: 1;
    padding-right: 3rem;
}
#nashSearchClear {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.8rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s;
    flex-shrink: 0;
}
#nashSearchClear:hover {
    background: rgba(255, 255, 255, 0.32);
    color: #fff;
}

#nashSearchSubmit {
    width: 76px;
    min-height: 72px;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    border-left: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
    font-size: 1.25rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    align-self: stretch;
    transition: background 0.2s;
}
#nashSearchSubmit:hover { background: rgba(255, 255, 255, 0.22); }

#nashSearchClose {
    position: absolute;
    top: -2.5rem;
    right: 0;
    background: none;
    border: none;
    color: rgba(255,255,255,0.5);
    font-size: 0.8rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    transition: color 0.2s;
}
#nashSearchClose:hover { color: rgba(255,255,255,0.9); }

/* ── Smart Search results ─────────────────────────────────────────── */
.nash-search-state {
    text-align: center;
    padding: 2.5rem 1rem;
    color: rgba(255,255,255,0.7);
    font-size: 0.9rem;
}
.nash-search-state a { color: rgba(255,255,255,0.9); }

/* Spinner */
.nash-search-spinner {
    width: 32px; height: 32px;
    border: 2px solid rgba(255,255,255,0.2);
    border-top-color: #fff;
    border-radius: 50%;
    margin: 0 auto 1rem;
    animation: nss-spin 0.7s linear infinite;
}
@keyframes nss-spin { to { transform: rotate(360deg); } }

/* Page link pills */
.nsr-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}
.nsr-pill {
    display: inline-block;
    border: 1px solid rgba(255,255,255,0.35);
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 0.4rem 1rem;
    border-radius: 50px;
    transition: background 0.2s, border-color 0.2s;
}
.nsr-pill:hover {
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.7);
    color: #fff;
}

/* Meta line */
.nash-search-meta {
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
    margin-top: 1.75rem;
    margin-bottom: 1.25rem;
}

/* Results grid */
.nash-search-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
@media (max-width: 600px) {
    .nash-search-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Result card */
.nsr-card {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 3px;
    overflow: hidden;
    transition: background 0.2s;
}
.nsr-card:hover { background: rgba(255,255,255,0.12); }

.nsr-img-wrap {
    position: relative;
    aspect-ratio: 1;
    background: rgba(255,255,255,0.04);
    overflow: hidden;
}
.nsr-img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}
.nsr-card:hover .nsr-img { transform: scale(1.04); }
.nsr-img--placeholder {
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,0.2); font-size: 1.8rem;
}
.nsr-stock-dot {
    position: absolute; top: 6px; right: 6px;
    width: 7px; height: 7px;
    background: #4caf50;
    border-radius: 50%;
    z-index: 1;
}

.nsr-body { padding: 0.65rem 0.75rem 0.75rem; }
.nsr-meta {
    font-size: 0.65rem; letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
    margin-bottom: 0.25rem;
}
.nsr-name {
    font-family: var(--nash-serif);
    font-size: 0.9rem; font-weight: 400;
    color: #fff; line-height: 1.3;
    margin-bottom: 0.3rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.nsr-price {
    font-size: 0.72rem;
    color: rgba(255,255,255,0.65);
    margin-bottom: 0.5rem;
}
.nsr-view {
    display: inline-block;
    font-size: 0.65rem; letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.6);
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.25);
    padding-bottom: 1px;
    transition: color 0.2s, border-color 0.2s;
}
.nsr-view:hover { color: #fff; border-color: rgba(255,255,255,0.7); }

.nsr-view-all-btn {
    display: inline-block;
    background: #fff;
    color: var(--nash-dark);
    font-family: 'Open Sans', sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 0.75rem 2rem;
    border-radius: 0;
    transition: background 0.2s, color 0.2s;
}
.nsr-view-all-btn:hover {
    background: var(--nash-dark);
    color: #fff;
}

/* ── Inline video ad card (watch grid) ─────────────────────────────── */
.watch-ad-card {
    position: relative;
    overflow: hidden;
    background: #000;
    border: 1px solid #ececec;
    border-radius: 4px;
    aspect-ratio: 9 / 16;
}
.watch-ad-card video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}

/* ── Wedding Bands Page ──────────────────────────────────────────────── */
.bands-gender-card {
    cursor: pointer;
}
.bands-gender-img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.bands-gender-card:hover .bands-gender-img {
    transform: scale(1.03);
}
.bands-gender-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2.5rem 2rem;
    background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0) 100%);
    color: #fff;
}
.bands-gender-kicker {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: rgba(255,255,255,0.75);
    margin-bottom: 0.3rem;
}
.bands-gender-title {
    font-family: var(--nash-serif);
    font-size: 2rem;
    font-weight: 400;
    margin-bottom: 0.5rem;
}
.bands-gender-text {
    font-size: 0.88rem;
    line-height: 1.7;
    color: rgba(255,255,255,0.85);
    margin-bottom: 0;
    max-width: 340px;
}
@media (max-width: 767px) {
    .bands-gender-img { height: 320px; }
}

/* ── Designer Cards ──────────────────────────────────────────────────── */
.designer-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    padding: 2rem 1.75rem;
    height: 100%;
    transition: box-shadow 0.25s;
}
.designer-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.08);
}
.designer-card-icon {
    font-size: 1.8rem;
    color: var(--accent-orange);
    margin-bottom: 1.1rem;
    min-height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.designer-card-logo {
   
    width: auto;
    object-fit: contain;
    filter: grayscale(1) opacity(0.7);
    transition: filter 0.2s;
}
.designer-card:hover .designer-card-logo {
    filter: grayscale(0) opacity(1);
}
.designer-card-name {
    font-family: var(--nash-serif);
    font-size: 1.5rem;
    font-weight: 400;
    margin-bottom: 0.75rem;
}
.designer-card-text {
    font-size: 0.85rem;
    line-height: 1.8;
    color: #666;
    margin-bottom: 0;
}

/* ── Engagement Rings Page ───────────────────────────────────────────── */

/* Style cards */
.ring-style-card {
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none;
    background: #111;
}
.ring-style-card--tall .ring-style-img {
    height: 560px;
}
.ring-style-img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease, opacity 0.4s;
    opacity: 0.88;
}
.ring-style-card:hover .ring-style-img {
    transform: scale(1.04);
    opacity: 0.72;
}
.ring-style-card--plain {
    height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ring-style-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.ring-style-label--center {
    position: static;
    background: none;
    align-items: center;
    text-align: center;
    padding: 2rem 1.5rem;
}
.ring-style-name {
    font-family: var(--nash-serif);
    font-size: 2.2rem;
    font-weight: 400;
    line-height: 1.1;
}
.ring-style-sub {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: rgba(255,255,255,0.75);
}
.ring-style-cta {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: rgba(255,255,255,0.85);
    margin-top: 0.75rem;
    border-bottom: 1px solid rgba(255,255,255,0.4);
    padding-bottom: 2px;
    display: inline-block;
}
@media (max-width: 767px) {
    .ring-style-card--tall .ring-style-img { height: 320px; }
    .ring-style-img { height: 200px; }
    .ring-style-card--plain { height: 200px; }
}

/* Shape picker */
.ring-shapes-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    border: 1px solid #e2e2e2;
}
.ring-shape-item {
    flex: 1 1 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    padding: 1.75rem 1rem;
    text-decoration: none;
    color: #333;
    border-right: 1px solid #e2e2e2;
    transition: background 0.2s, color 0.2s;
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.ring-shape-item:last-child { border-right: none; }
.ring-shape-item:hover {
    background: var(--nash-dark);
    color: #fff;
}
.ring-shape-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ring-shape-icon svg {
    width: 100%;
    height: 100%;
    color: inherit;
}
@media (max-width: 767px) {
    .ring-shape-item {
        flex: 1 1 33%;
        border-bottom: 1px solid #e2e2e2;
    }
}

/* Designer mosaic */
.eng-designer-mosaic {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    height: 100%;
    min-height: 480px;
    gap: 3px;
}
.eng-mosaic-main {
    grid-row: 1 / 3;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.eng-mosaic-a,
.eng-mosaic-b {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
@media (max-width: 991px) {
    .eng-designer-mosaic { min-height: 320px; }
}

/* Brand cards */
.eng-brand-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #e8e8e8;
    transition: box-shadow 0.25s;
}
.eng-brand-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.08);
}
.eng-brand-img-wrap {
    overflow: hidden;
    aspect-ratio: 4 / 3;
}
.eng-brand-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.eng-brand-card:hover .eng-brand-img {
    transform: scale(1.04);
}
.eng-brand-body {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.eng-brand-name {
    font-family: var(--nash-serif);
    font-size: 1.4rem;
    font-weight: 400;
    margin-bottom: 0.6rem;
}
.eng-brand-text {
    font-size: 0.83rem;
    line-height: 1.75;
    color: #666;
    margin-bottom: 1rem;
    flex: 1;
}
.eng-brand-link {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--nash-dark);
    text-decoration: none;
    border-bottom: 1px solid var(--nash-dark);
    padding-bottom: 1px;
    align-self: flex-start;
}
.eng-brand-link:hover { color: var(--nash-dark-hover); border-color: var(--nash-dark-hover); }

/* 4 Cs */
.four-c-icon {
    margin-bottom: 1rem;
    color: rgba(255,255,255,0.6);
}
.four-c-title {
    font-family: var(--nash-serif);
    font-size: 1.4rem;
    font-weight: 400;
    margin-bottom: 0.6rem;
}
.four-c-text {
    font-size: 0.83rem;
    line-height: 1.75;
    color: rgba(255,255,255,0.7);
    margin-bottom: 0;
}

/* ── Mobile hamburger ───────────────────────────────────────────────── */
.nav-hamburger {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 36px;
    height: 36px;
}
.nav-hamburger-bar {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--nash-dark);
    border-radius: 2px;
    transform-origin: center;
    transition: transform 0.3s ease, opacity 0.2s ease, width 0.3s ease;
}
.nav-hamburger-bar:nth-child(2) {
    width: 70%;
}
.nav-hamburger.is-open .nav-hamburger-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
    width: 100%;
}
.nav-hamburger.is-open .nav-hamburger-bar:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}
.nav-hamburger.is-open .nav-hamburger-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ── Fine Jewellery Category Cards ─────────────────────────────────── */
.fine-cat-card {
    cursor: pointer;
    border-radius: 2px;
}
.fine-cat-card--tall {
    height: 560px;
}
.fine-cat-card:not(.fine-cat-card--tall) {
    height: 260px;
}
.fine-cat-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.fine-cat-card:hover .fine-cat-img {
    transform: scale(1.04);
}
.fine-cat-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.1) 60%, transparent 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.5rem 1.75rem;
}
.fine-cat-label {
    font-family: var(--nash-serif);
    font-size: 1.7rem;
    font-weight: 400;
    color: #fff;
    margin-bottom: 0.35rem;
    line-height: 1.1;
}
.fine-cat-link {
    font-family: 'Open Sans', sans-serif;
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: color 0.2s;
}
.fine-cat-link:hover { color: #fff; }

/* Shop-all link below product grids */
.shop-all-link {
    text-align: center;
    padding: 0.5rem 1.5rem 3rem;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.shop-all-link::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 1px;
    background: #ccc;
}
.shop-all-link a {
    color: #555;
    text-decoration: none;
    transition: color 0.2s;
}
.shop-all-link a:hover { color: var(--nash-dark); }

/* ── My Account — Edit Form ───────────────────────────── */
.me-form-wrap {
    max-width: 680px;
    padding: 2.5rem 0;
}
.me-section {
    padding: 2rem 0;
    border-bottom: 1px solid #ebe7e1;
}
.me-section:last-of-type { border-bottom: none; }

.me-section-label {
    font-family: 'Open Sans', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--nash-dark);
    margin-bottom: 1.25rem;
}
.me-input,
.form-select.me-input {
    border: 1px solid #ccc9c2;
    border-radius: 0;
    padding: 0.65rem 0.9rem;
    font-size: 0.9rem;
    color: #1a1a1a;
    background-color: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.me-input:focus,
.form-select.me-input:focus {
    border-color: var(--nash-dark);
    box-shadow: 0 0 0 3px rgba(0, 42, 117, 0.1);
    outline: none;
}
.me-input::placeholder { color: #aaa; }
.me-section .form-label {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #444;
    margin-bottom: 0.35rem;
}

/* Ship toggle section */
.me-section-ship { border-bottom: none; }

/* Toggle switch */
.me-toggle-label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.9rem;
    font-weight: 500;
    color: #222;
    cursor: pointer;
    user-select: none;
}
.me-toggle-switch {
    position: relative;
    display: inline-block;
    width: 42px;
    height: 24px;
    flex-shrink: 0;
}
.me-toggle-switch input { opacity: 0; width: 0; height: 0; }
.me-toggle-slider {
    position: absolute;
    inset: 0;
    background: #ccc;
    border-radius: 24px;
    transition: background 0.2s;
    cursor: pointer;
}
.me-toggle-slider::before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    left: 3px;
    top: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
}
.me-toggle-switch input:checked + .me-toggle-slider { background: var(--nash-dark); }
.me-toggle-switch input:checked + .me-toggle-slider::before { transform: translateX(18px); }
