/* ==========================================================================
   SCOTLAND WATCH CO. / LUXURY HOROLOGY THEME FOR OPENCART 3.x
   Inspired by independent boutique watchmakers & Scottish heritage
   ========================================================================== */

:root {
  --color-primary: #0a1118;         /* Deep Onyx / Horology Dark */
  --color-navy: #0e1b2a;            /* Scottish Midnight Navy */
  --color-navy-light: #162a42;      /* Lighter Navy */
  --color-saltire-blue: #0065bd;    /* Scottish Saltire Azure */
  --color-saltire-soft: #eaf2fb;    /* Soft Azure Tint */
  --color-gold: #c5a059;            /* Heritage Champagne / Horology Gold */
  --color-gold-hover: #b38c45;      /* Darker Gold */
  --color-gold-soft: #fbf7ee;       /* Soft Gold Tint */
  --color-bg-body: #fbfbfa;         /* Warm Off-White Canvas */
  --color-bg-card: #ffffff;         /* Crisp White */
  --color-border: #e8ecef;          /* Subtle Divider Line */
  --color-border-dark: #243242;     /* Dark Divider */
  --color-text-main: #14171a;       /* Charcoal Text */
  --color-text-muted: #657786;      /* Slate Secondary Text */
  --color-text-light: #9aa5b1;      /* Light Text */
  
  --font-heading: 'Cinzel', 'Playfair Display', Georgia, serif;
  --font-body: 'Montserrat', 'Raleway', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: 'SFMono-Regular', Menlo, Monaco, Consolas, monospace;

  --shadow-sm: 0 2px 8px rgba(10, 17, 24, 0.04);
  --shadow-md: 0 8px 24px rgba(10, 17, 24, 0.08);
  --shadow-lg: 0 16px 40px rgba(10, 17, 24, 0.12);
  --transition-smooth: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  --radius-sm: 2px;
  --radius-md: 4px;
}

/* --------------------------------------------------------------------------
   GLOBAL RESET & TYPOGRAPHY
   -------------------------------------------------------------------------- */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--color-text-main);
  background-color: var(--color-bg-body);
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading);
  color: var(--color-primary);
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-top: 0;
  line-height: 1.3;
}

h1, .h1 { font-size: 34px; letter-spacing: 0.08em; }
h2, .h2 { font-size: 26px; letter-spacing: 0.06em; }
h3, .h3 { font-size: 20px; letter-spacing: 0.05em; }
h4, .h4 { font-size: 16px; letter-spacing: 0.04em; }
h5, .h5 { font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
h6, .h6 { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; }

a {
  color: var(--color-navy);
  text-decoration: none;
  transition: var(--transition-smooth);
}

a:hover, a:focus {
  color: #7928ca;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

/* --------------------------------------------------------------------------
   TOP ANNOUNCEMENT / UTILITY BAR
   -------------------------------------------------------------------------- */
#top {
  background-color: var(--color-primary);
  color: #c9d2db;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 7px 0;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0;
  min-height: 34px;
}

#top a {
  color: #c9d2db;
  font-weight: 500;
}

#top a:hover {
  color: #c084fc;
}

.top-bar-announcement {
  display: inline-block;
  color: #c084fc;
  font-weight: 600;
  letter-spacing: 0.1em;
}

.top-bar-announcement i {
  color: #c084fc;
  margin-right: 6px;
}

#top .dropdown-menu {
  background: var(--color-primary);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
  padding: 8px 0;
  font-size: 12px;
}

#top .dropdown-menu li > a {
  color: #c9d2db;
  padding: 8px 18px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 11px;
}

#top .dropdown-menu li > a:hover {
  background: rgba(168, 56, 255, 0.15);
  color: #c084fc;
}

#top .btn-link {
  color: #c9d2db;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0 8px;
  border: none;
  background: transparent;
}

#top .btn-link:hover, #top .btn-link:focus {
  color: #c084fc;
  text-decoration: none;
}

#top-links {
  margin: 0;
}

#top-links ul {
  margin: 0;
  padding: 0;
}

#top-links li {
  padding: 0 10px;
}

#top-links li + li {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

/* --------------------------------------------------------------------------
   MAIN HEADER & LOGO
   -------------------------------------------------------------------------- */
header {
  background-color: var(--color-bg-card);
  border-bottom: 1px solid var(--color-border);
  padding: 24px 0 20px 0;
  position: relative;
  z-index: 100;
  transition: var(--transition-smooth);
}

.header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#logo {
  margin: 0;
  text-align: left;
}

#logo h1 {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.1;
}

#logo h1 a {
  color: var(--color-primary);
  display: inline-block;
}

#logo .brand-tagline {
  display: block;
  font-family: var(--font-body);
  font-size: 9px;
  letter-spacing: 0.28em;
  color: #c084fc;
  text-transform: uppercase;
  margin-top: 4px;
  font-weight: 600;
}

#logo img {
  max-height: 52px;
  width: auto;
  display: inline-block;
  transition: opacity var(--transition-smooth);
}

#logo a:hover img {
  opacity: 0.88;
}

/* --------------------------------------------------------------------------
   SEARCH BAR
   -------------------------------------------------------------------------- */
#search {
  max-width: 320px;
  margin: 0 auto;
}

#search .form-control {
  height: 42px;
  background: var(--color-bg-body);
  border: 1px solid var(--color-border);
  border-right: none;
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--color-text-main);
  padding: 0 16px;
  box-shadow: none;
  transition: var(--transition-smooth);
}

#search .form-control:focus {
  border-color: var(--color-navy);
  background: #ffffff;
}

#search .btn-default {
  height: 42px;
  background: var(--color-bg-body);
  border: 1px solid var(--color-border);
  border-left: none;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  color: var(--color-navy);
  padding: 0 18px;
  box-shadow: none;
  transition: var(--transition-smooth);
}

#search .btn-default:hover {
  background: var(--color-navy);
  color: #ffffff;
  border-color: var(--color-navy);
}

/* --------------------------------------------------------------------------
   MINIMALIST LUXURY CART
   -------------------------------------------------------------------------- */
#cart {
  position: relative;
  text-align: right;
}

#cart > button {
  background: linear-gradient(135deg, #7928ca 0%, #8725f8 100%);
  color: #ffffff;
  border: 1px solid #9333ea;
  border-radius: var(--radius-sm);
  padding: 10px 20px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 600;
  transition: var(--transition-smooth);
  box-shadow: 0 3px 12px rgba(121, 40, 202, 0.28);
}

#cart > button:hover, #cart > button:focus {
  background: linear-gradient(135deg, #8725f8 0%, #aa38ff 100%);
  border-color: #c084fc;
  color: #ffffff;
  box-shadow: 0 6px 20px rgba(170, 56, 255, 0.5);
  transform: translateY(-1px);
}

#cart > button i {
  color: #ffffff;
  margin-right: 8px;
  font-size: 14px;
  transition: var(--transition-smooth);
}

#cart > button:hover i {
  color: #ffffff;
  transform: scale(1.1);
}

#cart .dropdown-menu {
  width: 520px;
  min-width: 0;
  max-width: calc(100vw - 30px);
  padding: 16px;
  border: 1px solid #e8edf2;
  border-radius: var(--radius-sm);
  box-shadow: 0 10px 35px rgba(121, 40, 202, 0.12);
  background: #ffffff;
  margin-top: 10px;
}

#cart .dropdown-menu table {
  margin-bottom: 12px;
}

#cart .cart-product-image {
  width: 100px;
}

#cart .cart-product-image .img-thumbnail {
  width: 88px;
  height: 88px;
  max-width: none;
  object-fit: contain;
  background: #fff;
}

#cart .cart-product-name {
  overflow-wrap: anywhere;
}

#cart .cart-product-quantity,
#cart .cart-product-total {
  white-space: nowrap;
}

#cart .dropdown-menu td {
  padding: 8px 4px;
  font-size: 13px;
  vertical-align: middle;
  border-top: 1px solid var(--color-border);
}

#cart .dropdown-menu a {
  font-weight: 600;
  color: #7928ca;
  transition: var(--transition-smooth);
}

#cart .dropdown-menu a:hover {
  color: #aa38ff;
}

#cart .dropdown-menu .btn-danger {
  background: transparent;
  color: #c9302c;
  border: 1px solid #f2dede;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  padding: 0;
  line-height: 22px;
  text-align: center;
}

#cart .dropdown-menu .btn-danger:hover {
  background: #c9302c;
  color: #ffffff;
}

@media (max-width: 575px) {
  #cart .dropdown-menu {
    padding: 12px;
  }

  #cart .cart-products,
  #cart .cart-products tbody {
    display: block;
    width: 100%;
  }

  #cart .cart-product {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) 28px;
    gap: 0 8px;
    padding: 8px 0;
  }

  #cart .cart-product td {
    display: block;
    width: auto;
    padding: 2px 0;
    border: 0;
    text-align: left;
  }

  #cart .cart-product-image {
    grid-column: 1;
    grid-row: 1 / span 3;
  }

  #cart .cart-product-image .img-thumbnail {
    width: 64px;
    height: 64px;
  }

  #cart .cart-product-name,
  #cart .cart-product-quantity,
  #cart .cart-product-total {
    grid-column: 2;
  }

  #cart .cart-product-remove {
    grid-column: 3;
    grid-row: 1 / span 3;
  }
}

/* --------------------------------------------------------------------------
   PRIMARY NAVIGATION MENU (#menu)
   -------------------------------------------------------------------------- */
#menu {
  background: #ffffff;
  border: none;
  border-bottom: 1px solid var(--color-border);
  border-radius: 0;
  min-height: 48px;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  #menu .navbar-header {
    display: none !important;
  }
}

#menu .navbar-nav {
  float: none;
  text-align: center;
  margin: 0;
}

#menu .navbar-nav > li {
  float: none;
  display: inline-block;
}

#menu .navbar-nav > li > a {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-primary);
  padding: 15px 22px;
  background: transparent;
  position: relative;
  transition: var(--transition-smooth);
}

#menu .navbar-nav > li > a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2.5px;
  background: linear-gradient(90deg, #7928ca 0%, #aa38ff 100%);
  transition: var(--transition-smooth);
  transform: translateX(-50%);
  box-shadow: 0 0 8px rgba(170, 56, 255, 0.4);
}

#menu .navbar-nav > li > a:hover:after,
#menu .navbar-nav > li.open > a:after,
#menu .navbar-nav > li.active > a:after {
  width: 70%;
}

#menu .navbar-nav > li > a:hover,
#menu .navbar-nav > li.open > a,
#menu .navbar-nav > li.active > a {
  background: transparent;
  color: #7928ca;
}

#menu .dropdown-menu {
  background: #ffffff;
  border: 1px solid #e8edf2;
  border-radius: var(--radius-sm);
  box-shadow: 0 10px 30px rgba(121, 40, 202, 0.08);
  padding: 12px 0;
  min-width: 220px;
}

#menu .dropdown-menu a {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-main);
  padding: 10px 24px;
  display: block;
  transition: var(--transition-smooth);
}

#menu .dropdown-menu a:hover {
  background: #fbf5ff;
  color: #7928ca;
}

#menu .see-all {
  border-top: 1px solid var(--color-border);
  margin-top: 6px;
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   BREADCRUMBS
   -------------------------------------------------------------------------- */
.breadcrumb {
  background: transparent;
  padding: 18px 0;
  margin-bottom: 24px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--color-border);
  border-radius: 0;
}

.breadcrumb > li + li:before {
  content: "/";
  color: var(--color-text-light);
  padding: 0 10px;
}

.breadcrumb a {
  color: var(--color-text-muted);
}

.breadcrumb a:hover {
  color: #7928ca;
}

.breadcrumb > .active {
  color: var(--color-primary);
  font-weight: 600;
}

/* --------------------------------------------------------------------------
   HERO BANNER (FOR HOMEPAGE)
   -------------------------------------------------------------------------- */
.hero-luxury-banner {
  position: relative;
  background: linear-gradient(135deg, #0a1118 0%, #0e1b2a 50%, #152538 100%);
  color: #ffffff;
  padding: 90px 30px;
  margin-bottom: 60px;
  border-radius: var(--radius-sm);
  text-align: center;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}

.hero-luxury-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 50% 20%, rgba(197, 160, 89, 0.12) 0%, transparent 60%);
  pointer-events: none;
}

.hero-badge {
  display: inline-block;
  border: 1px solid rgba(197, 160, 89, 0.4);
  color: var(--color-gold);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 50px;
  margin-bottom: 22px;
  background: rgba(197, 160, 89, 0.08);
}

.hero-title {
  font-family: var(--font-heading);
  font-size: 46px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #ffffff;
  margin-bottom: 18px;
  text-transform: uppercase;
  line-height: 1.2;
}

.hero-subtitle {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.8;
  max-width: 680px;
  margin: 0 auto 36px auto;
  color: #b8c4d1;
  font-weight: 300;
  letter-spacing: 0.03em;
}

.hero-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.btn-hero-primary {
  background: var(--color-gold);
  color: #0a1118;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 14px 34px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-gold);
  transition: var(--transition-smooth);
}

.btn-hero-primary:hover {
  background: #ffffff;
  color: #0a1118;
  border-color: #ffffff;
  box-shadow: 0 4px 20px rgba(121, 40, 202, 0.3);
}

.btn-hero-outline {
  background: transparent;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 14px 34px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: var(--transition-smooth);
}

.btn-hero-outline:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  border-color: #ffffff;
}

/* --------------------------------------------------------------------------
   SECTION HEADINGS & DECORATION
   -------------------------------------------------------------------------- */
.section-header-luxury {
  text-align: center;
  margin-bottom: 48px;
  position: relative;
}

.section-subtitle-tag {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-gold);
  font-weight: 600;
  display: block;
  margin-bottom: 8px;
}

.section-header-luxury h2 {
  font-size: 32px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
}

.section-header-luxury p {
  color: var(--color-text-muted);
  max-width: 600px;
  margin: 0 auto;
  font-size: 14px;
}

.luxury-divider {
  width: 60px;
  height: 2px;
  background: var(--color-gold);
  margin: 18px auto 0 auto;
}

/* --------------------------------------------------------------------------
   PRODUCT CARDS / 3 WATCHES SHOWCASE
   -------------------------------------------------------------------------- */
.product-layout {
  margin-bottom: 36px;
  transition: var(--transition-smooth);
}

.product-thumb {
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  margin-bottom: 0;
  overflow: hidden;
  transition: var(--transition-smooth);
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.product-thumb:hover {
  border-color: #aa38ff;
  box-shadow: 0 12px 32px rgba(121, 40, 202, 0.12);
  transform: translateY(-4px);
}

.product-thumb .image {
  position: relative;
  text-align: center;
  background: #f7f8fa;
  padding: 30px 20px;
  overflow: hidden;
}

.product-thumb .image img {
  margin: 0 auto;
  max-height: 290px;
  object-fit: contain;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.product-thumb:hover .image img {
  transform: scale(1.06);
}

.product-thumb .watch-badge,
.product-gallery-box > .watch-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: linear-gradient(135deg, #7928ca 0%, #aa38ff 100%);
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  z-index: 2;
}

.product-thumb .caption {
  padding: 24px 20px 18px 20px;
  text-align: center;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.product-thumb h4 {
  margin: 0 0 8px 0;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.04em;
  font-family: 'Playfair Display', Georgia, serif;
}

.product-thumb h4 a {
  color: #7928ca;
  transition: var(--transition-smooth);
}

.product-thumb h4 a:hover {
  color: #aa38ff;
}

.product-thumb .watch-spec-tag {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7928ca;
  font-weight: 600;
  margin-bottom: 12px;
  display: block;
}

.product-thumb p.description {
  font-size: 13px;
  color: var(--color-text-muted);
  line-height: 1.6;
  margin-bottom: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-thumb .price {
  font-family: var(--font-body);
  font-size: 20px;
  font-weight: 700;
  color: var(--color-primary);
  letter-spacing: 0.04em;
  margin: 10px 0 16px 0;
}

.product-thumb .price-new {
  color: #a82424;
  font-weight: 700;
}

.product-thumb .price-old {
  color: var(--color-text-light);
  text-decoration: line-through;
  font-size: 15px;
  margin-left: 8px;
  font-weight: 400;
}

.product-thumb .price-tax {
  display: block;
  font-size: 11px;
  color: var(--color-text-light);
  font-weight: 400;
  letter-spacing: 0.04em;
  margin-top: 2px;
}

.product-thumb .button-group {
  border-top: 1px solid var(--color-border);
  display: flex;
  background: #ffffff;
}

.product-thumb .button-group button {
  background: transparent;
  border: none;
  padding: 14px 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary);
  transition: var(--transition-smooth);
  cursor: pointer;
}

.product-thumb .button-group button:first-child {
  flex-grow: 1;
  background: var(--color-primary);
  color: #ffffff;
}

.product-thumb .button-group button:first-child:hover {
  background: #7928ca;
  color: #ffffff;
}

.product-thumb .button-group button + button {
  border-left: 1px solid var(--color-border);
  width: 48px;
  color: var(--color-text-muted);
}

.product-thumb .button-group button + button:hover {
  color: #7928ca;
  background: var(--color-bg-body);
}

/* Shop cards: transparent watch images on a consistent pale background. */
.swc-shop-grid {
  display: flex;
  flex-wrap: wrap;
}

.swc-shop-grid .product-layout {
  display: flex;
}

.swc-shop-grid .product-thumb {
  width: 100%;
  background: #fff;
}

.swc-shop-grid .image {
  height: 350px;
  padding: 12px;
  background: #f7f8fa;
}

.swc-shop-grid .shop-card-watches {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.swc-shop-grid .shop-card-watches img {
  flex: 1 1 0;
  width: 0;
  min-width: 0;
  height: 100%;
  max-height: none;
  object-fit: contain;
}

.swc-shop-grid .caption {
  justify-content: flex-start;
  min-height: 240px;
  padding: 24px 20px 30px;
}

.swc-shop-grid .watch-spec-tag {
  margin-bottom: 14px;
}

.swc-shop-grid h4 {
  font-size: 20px;
}

.swc-shop-grid .description {
  min-height: 42px;
  margin-bottom: 20px;
}

.swc-shop-grid .price {
  margin: auto 0 0;
  font-size: 22px;
  font-weight: 800;
}

.swc-shop-grid .shop-card-shipping {
  display: block;
  margin-top: 7px;
  color: #7928ca;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.03em;
}

@media (min-width: 768px) and (max-width: 991px) {
  .swc-shop-grid .image {
    height: 310px;
  }
}

/* --------------------------------------------------------------------------
   BRAND STORY & HERITAGE SHOWCASE
   -------------------------------------------------------------------------- */
.heritage-story-section {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 60px 40px;
  margin: 70px 0;
  box-shadow: var(--shadow-sm);
}

.heritage-lead-quote {
  font-family: var(--font-heading);
  font-size: 22px;
  line-height: 1.6;
  font-style: italic;
  color: var(--color-navy);
  margin-bottom: 24px;
  border-left: 3px solid var(--color-gold);
  padding-left: 20px;
}

.heritage-feature-badge {
  display: inline-block;
  background: var(--color-saltire-soft);
  color: var(--color-saltire-blue);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: var(--radius-sm);
  margin-bottom: 12px;
}

/* --------------------------------------------------------------------------
   HOROLOGY CRAFTSMANSHIP PILLARS (4 CARDS)
   -------------------------------------------------------------------------- */
.craftsmanship-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
  margin: 50px 0;
}

.craft-card {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 32px 24px;
  text-align: center;
  transition: var(--transition-smooth);
}

.craft-card:hover {
  border-color: #7928ca;
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}

.craft-icon-wrap {
  width: 60px;
  height: 60px;
  line-height: 60px;
  border-radius: 50%;
  background: var(--color-gold-soft);
  color: var(--color-gold);
  font-size: 24px;
  margin: 0 auto 20px auto;
  transition: var(--transition-smooth);
}

.craft-card:hover .craft-icon-wrap {
  background: var(--color-navy);
  color: #ffffff;
}

.craft-card h4 {
  font-size: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.craft-card p {
  color: var(--color-text-muted);
  font-size: 13px;
  margin: 0;
  line-height: 1.6;
}

/* --------------------------------------------------------------------------
   INFORMATIONAL CARDS (PAGES)
   -------------------------------------------------------------------------- */
.info-pages-trio {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin: 40px 0 60px 0;
}

.info-box-card {
  background: #ffffff;
  border: 1px solid var(--color-border);
  padding: 30px;
  border-radius: var(--radius-sm);
  transition: var(--transition-smooth);
  position: relative;
}

.info-box-card:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-md);
}

.info-box-card h4 {
  font-size: 17px;
  margin-bottom: 12px;
}

.info-box-card p {
  color: var(--color-text-muted);
  font-size: 13px;
  margin-bottom: 20px;
}

.info-box-link {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-gold);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.info-box-link:hover {
  color: var(--color-navy);
}

/* --------------------------------------------------------------------------
   PRODUCT DETAIL PAGE (#product-product)
   -------------------------------------------------------------------------- */
#product-product {
  padding-bottom: 60px;
}

.product-gallery-box {
  position: relative;
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 30px;
  text-align: center;
  margin-bottom: 20px;
}

.product-gallery-box .thumbnails {
  list-style: none;
  padding: 0;
  margin: 0;
}

.product-gallery-box .thumbnails .thumbnail {
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
}

.product-gallery-box .thumbnails .thumbnail img {
  max-height: 480px;
  margin: 0 auto;
}

.thumbnails .image-additional {
  display: inline-block;
  width: 80px;
  margin: 12px 6px 0 6px;
}

/* White backing for transparent product photos in the enlarged gallery. */
.mfp-image-holder .mfp-figure::after {
  background: #fff;
}

.thumbnails .image-additional .thumbnail {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 4px;
  transition: var(--transition-smooth);
}

.thumbnails .image-additional .thumbnail:hover {
  border-color: #7928ca;
}

.product-details-luxury {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 36px 30px;
  box-shadow: var(--shadow-sm);
}

.product-details-luxury h1 {
  font-size: 28px;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.product-meta-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.product-badge-stock {
  background: #e8f5e9;
  color: #2e7d32;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: var(--radius-sm);
  font-size: 11px;
}

.product-details-luxury .price-block {
  margin: 20px 0 24px 0;
}

.product-details-luxury .price-main {
  font-size: 30px;
  font-weight: 700;
  color: var(--color-primary);
  letter-spacing: 0.04em;
}

.product-quick-specs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  background: var(--color-bg-body);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 16px;
  margin-bottom: 24px;
  font-size: 12px;
}

.product-quick-specs div strong {
  display: block;
  font-family: var(--font-heading);
  color: var(--color-navy);
  font-size: 13px;
  letter-spacing: 0.04em;
}

.product-quick-specs div span {
  color: var(--color-text-muted);
}

#product .form-group {
  margin-bottom: 18px;
}

#product label.control-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-navy);
  margin-bottom: 6px;
}

#product select.form-control,
#product input.form-control {
  height: 44px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  font-size: 13px;
  letter-spacing: 0.04em;
}

#product #input-quantity {
  height: 44px;
}

#button-cart {
  background: var(--color-primary);
  color: #ffffff;
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 16px;
  width: 100%;
  margin-top: 0;
  transition: var(--transition-smooth);
}

#button-cart:hover {
  background: #7928ca;
  border-color: #7928ca;
  color: #ffffff;
  box-shadow: 0 4px 16px rgba(121, 40, 202, 0.3);
}

/* Tabs on Product Page */
.nav-tabs {
  border-bottom: 2px solid var(--color-border);
  margin: 36px 0 24px 0;
}

.nav-tabs > li > a {
  border: none !important;
  background: transparent !important;
  color: var(--color-text-muted);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 14px 24px;
  position: relative;
}

.nav-tabs > li.active > a,
.nav-tabs > li > a:hover {
  color: var(--color-primary) !important;
}

.nav-tabs > li.active > a:after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--color-gold);
}

.tab-content {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 30px;
  font-size: 14px;
  line-height: 1.8;
}

/* Technical Specification Table */
.table-specification, .table-bordered {
  border: 1px solid var(--color-border);
  background: #ffffff;
  width: 100%;
}

.table-specification td, .table-bordered td {
  padding: 12px 18px;
  border: 1px solid var(--color-border);
  font-size: 13px;
}

.table-specification thead td, .table-bordered thead td {
  background: var(--color-bg-body);
  font-family: var(--font-heading);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-primary);
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   CATEGORY / SHOP LISTING (#product-category)
   -------------------------------------------------------------------------- */
.category-header-luxury {
  text-align: center;
  padding: 40px 0 30px 0;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 30px;
}

.category-header-luxury h1 {
  font-size: 36px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 12px;
}

.category-header-luxury p {
  color: var(--color-text-muted);
  max-width: 700px;
  margin: 0 auto;
  font-size: 15px;
}

.category-filter-bar {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 12px 20px;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.category-filter-bar .form-control {
  height: 36px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-size: 12px;
}

/* --------------------------------------------------------------------------
   INFORMATIONAL & CONTACT PAGES
   -------------------------------------------------------------------------- */
#information-information, #information-contact {
  padding-bottom: 60px;
}

#information-information.information-swc-page {
  padding-bottom: 0;
}

.information-content-box {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 48px;
  box-shadow: var(--shadow-sm);
  max-width: 960px;
  margin: 0 auto;
  line-height: 1.8;
  font-size: 15px;
}

.information-content-box h1 {
  text-align: center;
  font-size: 34px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.information-content-box .title-divider {
  width: 50px;
  height: 2px;
  background: var(--color-gold);
  margin: 0 auto 36px auto;
}

.contact-concierge-card {
  background: var(--color-primary);
  color: #ffffff;
  padding: 36px;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
  margin-bottom: 30px;
}

.contact-concierge-card h3 {
  color: #ffffff;
  font-size: 20px;
  margin-bottom: 14px;
  letter-spacing: 0.08em;
}

.contact-concierge-card p {
  color: #c9d2db;
  font-size: 13px;
  line-height: 1.8;
}

.contact-concierge-card .concierge-highlight {
  color: var(--color-gold);
  font-weight: 600;
  display: block;
  margin-top: 12px;
}

/* Form Styles */
.form-control {
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  box-shadow: none;
  font-size: 13px;
}

.form-control:focus {
  border-color: var(--color-navy);
  box-shadow: none;
}

.btn-primary {
  background: var(--color-primary);
  border-color: var(--color-primary);
  border-radius: var(--radius-sm);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 12px;
  font-weight: 600;
  padding: 12px 24px;
  transition: var(--transition-smooth);
}

.btn-primary:hover, .btn-primary:focus {
  background: #7928ca;
  border-color: #7928ca;
  color: #ffffff;
}

/* Keep the quantity readable when the cart table is squeezed on mobile. */
#checkout-cart .cart-quantity {
  display: inline-flex;
  align-items: stretch;
  width: auto;
  min-width: 136px;
  vertical-align: middle;
}

#checkout-cart .cart-quantity .form-control {
  float: none;
  flex: 0 0 60px;
  width: 60px;
  min-width: 60px;
  padding: 6px 8px;
  text-align: center;
  font-size: 14px;
  color: #0a1118;
}

#checkout-cart .cart-quantity .input-group-btn {
  display: inline-flex;
  flex: 0 0 auto;
  width: auto;
}

#checkout-cart .cart-quantity .form-control,
#checkout-cart .cart-quantity .btn {
  height: 34px;
  box-sizing: border-box;
}

#checkout-cart .cart-quantity .btn {
  min-width: 38px;
  padding: 6px 10px;
  line-height: 20px;
  letter-spacing: 0;
}

@media (max-width: 767px) {
  #checkout-cart .cart-quantity {
    flex-direction: column;
    gap: 6px;
    width: 80px;
    min-width: 80px;
  }

  #checkout-cart .cart-quantity .form-control {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
  }

  #checkout-cart .cart-quantity .input-group-btn {
    width: 100%;
  }

  #checkout-cart .cart-quantity .input-group-btn .btn {
    flex: 1 1 0;
    margin-left: 0;
  }
}

/* Coupon controls share one height and remain usable on narrow screens. */
#collapse-coupon .input-group {
  display: flex;
  align-items: stretch;
}

#collapse-coupon .form-control {
  float: none;
  flex: 1 1 auto;
  min-width: 0;
  height: 44px;
}

#collapse-coupon .input-group-btn {
  display: flex;
  flex: 0 0 auto;
  width: auto;
}

#button-coupon {
  height: 44px;
  padding: 0 24px;
  line-height: 42px;
  margin: 0;
}

@media (max-width: 767px) {
  #collapse-coupon .control-label {
    display: block;
    padding: 0;
    margin-bottom: 8px;
  }

  #collapse-coupon .input-group {
    flex-direction: column;
    gap: 8px;
    width: 100%;
  }

  #collapse-coupon .input-group-btn,
  #button-coupon {
    width: 100%;
  }
}

.swc-bank-transfer {
  margin: 10px 0 24px;
}

.swc-bank-intro {
  max-width: 760px;
  color: #657786;
  line-height: 1.8;
}

.swc-bank-card {
  padding: 26px;
  border: 1px solid #e9d5ff;
  border-radius: 8px;
  background: #fff;
}

.swc-bank-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.swc-bank-heading h3 {
  margin: 0;
  color: #7928ca;
  font-size: 22px;
}

.swc-bank-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #fbf5ff;
  color: #7928ca;
  font-size: 20px;
}

.swc-bank-details {
  margin: 0;
}

.swc-bank-row {
  display: grid;
  grid-template-columns: 145px minmax(0, 1fr);
  gap: 10px;
  padding: 14px 0;
  border-bottom: 1px solid #e8ecef;
}

.swc-bank-row dt {
  color: #657786;
  font-size: 12px;
  font-weight: 500;
}

.swc-bank-row dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.swc-bank-row strong {
  font-size: 15px;
  font-weight: 600;
  color: #0a1118;
}

.swc-bank-row small {
  display: block;
  margin-top: 4px;
  color: #657786;
  font-size: 12px;
}

.swc-bank-reference {
  margin-top: 22px;
  padding: 16px 18px;
  border-left: 3px solid #7928ca;
  background: #fbf5ff;
}

.swc-bank-reference > span {
  display: block;
  color: #657786;
  font-size: 12px;
}

.swc-bank-reference > strong {
  display: block;
  margin: 4px 0 6px;
  color: #7928ca;
  font-size: 19px;
}

.swc-bank-reference p {
  margin: 0;
  font-size: 12px;
}

.swc-bank-notice {
  margin: 18px 0 0;
  color: #657786;
  font-size: 12px;
}

.swc-bank-notice i {
  color: #7928ca;
}

@media (max-width: 575px) {
  .swc-bank-card {
    padding: 18px;
  }

  .swc-bank-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}

.btn-default {
  background: #ffffff;
  padding: 12px 24px;
  font-weight: 600;
  border-color: var(--color-border);
  border-radius: var(--radius-sm);
  color: var(--color-text-main);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
  transition: var(--transition-smooth);
}

.btn-default:hover {
  background: var(--color-bg-body);
  border-color: var(--color-text-muted);
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.pagination > li > a,
.pagination > li > span {
  display: flex;
  align-items: center;
  justify-content: center;
  float: none;
  min-width: 36px;
  height: 36px;
  margin: 0;
  padding: 6px 10px;
  border: 1px solid #e9d5ff;
  border-radius: 6px;
  background: #fff;
  color: #7928ca;
  font-size: 12px;
  font-weight: 600;
  transition: background 0.2s, border-color 0.2s;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span,
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-radius: 6px;
}

.pagination > li > a:hover,
.pagination > li > a:focus {
  background: #fbf5ff;
  border-color: #c084fc;
  color: #7928ca;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  color: #fff;
  background: linear-gradient(135deg, #7928ca, #aa38ff);
  border-color: #7928ca;
}

/* --------------------------------------------------------------------------
   PRE-FOOTER THISTLE EMBLEM STRIP (WHITE BAND ABOVE FOOTER)
   -------------------------------------------------------------------------- */
.footer-thistle-strip {
  background-color: #ffffff;
  padding: 28px 0;
  text-align: center;
  position: relative;
  z-index: 2;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
}

.footer-thistle-strip .footer-thistle-logo {
  max-height: 48px;
  width: auto;
  display: inline-block;
  margin: 0 auto;
  vertical-align: middle;
  transition: transform 0.3s ease, filter 0.3s ease;
}

.footer-thistle-strip .footer-thistle-logo:hover {
  transform: scale(1.08);
}

/* --------------------------------------------------------------------------
   FOOTER (RICH LUXURY HOROLOGY)
   -------------------------------------------------------------------------- */
footer {
  background-color: var(--color-primary);
  color: #c9d2db;
  padding: 40px 0 30px 0;
  margin-top: 0;
  border-top: 1px solid var(--color-border-dark);
  font-size: 13px;
  position: relative;
}

footer h5 {
  color: #ffffff;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 22px;
  position: relative;
  padding-bottom: 10px;
}

footer h5:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background: #aa38ff;
}

footer ul {
  padding: 0;
  list-style: none;
}

footer ul li {
  margin-bottom: 10px;
}

footer ul li a {
  color: #9aa5b1;
  font-size: 13px;
  letter-spacing: 0.02em;
  transition: var(--transition-smooth);
}

footer ul li a:hover {
  color: #c084fc;
  padding-left: 4px;
}

.footer-brand-column {
  margin-bottom: 30px;
}

.footer-brand-title {
  font-family: var(--font-heading);
  font-size: 20px;
  letter-spacing: 0.12em;
  color: #ffffff;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.footer-brand-tagline {
  color: #c084fc;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 16px;
  font-weight: 600;
}

.footer-brand-desc {
  font-size: 13px;
  line-height: 1.8;
  color: #9aa5b1;
}

.footer-contact-links {
  margin: 18px 0 12px;
  padding: 0;
  list-style: none;
  font-size: 13px;
}

.footer-contact-links li {
  margin-bottom: 8px;
}

.footer-contact-links a,
.footer-social-links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  overflow-wrap: anywhere;
}

.footer-contact-links i,
.footer-social-links i {
  color: #c084fc;
}

.footer-social-links,
.store-contact-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
}

.contact-concierge-card .store-contact-link {
  color: #d8b4fe;
  overflow-wrap: anywhere;
}

.contact-concierge-card .store-contact-link:hover {
  color: #fff;
}

.footer-newsletter-wrap {
  margin-top: 14px;
}

.footer-newsletter-wrap .input-group {
  margin-top: 10px;
}

.footer-newsletter-wrap input {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #ffffff;
  font-size: 12px;
  height: 42px;
}

.footer-newsletter-wrap input:focus {
  background: rgba(255, 255, 255, 0.1);
  border-color: #aa38ff;
  color: #ffffff;
}

.footer-newsletter-wrap .btn {
  background: linear-gradient(90deg, #8725f8 0%, #aa38ff 100%);
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 11px;
  height: 42px;
  border: none;
  padding: 0 18px;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(135, 37, 248, 0.3);
}

.footer-newsletter-wrap .btn:hover {
  background: linear-gradient(90deg, #993bf9 0%, #bb52ff 100%);
  color: #ffffff;
  box-shadow: 0 4px 15px rgba(170, 56, 255, 0.5);
}

/* Trust Badges in Footer */
.footer-trust-strip {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 24px 0;
  margin: 40px 0 30px 0;
  text-align: center;
}

.footer-trust-item {
  display: inline-block;
  margin: 8px 24px;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c9d2db;
}

.footer-trust-item i {
  color: #c084fc;
  margin-right: 8px;
  font-size: 14px;
}

.footer-bottom-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  color: #657786;
  letter-spacing: 0.06em;
  padding-top: 10px;
}

.footer-bottom-copy a {
  color: #9aa5b1;
}

.footer-bottom-copy a:hover {
  color: #c084fc;
}

/* --------------------------------------------------------------------------
   RESPONSIVE DESIGN (TABLETS & MOBILE)
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
  .hero-title {
    font-size: 34px;
  }
  #menu .navbar-nav > li > a {
    padding: 12px 14px;
    font-size: 11px;
  }
}

@media (max-width: 767px) {
  #top {
    text-align: center;
    padding: 2px 0;
  }
  #top-links {
    float: none !important;
    margin-top: 0;
  }
  #logo {
    text-align: center;
    margin-bottom: 16px;
  }
  #search {
    margin-bottom: 16px;
    max-width: 100%;
  }
  #cart {
    text-align: center;
  }
  #cart .dropdown-menu {
    min-width: 100%;
  }

  /* ------------------------------------------------------------------------
     MOBILE VERTICAL ACCORDION NAVIGATION MENU (#menu)
     ------------------------------------------------------------------------ */
  #menu {
    background: #ffffff;
    border: 1px solid #ede8f5;
    border-radius: 8px;
    margin: 12px 0 22px 0;
    padding: 0;
    box-shadow: 0 4px 16px rgba(26, 11, 46, 0.05);
    overflow: hidden;
  }

  #menu .navbar-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 9px 16px !important;
    min-height: 50px !important;
    background: #ffffff !important;
    cursor: pointer;
    user-select: none;
    margin: 0 !important;
    float: none !important;
    border-bottom: 1px solid transparent;
    transition: background 0.2s ease, border-color 0.2s ease;
  }

  #menu .navbar-header:hover {
    background: #faf7fd !important;
  }

  #menu.is-open .navbar-header {
    border-bottom-color: #ede8f5 !important;
  }

  #menu #category {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
    color: #1a0b2e !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    line-height: 1 !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #menu #category i {
    color: #7928ca;
    font-size: 15px;
  }

  #menu .btn-navbar,
  #menu .navbar-toggle {
    float: none !important;
    margin: 0 !important;
    background: linear-gradient(135deg, #7928ca 0%, #8725f8 100%) !important;
    border: 1px solid #9333ea !important;
    color: #ffffff !important;
    padding: 8px 14px !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    box-shadow: 0 3px 10px rgba(121, 40, 202, 0.3) !important;
    transition: var(--transition-smooth) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #menu .btn-navbar:hover,
  #menu .navbar-toggle:hover,
  #menu .btn-navbar:focus,
  #menu .navbar-toggle:focus {
    background: linear-gradient(135deg, #8725f8 0%, #aa38ff 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 16px rgba(170, 56, 255, 0.5) !important;
    outline: none !important;
  }

  #menu .navbar-toggle i {
    transition: transform 0.25s ease;
  }

  #menu .navbar-toggle:not(.collapsed) i {
    transform: rotate(90deg);
  }

  #menu .navbar-collapse {
    border-top: 1px solid #ede8f5 !important;
    padding: 0 !important;
    background: #ffffff !important;
    box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.02) !important;
    max-height: none !important;
  }

  /* PIONOWE UKŁADANIE POZYCJI W MENU */
  #menu .navbar-nav {
    float: none !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 4px 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #menu .navbar-nav > li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    border-bottom: 1px solid #f6f3f9 !important;
    margin: 0 !important;
    position: relative !important;
  }

  #menu .navbar-nav > li:last-child {
    border-bottom: none !important;
  }

  #menu .navbar-nav > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
    color: #241434 !important;
    padding: 14px 20px !important;
    text-align: left !important;
    background: transparent !important;
    border-left: 4px solid transparent !important;
    transition: all 0.22s ease !important;
    text-decoration: none !important;
  }

  /* Wyłączenie poziomego paska podkreślenia z desktopu na rzecz strzałki akordeonu */
  #menu .navbar-nav > li > a:after {
    content: '\f105' !important;
    font-family: 'FontAwesome' !important;
    position: static !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    transform: none !important;
    box-shadow: none !important;
    font-size: 15px !important;
    color: #cbd5e1 !important;
    transition: transform 0.22s ease, color 0.22s ease !important;
  }

  #menu .navbar-nav > li > a:hover,
  #menu .navbar-nav > li > a:focus,
  #menu .navbar-nav > li.active > a {
    background: #fbf7fe !important;
    color: #7928ca !important;
    border-left: 4px solid #7928ca !important;
    padding-left: 24px !important;
  }

  #menu .navbar-nav > li > a:hover:after,
  #menu .navbar-nav > li > a:focus:after,
  #menu .navbar-nav > li.active > a:after {
    color: #7928ca !important;
    transform: translateX(4px) !important;
    width: auto !important;
  }

  /* Rozwijane podmenu na mobilnych */
  #menu .dropdown-menu {
    position: static !important;
    float: none !important;
    width: 100% !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    background: #f7f3fb !important;
    margin: 0 !important;
    padding: 4px 0 !important;
    border-top: 1px solid #ede8f5 !important;
  }

  #menu .dropdown-menu a {
    padding: 12px 30px !important;
    font-size: 12.5px !important;
    color: #4a5568 !important;
    border-left: 4px solid transparent !important;
  }

  #menu .dropdown-menu a:hover {
    background: #efe8f7 !important;
    color: #7928ca !important;
    border-left-color: #aa38ff !important;
  }
  .hero-luxury-banner {
    padding: 50px 20px;
  }
  .hero-title {
    font-size: 26px;
  }
  .heritage-story-section {
    padding: 30px 20px;
  }
  .footer-bottom-copy {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
}


/* --------------------------------------------------------------------------
   ENHANCED HERO BACKGROUND & BLOG STYLES
   -------------------------------------------------------------------------- */
.hero-luxury-banner.with-bg {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  position: relative;
}

.hero-luxury-banner.with-bg::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(10, 17, 24, 0.75);
  z-index: 1;
}

.hero-luxury-banner.with-bg > * {
  position: relative;
  z-index: 2;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 30px;
  margin: 40px 0;
}

.blog-card {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  overflow: hidden;
  transition: var(--transition-smooth);
  display: flex;
  flex-direction: column;
}

.blog-card:hover {
  border-color: #aa38ff;
  box-shadow: 0 12px 30px rgba(121, 40, 202, 0.14);
  transform: translateY(-4px);
}

.blog-card-img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.blog-card:hover .blog-card-img {
  transform: scale(1.03);
}

.blog-card-body {
  padding: 26px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.blog-card-date {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #7928ca;
  font-weight: 700;
  display: block;
  margin-bottom: 8px;
}

.blog-card-title {
  font-size: 18px;
  margin-bottom: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.blog-card-title a {
  color: var(--color-primary);
  transition: var(--transition-smooth);
}

.blog-card-title a:hover {
  color: #7928ca;
}

.blog-card-excerpt {
  color: var(--color-text-muted);
  font-size: 13px;
  line-height: 1.7;
  margin-bottom: 18px;
}

.blog-list-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 24px;
}

.blog-list-item {
  min-width: 0;
}

.blog-list-grid .blog-card {
  height: auto;
  min-height: 0;
}

.blog-list-grid .blog-card-img {
  height: 200px;
}

.blog-list-grid .blog-card-body {
  flex-grow: 0;
  padding: 18px;
  justify-content: flex-start;
}

.blog-list-grid .blog-card-date {
  font-size: 10px;
  letter-spacing: 0.08em;
}

.blog-list-grid .blog-card-title {
  font-size: 16px;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-list-grid .blog-card-excerpt {
  margin-bottom: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  border-top: 1px solid #e8ecef;
  padding-top: 12px;
  margin-top: 14px;
}

.blog-card-meta > span {
  min-width: 0;
}

.blog-card-meta > a {
  flex-shrink: 0;
  white-space: nowrap;
}

@media (max-width: 991px) {
  .blog-list-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .blog-list-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
}

.saltire-spec-matrix {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin: 40px 0;
}

.saltire-spec-item {
  background: #ffffff;
  border: 1px solid var(--color-border);
  padding: 24px;
  border-radius: var(--radius-sm);
  transition: var(--transition-smooth);
}

.saltire-spec-item:hover {
  border-color: #7928ca;
  box-shadow: var(--shadow-sm);
}

.saltire-spec-item h4 {
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 8px;
  color: var(--color-navy);
}

.saltire-spec-item p {
  color: var(--color-text-muted);
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
}


/* --------------------------------------------------------------------------
   HOMEPAGE EXACT RECREATION (SCOTLAND WATCH CO. OFFICIAL HOMEPAGE STYLES)
   -------------------------------------------------------------------------- */
.swc-hero-wrapper {
  background: radial-gradient(circle at 85% 45%, rgba(168, 56, 255, 0.42) 0%, rgba(91, 33, 182, 0.28) 35%, transparent 68%),
              linear-gradient(135deg, #10061a 0%, #150924 50%, #290d45 100%);
  border-radius: var(--radius-sm);
  padding: 55px 45px;
  margin-bottom: 50px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(10, 5, 20, 0.35);
}

.swc-hero-brand {
  font-family: var(--font-body);
  font-size: 30px;
  font-weight: 800;
  color: #f2bcf7;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0;
  line-height: 1.15;
}

.swc-hero-won {
  font-family: var(--font-body);
  font-size: 28px;
  font-weight: 400;
  color: #ffffff;
  margin: 6px 0 16px 0;
}

.swc-hero-award {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 48px;
  font-weight: 700;
  color: #dfb141; /* Rich Gold as in Best Luxury Watch Design Company 2025 award banner */
  line-height: 1.12;
  margin: 0 0 22px 0;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.6);
}

.swc-hero-desc {
  font-family: var(--font-body);
  font-style: italic;
  font-size: 16px;
  line-height: 1.65;
  color: #ffffff;
  max-width: 540px;
  margin-bottom: 34px;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

.swc-hero-buttons {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}

.btn-pill-white {
  background: #ffffff;
  color: #1a0b2e;
  border-radius: 50px;
  padding: 13px 38px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: none;
  display: inline-block;
  transition: var(--transition-smooth);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.btn-pill-white:hover {
  background: #f4ecf7;
  color: #1a0b2e;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.btn-pill-purple {
  background: linear-gradient(90deg, #8725f8 0%, #aa38ff 100%);
  color: #ffffff;
  border-radius: 50px;
  padding: 14px 48px;
  font-size: 19px;
  font-weight: 700;
  font-family: 'Playfair Display', Georgia, serif;
  letter-spacing: 0.02em;
  border: none;
  display: inline-block;
  transition: var(--transition-smooth);
  box-shadow: 0 0 25px rgba(168, 56, 255, 0.7), 0 4px 15px rgba(0, 0, 0, 0.3);
}

.btn-pill-purple:hover {
  color: #ffffff;
  background: linear-gradient(90deg, #9635ff 0%, #bb4cff 100%);
  transform: translateY(-2px);
  box-shadow: 0 0 35px rgba(187, 76, 255, 0.95), 0 6px 22px rgba(0, 0, 0, 0.4);
}

/* THE SALTIRE COLLECTION 3-COLUMN SECTION */
.swc-collection-section {
  background: #ffffff;
  padding: 50px 0 60px 0;
}

.swc-collection-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 34px;
  font-weight: 800;
  text-align: center;
  color: #0a0a0a;
  margin-bottom: 45px;
}

.swc-card-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 4px;
  margin-bottom: 22px;
  background: #f7f7f7;
}

.swc-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.swc-card-img-wrap:hover .swc-card-img {
  transform: scale(1.04);
}

.swc-watch-name {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 24px;
  font-weight: 800;
  text-align: center;
  color: #0a0a0a;
  margin: 0 0 12px 0;
}

.swc-watch-intro {
  font-size: 14px;
  line-height: 1.65;
  color: #262626;
  text-align: center;
  margin-bottom: 24px;
  min-height: 68px;
}

.swc-features-box {
  border-top: 1px solid #f0f0f0;
  padding-top: 18px;
  margin-bottom: 40px;
}

.swc-features-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 8px;
}

.swc-features-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.swc-features-list li {
  font-size: 13px;
  line-height: 1.65;
  color: #333333;
  position: relative;
  padding-left: 14px;
  margin-bottom: 6px;
}

.swc-features-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #333333;
  font-size: 16px;
  line-height: 1;
}

/* QUOTE STRIP */
.swc-quote-strip {
  background: #ececec;
  padding: 34px 20px;
  text-align: center;
  font-size: 18px;
  line-height: 1.6;
  color: #242424;
  margin: 0;
}

/* DESIGNED IN SCOTLAND SPLIT */
.swc-designed-section {
  background: #ffffff;
  padding: 60px 0;
}

.swc-designed-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 38px;
  font-weight: 800;
  color: #0a0a0a;
  margin-bottom: 22px;
}

.swc-designed-p {
  font-size: 16px;
  line-height: 1.8;
  color: #333333;
}

/* BOTTOM CTA STRIP */
.swc-bottom-cta {
  background: linear-gradient(135deg, #10061a 0%, #1a0a2c 50%, #46146e 100%);
  padding: 45px 20px;
  text-align: center;
}

@media (max-width: 991px) {
  .swc-hero-award {
    font-size: 34px;
  }
  .swc-hero-brand {
    font-size: 22px;
  }
  .swc-hero-won {
    font-size: 20px;
  }
}

@media (max-width: 767px) {
  .swc-hero-wrapper {
    padding: 35px 20px;
    text-align: center;
  }
  .swc-hero-desc {
    margin-left: auto;
    margin-right: auto;
  }
  .swc-hero-buttons {
    align-items: center;
  }
  .swc-hero-buttons a {
    width: 100%;
    text-align: center;
  }
  .swc-designed-title {
    font-size: 28px;
    margin-top: 24px;
  }
}


/* --------------------------------------------------------------------------
   100% FULL-WIDTH HERO & ISOLATED WATCHES DISPLAY
   -------------------------------------------------------------------------- */
.swc-hero-fullwidth {
  width: 100%;
  background: radial-gradient(circle at 85% 45%, rgba(168, 56, 255, 0.48) 0%, rgba(91, 33, 182, 0.32) 36%, transparent 70%),
              linear-gradient(135deg, #0e0517 0%, #150924 50%, #290d45 100%);
  padding: 85px 0 75px 0;
  margin-bottom: 50px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(10, 5, 20, 0.35);
}

.swc-card-img-wrap.swc-watch-display {
  background: #f7f8fa;
  border: 1px solid #e8ecef;
  border-radius: 4px;
  padding: 30px 20px;
  height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  position: relative;
  margin-bottom: 22px;
}

.swc-card-img-wrap.swc-watch-display:hover {
  border-color: #aa38ff;
  box-shadow: 0 10px 28px rgba(170, 56, 255, 0.15);
}

.swc-card-watch-img {
  max-height: 300px;
  width: auto;
  object-fit: contain;
  transition: transform 0.5s ease;
}

.swc-card-img-wrap.swc-watch-display:hover .swc-card-watch-img {
  transform: scale(1.06);
}

.swc-wrist-badge {
  display: none !important;
}


/* ENLARGED HERO WATCHES */
.swc-hero-watches-img {
  max-height: 620px;
  width: 100%;
  max-width: 640px;
  object-fit: contain;
  filter: drop-shadow(0 20px 45px rgba(0, 0, 0, 0.6));
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.swc-hero-watches-img:hover {
  transform: scale(1.03);
}

@media (min-width: 992px) {
  .swc-hero-watches-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}


/* --------------------------------------------------------------------------
   ABOUT US PAGE STYLES (MATCHING HOMEPAGE & ABOUT US SCREENSHOTS)
   -------------------------------------------------------------------------- */
.about-hero-fullwidth {
  width: 100%;
  background: linear-gradient(rgba(14, 6, 24, 0.72), rgba(22, 10, 36, 0.82)),
              url('../image/watches/about-bg.webp') center 25% / cover no-repeat;
  padding: 85px 0 75px 0;
  text-align: center;
  color: #ffffff;
  position: relative;
  box-shadow: 0 16px 40px rgba(10, 5, 20, 0.35);
}

.about-hero-logo {
  max-height: 52px;
  width: auto;
  filter: brightness(0) invert(1);
  margin-bottom: 12px;
  display: inline-block;
}

.about-hero-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 52px;
  font-weight: 700;
  color: #ffffff;
  margin: 10px 0 0 0;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5);
}

.about-lead-strip {
  background: #ffffff;
  padding: 45px 20px;
  border-bottom: 1px solid #f0f0f0;
}

.about-lead-text {
  font-family: var(--font-body);
  font-size: 19px;
  line-height: 1.65;
  color: #242424;
  max-width: 860px;
  margin: 0 auto;
  font-weight: 400;
  text-align: center;
}

.about-beginnings-section {
  background: #ffffff;
  padding: 55px 0 65px 0;
}

.about-beginnings-title {
  color: #7928ca;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 38px;
  font-weight: 700;
  margin: 0 0 30px 0;
}

.about-p {
  font-size: 15px;
  line-height: 1.8;
  color: #2a2a2a;
  margin-bottom: 22px;
}

.about-watches-img-wrap {
  margin-top: 24px;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #eaeaea;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.about-watches-img-wrap img {
  width: 100%;
  height: auto;
  display: block;
}

.about-festival-card {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  background: #333333;
  margin-bottom: 20px;
}

.about-festival-card img {
  width: 100%;
  height: auto;
  display: block;
}

.about-festival-caption {
  background: #333333;
  color: #ffffff;
  padding: 12px 18px;
  font-size: 12px;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.about-story-bottom {
  margin-top: 45px;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.about-story-bottom .about-p {
  font-size: 15.5px;
  line-height: 1.85;
}

.about-highlight-purple {
  color: #7928ca;
  font-weight: 600;
}

.about-link-purple {
  color: #7928ca;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.about-link-purple:hover {
  color: #a855f7;
}

.about-heritage-fullwidth {
  width: 100%;
  background: linear-gradient(rgba(10, 5, 18, 0.38), rgba(10, 5, 18, 0.65)),
              url('../image/watches/about-rocks-bg.webp') center center / cover no-repeat;
  padding: 95px 0 90px 0;
  position: relative;
}

.about-heritage-card {
  background: rgba(30, 26, 38, 0.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  padding: 48px 52px;
  color: #ffffff;
  max-width: 820px;
  margin: 0 auto;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
  text-align: center;
}

.about-heritage-tag {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 13.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 28px;
}

.about-heritage-card p {
  font-size: 14.5px;
  line-height: 1.78;
  color: #e8e2f0;
  margin-bottom: 22px;
  text-align: left;
}

.about-heritage-card p:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .about-hero-title {
    font-size: 36px;
  }
  .about-lead-text {
    font-size: 16px;
  }
  .about-beginnings-title {
    font-size: 28px;
  }
  .about-heritage-card {
    padding: 28px 20px;
  }
}

/* --------------------------------------------------------------------------
   THE SALTIRE COLLECTION RECREATION (HERO, SPECIFICATION, STORIES, GALLERY, STRAPS)
   -------------------------------------------------------------------------- */
.saltire-hero-fullwidth {
  width: 100%;
  background: linear-gradient(90deg, rgba(8, 12, 24, 0.90) 0%, rgba(8, 12, 24, 0.72) 48%, rgba(8, 12, 24, 0.28) 80%, transparent 100%),
              url('../image/watches/edinburgh-bg.webp') center center / cover no-repeat;
  padding: 70px 0 60px 0;
  color: #ffffff;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(10, 5, 20, 0.35);
}

.saltire-hero-logo {
  max-height: 58px;
  width: auto;
  margin-bottom: 16px;
  display: inline-block;
}

.saltire-hero-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 52px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 16px 0;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.7);
  line-height: 1.15;
}

.saltire-hero-title .saltire-highlight {
  color: #d8b4fe;
  text-shadow: 0 0 25px rgba(216, 180, 254, 0.55);
}

.saltire-hero-sub1 {
  font-family: 'Montserrat', sans-serif;
  font-size: 24px;
  font-weight: 500;
  color: #ffffff;
  margin: 0 0 6px 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.65);
  letter-spacing: -0.01em;
}

.saltire-hero-sub2 {
  font-family: 'Montserrat', sans-serif;
  font-size: 24px;
  font-weight: 400;
  color: #ffffff;
  margin: 0 0 24px 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.65);
  letter-spacing: -0.01em;
}

.saltire-hero-limitation {
  font-family: 'Montserrat', sans-serif;
  font-size: 14.5px;
  color: rgba(255, 255, 255, 0.95);
  margin: 0;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.7);
  letter-spacing: 0.02em;
}

.saltire-hero-limitation .lim-highlight {
  color: #d8b4fe;
  font-weight: 600;
}

.saltire-hero-watches {
  max-height: 420px;
  width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 15px 35px rgba(0, 0, 0, 0.65));
  transition: transform 0.5s ease;
}

.saltire-hero-watches:hover {
  transform: scale(1.03);
}

.saltire-thistle-icon {
  max-height: 38px;
  width: auto;
  display: block;
  margin: 0 auto 12px auto;
}

.saltire-quick-strip {
  background: #ffffff;
  padding: 24px 0;
  border-bottom: 1px solid #ececec;
}

.saltire-quick-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1e1e1e;
  padding: 8px 12px;
}

.saltire-quick-item i {
  font-size: 18px;
  color: #7928ca;
}

.saltire-sec-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 34px;
  font-weight: 800;
  text-align: center;
  margin: 4px 0 8px 0;
  color: #0e0e0e;
}

.saltire-sec-desc {
  color: #666666;
  font-size: 15px;
  text-align: center;
  margin-bottom: 45px;
}

/* Technical Specification Callout Diagram */
.saltire-spec-diagram-section {
  background: #ffffff;
  padding: 65px 0;
}

.saltire-spec-card {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  padding: 20px 22px;
  margin-bottom: 22px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
  text-align: left;
}

.saltire-spec-card:hover {
  border-color: #7928ca;
  box-shadow: 0 8px 24px rgba(121, 40, 202, 0.12);
  transform: translateY(-2px);
}

.saltire-spec-card h4 {
  font-size: 14.5px;
  font-weight: 700;
  color: #111111;
  margin: 0 0 6px 0;
}

.saltire-spec-card p {
  font-size: 12.5px;
  color: #555555;
  line-height: 1.55;
  margin: 0;
}

.saltire-center-watch-wrap {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.saltire-center-watch-img {
  max-height: 400px;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 15px 35px rgba(0, 0, 0, 0.18));
  transition: transform 0.5s ease;
}

.saltire-center-watch-img:hover {
  transform: scale(1.04);
}

/* Heather Full-Width Banner */
.saltire-heather-banner {
  width: 100%;
  background: url('../../../../../image/catalog/watches/saltire-heather.webp') center center / cover no-repeat;
  padding: 65px 20px;
  text-align: center;
  color: #ffffff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.saltire-heather-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #ffffff;
  margin-bottom: 24px;
}

/* Scottish Storytelling Rows */
.saltire-stories-section {
  background: #ffffff;
  padding: 70px 0;
}

.saltire-story-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  margin-bottom: 60px;
  flex-wrap: wrap;
}

.saltire-story-content {
  flex: 1 1 480px;
}

.saltire-story-title {
  color: #7928ca;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 14px;
  line-height: 1.35;
}

.saltire-story-p {
  font-size: 15px;
  line-height: 1.8;
  color: #333333;
  margin-bottom: 14px;
}

.saltire-story-media {
  flex: 0 0 auto;
  text-align: center;
}

.saltire-story-media img {
  display: block;
  margin: 0 auto;
}

@media (max-width: 991px) {
  .saltire-story-row {
    flex-direction: column !important;
    text-align: center;
    gap: 18px;
    margin-bottom: 40px;
  }
  .saltire-story-content {
    flex: 0 1 auto;
    width: 100%;
  }
  .saltire-story-media {
    margin-top: 0;
    max-width: 100%;
  }
}

/* Gallery Section */
.saltire-gallery-section {
  background: #ffffff;
  padding: 60px 0 70px 0;
}

.saltire-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 35px;
}

.saltire-gallery-item {
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  height: 440px;
  background: #000;
  position: relative;
}

.saltire-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.saltire-gallery-item:hover img {
  transform: scale(1.05);
}

/* Promo Dark Strip */
.saltire-promo-strip {
  background: linear-gradient(135deg, #1e1b24 0%, #2b2533 100%);
  color: #ffffff;
  padding: 50px 40px;
  margin: 60px 0;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.25);
}

.saltire-promo-text {
  flex: 1 1 450px;
  font-size: 20px;
  line-height: 1.6;
  font-family: 'Playfair Display', Georgia, serif;
}

.saltire-promo-watches {
  max-height: 180px;
  width: auto;
  object-fit: contain;
}

/* Straps Grid */
.saltire-straps-section {
  background: #ffffff;
  padding: 60px 0;
}

.saltire-straps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 35px;
  text-align: center;
}

.saltire-strap-card {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  padding: 30px 22px;
  transition: all 0.3s ease;
}

.saltire-strap-card:hover {
  border-color: #7928ca;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
}

.saltire-strap-img {
  max-height: 250px;
  width: auto;
  object-fit: contain;
  margin: 0 auto 20px auto;
  display: block;
}

.saltire-strap-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #111111;
}

.saltire-strap-desc {
  font-size: 13px;
  color: #666666;
  line-height: 1.65;
}

/* Classic Watch Card */
.saltire-classic-section {
  background: #fbfbfb;
  padding: 60px 0 70px 0;
  text-align: center;
}

.saltire-classic-card {
  max-width: 480px;
  margin: 30px auto 0 auto;
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
  text-align: center;
}

.saltire-classic-img {
  width: 100%;
  height: auto;
  display: block;
}

.saltire-classic-body {
  padding: 24px;
}

.saltire-classic-body h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 8px 0;
}

.saltire-classic-body p {
  font-style: italic;
  color: #555555;
  font-size: 14px;
  margin: 0;
}

/* Newsletter Strip */
.saltire-subscribe-strip {
  background: #2a2a2a;
  color: #ffffff;
  padding: 55px 20px;
  text-align: center;
}

.saltire-subscribe-strip h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 24px;
  margin-bottom: 20px;
  color: #ffffff;
}

@media (max-width: 991px) {
  .saltire-gallery-grid, .saltire-straps-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .saltire-hero-title {
    font-size: 32px;
  }
  .saltire-gallery-grid, .saltire-straps-grid {
    grid-template-columns: 1fr;
  }
  .saltire-gallery-item {
    height: 320px;
  }
  .saltire-promo-strip {
    text-align: center;
    justify-content: center;
  }
}

/* --------------------------------------------------------------------------
   THREE PILLARS ICON STRIP (FLAG OF A NATION, DESIGNED BY SCOTTISH HOROLOGISTS, CANNY CRAFTSMANSHIP)
   -------------------------------------------------------------------------- */
.swc-pillars-strip {
  background: #f7f8f9;
  border-top: 1px solid #ebecee;
  border-bottom: 1px solid #ebecee;
  padding: 36px 0 32px 0;
  margin: 0;
  width: 100%;
}

.swc-pillars-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.swc-pillar-col {
  padding: 10px 24px;
  transition: transform 0.3s ease;
}

.swc-pillar-col:hover {
  transform: translateY(-3px);
}

.swc-pillar-icon-wrap {
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.swc-pillar-icon-wrap svg {
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), filter 0.3s ease;
}

.swc-pillar-col:hover .swc-pillar-icon-wrap svg {
  transform: scale(1.08);
}

.swc-pillar-title {
  font-family: var(--font-body);
  font-size: 13.5px;
  font-weight: 600;
  color: #1a1a1a;
  letter-spacing: 0.02em;
  line-height: 1.45;
  text-align: center;
  margin: 0;
  transition: color 0.3s ease;
}

.swc-pillar-col:hover .swc-pillar-title {
  color: #7928ca;
}

@media (max-width: 767px) {
  .swc-pillar-col {
    margin-bottom: 24px;
  }
  .swc-pillar-col:last-child {
    margin-bottom: 0;
  }
}

/* --------------------------------------------------------------------------
   SHOP PRICING INFOBOX & BUNDLES (EXACT RECREATION OF SHOP SCREENSHOT)
   -------------------------------------------------------------------------- */
.shop-hero-fullwidth {
  width: 100%;
  background: url('../image/watches/edinburgh-bg.webp') center 30% / cover no-repeat;
  height: 250px;
  position: relative;
}

.shop-welcome-bar {
  background: linear-gradient(90deg, #150924 0%, #301153 100%);
  color: #ffffff;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.shop-welcome-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
}

.shop-pricing-infobox {
  max-width: 760px;
  margin: 40px auto 55px auto;
  background: #ffffff;
  border: 1px solid #e6e8eb;
  border-radius: 6px;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.06);
  padding: 32px 35px;
  text-align: center;
}

.shop-pricing-tier {
  font-size: 15.5px;
  color: #1a1a1a;
  margin-bottom: 6px;
  line-height: 1.5;
}

.shop-pricing-tier strong {
  font-weight: 700;
}

.shop-price-red {
  color: #e52525;
  font-weight: 700;
}

.shop-pricing-note {
  font-size: 12px;
  color: #777777;
  margin: 4px 0 16px 0;
}

.shop-shipping-line {
  font-size: 13.5px;
  color: #333333;
  padding: 14px 0 10px 0;
  border-top: 1px solid #f0f0f0;
  margin-bottom: 8px;
}

.shop-random-numbers-tag {
  color: #ff3b30;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0;
}

.shop-product-card {
  text-align: center;
  background: #ffffff;
  padding: 25px 15px 35px 15px;
  margin-bottom: 40px;
  transition: transform 0.3s ease;
}

.shop-product-card:hover {
  transform: translateY(-4px);
}

.shop-product-img-wrap {
  height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.shop-product-img-wrap img {
  max-height: 260px;
  width: auto;
  object-fit: contain;
  transition: transform 0.4s ease;
}

.shop-product-card:hover .shop-product-img-wrap img {
  transform: scale(1.05);
}

.shop-pair-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 280px;
}

.shop-pair-wrap img {
  max-height: 240px;
  width: 48%;
  object-fit: contain;
  transition: transform 0.4s ease;
}

.shop-product-card:hover .shop-pair-wrap img {
  transform: scale(1.05);
}

.shop-product-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  font-weight: 700;
  color: #7928ca;
  margin: 0 0 8px 0;
}

.shop-product-title a {
  color: #7928ca;
  text-decoration: none;
}

.shop-product-title a:hover {
  color: #a855f7;
}

.shop-product-price {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 4px;
}

.shop-product-shipping {
  font-size: 12px;
  color: #666666;
  margin-bottom: 14px;
}

.btn-add-cart-dark {
  background: #333333;
  color: #ffffff;
  border-radius: 25px;
  padding: 9px 28px;
  font-size: 13px;
  font-weight: 600;
  border: none;
  display: inline-block;
  transition: all 0.3s ease;
  cursor: pointer;
}

.btn-add-cart-dark:hover {
  background: #7928ca;
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(121, 40, 202, 0.4);
}

/* --------------------------------------------------------------------------
   LUXURY PRICING & BUNDLE INFOBOX
   -------------------------------------------------------------------------- */
.shop-pricing-infobox-luxury {
  max-width: 1080px;
  margin: 35px auto 45px auto;
  background: #ffffff;
  border: 1px solid #e8edf2;
  border-radius: 8px;
  box-shadow: 0 10px 35px rgba(121, 40, 202, 0.06);
  padding: 32px 30px 28px 30px;
  text-align: center;
  position: relative;
}

.pricing-urgency-banner {
  display: inline-block;
  background: linear-gradient(135deg, #7928ca 0%, #aa38ff 100%);
  color: #ffffff;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 8px 24px;
  border-radius: 25px;
  margin-bottom: 20px;
  box-shadow: 0 4px 15px rgba(121, 40, 202, 0.25);
}

.pricing-shipping-header {
  font-weight: 700;
  color: #7928ca;
  font-size: 13.5px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.pricing-header-crest {
  margin-bottom: 24px;
}

.pricing-eyebrow {
  display: block;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #7928ca;
  font-weight: 700;
  margin-bottom: 6px;
}

.pricing-heading {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 26px;
  font-weight: 700;
  color: #0e0517;
  margin: 0;
}

.pricing-tiers-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px;
  max-width: 820px;
  margin: 25px auto 20px;
}

.pricing-tiers-row::before,
.pricing-tiers-row::after {
  display: none;
  content: none;
}

.pricing-tiers-row > .pricing-tier-col {
  perspective: 1000px;
  display: flex;
  grid-column: span 2;
  float: none;
  width: auto;
  min-width: 0;
  padding: 0;
}

.pricing-tiers-row > .pricing-tier-col:nth-child(4):last-child {
  grid-column: 3 / span 2;
}

.pricing-tiers-row .pricing-tier-card {
  width: 100%;
}

.pricing-tier-card {
  background: #fbfbfd;
  border: 1px solid #e9ecf0;
  border-radius: 6px;
  padding: 22px 18px;
  text-align: center;
  transition: all 0.3s ease;
  height: 100%;
  position: relative;
}

.pricing-tier-card:hover {
  border-color: #7928ca;
  box-shadow: 0 6px 20px rgba(121, 40, 202, 0.1);
  transform: translateY(-5px) rotateY(-4deg);
}

.pricing-tier-col.pricing-reveal .pricing-tier-card {
  animation: pricing-turn-in 850ms cubic-bezier(.2,.7,.25,1) backwards;
  animation-delay: var(--pricing-delay, 0ms);
}
@keyframes pricing-turn-in {
  from { opacity: 0; transform: translateY(22px) rotateY(-32deg); }
  to { opacity: 1; transform: translateY(0) rotateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-tier-col.pricing-reveal .pricing-tier-card { animation: none; }
  .pricing-tier-card { transition: none; }
  .pricing-tier-card:hover { transform: none; }
}

.pricing-tier-card.featured-tier {
  background: #ffffff;
  border-color: #c084fc;
  box-shadow: 0 6px 22px rgba(121, 40, 202, 0.08);
}

.tier-badge {
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #7928ca 0%, #aa38ff 100%);
  color: #ffffff;
  font-size: 9.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 12px;
  white-space: nowrap;
}

.tier-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #475569;
  margin-bottom: 6px;
}

.tier-price {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 30px;
  font-weight: 800;
  color: #7928ca;
  line-height: 1.1;
  margin-bottom: 6px;
}

.tier-desc {
  font-size: 12.5px;
  color: #64748b;
  margin: 0;
  line-height: 1.4;
}

.pricing-footer-details {
  border-top: 1px solid #eef2f6;
  padding-top: 18px;
  margin-top: 10px;
}

.pricing-shipping-strip {
  font-size: 13px;
  color: #334155;
  margin-bottom: 8px;
}

.pricing-shipping-strip i {
  color: #7928ca;
  margin-right: 6px;
}

.pricing-edition-notice {
  font-size: 12px;
  color: #7928ca;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pricing-edition-notice i {
  margin-right: 5px;
}

@media (max-width: 767px) {
  .shop-pricing-infobox-luxury {
    padding: 24px 18px;
  }
}

@media (max-width: 991px) {
  .pricing-tiers-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pricing-tiers-row > .pricing-tier-col,
  .pricing-tiers-row > .pricing-tier-col:nth-child(4):last-child {
    grid-column: auto;
  }
}

@media (max-width: 575px) {
  .pricing-tiers-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* --------------------------------------------------------------------------
   BLOG SINGLE ARTICLE JOURNAL STYLES
   -------------------------------------------------------------------------- */
.article-single-wrap {
  max-width: 860px;
  margin: 0 auto 60px auto;
}

.article-single-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 13px;
  color: var(--color-text-light);
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  flex-wrap: wrap;
}

.article-single-tag {
  color: #7928ca;
  font-weight: 700;
}

.article-single-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 40px;
  line-height: 1.25;
  color: var(--color-primary);
  margin: 0 0 20px 0;
  font-weight: 700;
}

.article-single-intro {
  font-size: 17px;
  line-height: 1.7;
  color: #4a5568;
  font-style: italic;
  margin-bottom: 28px;
  padding-left: 18px;
  border-left: 3px solid #7928ca;
}

.article-featured-img {
  width: 100%;
  max-height: 500px;
  object-fit: cover;
  border-radius: var(--radius-sm);
  margin-bottom: 38px;
  box-shadow: 0 12px 35px rgba(10, 5, 20, 0.1);
}

.article-single-body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.85;
  color: #2d3748;
}

.article-single-body h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 26px;
  color: var(--color-primary);
  margin: 36px 0 16px 0;
  font-weight: 700;
}

.article-single-body p {
  margin-bottom: 22px;
}

.article-single-body figure {
  margin: 30px 0;
}

.article-single-body figure img {
  height: auto;
  margin: 0 auto;
}

.article-single-body figcaption {
  margin-top: 12px;
  color: #657786;
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

.article-single-body blockquote {
  background: #fbf7fe;
  border-left: 4px solid #7928ca;
  padding: 24px 28px;
  margin: 30px 0;
  border-radius: 0 6px 6px 0;
  font-style: italic;
  font-size: 18px;
  line-height: 1.6;
  color: #1a0b2e;
}

.article-author-card {
  background: #fdfcff;
  border: 1px solid #ede8f5;
  border-radius: 8px;
  padding: 28px;
  margin: 45px 0;
  display: flex;
  align-items: center;
  gap: 22px;
}

.article-author-avatar {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7928ca 0%, #aa38ff 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  flex-shrink: 0;
  box-shadow: 0 4px 15px rgba(121, 40, 202, 0.25);
}

.article-author-info h4 {
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  margin: 0 0 6px 0;
}

.article-author-info p {
  font-size: 13.5px;
  color: #718096;
  margin: 0;
  line-height: 1.5;
}

.article-nav-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 50px;
}

.btn-back-blog {
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #7928ca;
  text-decoration: none;
  transition: var(--transition-smooth);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.btn-back-blog:hover {
  color: #aa38ff;
  transform: translateX(-4px);
}

@media (max-width: 767px) {
  .article-single-title {
    font-size: 28px;
  }
  .article-author-card {
    flex-direction: column;
    text-align: center;
  }
}
.footer-information-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px 24px;
  padding: 0;
  margin: 0 0 24px;
  list-style: none;
  font-size: 12px;
}
.swc-legal-content {
  max-width: 900px;
  margin: 24px auto 40px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.swc-legal-content h2,
.swc-legal-content h3,
.swc-legal-content h4,
.swc-legal-content h5,
.swc-legal-content h6 {
  margin: 30px 0 14px;
  line-height: 1.4;
}
.swc-legal-content p { margin-bottom: 16px; }

.swc-home-lifestyle {
  aspect-ratio: 1;
  overflow: hidden;
  margin-bottom: 22px;
}
.swc-home-lifestyle > a { display: block; width: 100%; height: 100%; }
.swc-home-lifestyle-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.6);
  transform-origin: 56% 57%;
}

.saltire-limited-banner {
  background: url('../../../../../image/catalog/watches/about-rocks-bg.webp') center / cover no-repeat;
  padding: 70px 0;
  margin: 50px 0 0;
}
.saltire-limited-layout { display: flex; align-items: center; gap: 40px; }
.saltire-limited-copy { flex: 1; min-width: 0; }
.saltire-limited-label { display: flex; align-items: center; gap: 20px; color: #fff; letter-spacing: .3em; font-size: 19px; margin-bottom: 34px; }
.saltire-limited-copy h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 38px; line-height: 1.25; color: white; font-weight: 700; margin: 0 0 36px; }
.saltire-limited-copy h2 strong { color: #dab2ff; }
.saltire-limited-watches { width: 46%; height: auto; }
.saltire-limited-button { display: block; max-width: 470px; padding: 10px 24px; border-radius: 30px; background: white; color: #080808; text-align: center; font: 700 24px 'Playfair Display', Georgia, serif; box-shadow: 0 0 24px rgba(170,56,255,.6); }
.saltire-limited-button:hover { background: #f5eaff; color: #7928ca; }
@media (max-width: 767px) {
  .saltire-limited-banner { padding: 40px 0; }
  .saltire-limited-layout { flex-direction: column; }
  .saltire-limited-copy h2 { font-size: 29px; }
  .saltire-limited-label { font-size: 15px; letter-spacing: .2em; }
  .saltire-limited-watches { width: 85%; max-width: 440px; }
}

.saltire-strap-list { text-align: left; padding-left: 20px; margin: 24px 0 0; }
.saltire-strap-note { text-align: center; margin-top: 30px; }

.saltire-designed-heading { text-align: center; margin-bottom: 30px; }
.saltire-designed-heading img { display: block; width: 70px; height: 70px; object-fit: contain; margin: 0 auto 18px; }
.saltire-designed-heading p { font-size: 16px; letter-spacing: .2em; font-weight: 600; color: #111; margin: 0; }

/* Keep the small brand emblem at its original dimensions, including HTML content. */
img[src$="/logo-small.webp"],
img[src$="/thistle-rgb.webp"] {
  width: 70px !important;
  height: 70px !important;
  min-width: 70px !important;
  min-height: 70px !important;
  max-width: 70px !important;
  max-height: 70px !important;
  object-fit: contain;
}

.fa-x-twitter::before {
  content: "𝕏";
  font-family: Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
}
.swc-social-x { color: #c084fc; }

.footer-top-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 0;
}
.footer-top-social a,
.footer-top-social .footer-x-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: #c084fc;
  font-size: 25px;
}
.footer-top-social a:hover,
.footer-top-social a:focus { color: #fff; }

.swc-editable-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: start; margin-top: 30px; }
.swc-editable-gallery a { display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 4px; background: #f7f8fa; }
.swc-editable-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.swc-editable-gallery a:hover img { transform: scale(1.03); }
@media(max-width:991px) { .swc-editable-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media(max-width:767px) { .swc-editable-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }

.swc-gallery-lightbox.mfp-bg { opacity: 0; transition: opacity .3s ease-in-out; }
.swc-gallery-lightbox.mfp-bg.mfp-ready { opacity: .8; }
.swc-gallery-lightbox.mfp-bg.mfp-removing { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  .swc-gallery-lightbox.mfp-bg { transition: none; }
}

.swc-timepiece-card {
  background: #fff;
  border: 1px solid #e6e8ed;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 5px 20px rgba(10, 18, 26, .05);
  padding: 16px;
}
.swc-timepiece-card .swc-features-box { margin-bottom: 0; padding-bottom: 8px; }
.swc-timepiece-card .swc-watch-intro { min-height: 0; }

.btn-primary:active,
.btn-primary.active,
.btn-primary.active.focus,
.btn-primary:active.focus,
.btn-primary:active:hover,
.btn-primary:active:focus,
.btn-primary.active:hover,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary {
  background-color: #000;
  background-image: none;
  border-color: #000;
  color: #fff;
}

/* Bootstrap must not restore its blue colour while an AJAX action disables a button. */
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
#button-cart[disabled],
#button-cart[disabled]:hover,
#button-cart[disabled]:focus {
  background: #0a1118;
  border-color: #0a1118;
  color: #fff;
  box-shadow: none;
}
.btn-primary.focus { background: #7928ca; border-color: #7928ca; color: #fff; }
.btn:focus-visible,
button:focus-visible { outline: 2px solid #7928ca; outline-offset: 3px; }

#checkout-cart .buttons {
  padding-bottom: 24px;
}

.order-product-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.order-product-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  min-width: 38px;
  padding: 0;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0;
  box-shadow: none;
}
.order-product-actions .btn-primary { background: #0a1118; border-color: #0a1118; color: #fff; }
.order-product-actions .btn-primary:hover { background: #7928ca; border-color: #7928ca; }
.order-product-actions .btn-danger { background: #dc4545; border-color: #dc4545; color: #fff; }
.order-product-actions .btn-danger:hover,
.order-product-actions .btn-danger:active { background: #bd2929; border-color: #bd2929; }

#account-order .buttons {
  padding-bottom: 24px;
}

#account-return .buttons {
  padding-bottom: 24px;
}

#common-success .buttons {
  display: flow-root;
  padding-bottom: 24px;
}

.alert-success {
  position: relative;
  background: #fcfaff;
  color: #303343;
  border: 1px solid #e7ddf2;
  border-left: 3px solid #7928ca;
  border-radius: 6px;
  padding: 17px 54px 17px 18px;
  margin: 24px 0;
  box-shadow: 0 4px 16px rgba(35, 17, 57, .04);
  font-size: 13px;
  line-height: 1.8;
}
.alert-success > .fa-check-circle {
  color: #7928ca;
  font-size: 19px;
  vertical-align: -2px;
  margin-right: 8px;
}
.alert-success a { color: #7928ca; font-weight: 600; text-decoration: none; }
.alert-success a:hover { color: #53188e; text-decoration: underline; }
.alert-success.alert-dismissible .close {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #6f627d;
  background: transparent;
  opacity: 1;
  font-size: 21px;
  font-weight: 400;
  text-shadow: none;
  transition: background .2s, color .2s;
}
.alert-success.alert-dismissible .close:hover,
.alert-success.alert-dismissible .close:focus-visible { color: #7928ca; background: #eee5f8; }

#cart .cart-dropdown-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0 4px;
}
#cart .cart-dropdown-actions .btn {
  flex: 1 1 160px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 12px 16px;
  font-size: 11px;
  line-height: 1.5;
  text-decoration: none;
}
#cart .cart-dropdown-actions .btn-default { color: #0a1118; background: #fff; border-color: #dfe3e8; }
#cart .cart-dropdown-actions .btn-primary { color: #fff; background: #0a1118; border-color: #0a1118; }
#cart .cart-dropdown-actions .btn-default:hover { color: #7928ca; border-color: #7928ca; }
#cart .cart-dropdown-actions .btn-primary:hover,
#cart .cart-dropdown-actions .btn-primary:focus { color: #fff; background: #7928ca; border-color: #7928ca; }
#cart .cart-dropdown-actions .btn-primary:hover i,
#cart .cart-dropdown-actions .btn-primary:focus i { color: #fff; }

#top-links .open > a,
#top-links .open > a:hover,
#top-links .open > a:focus,
#top-links > ul > li > a:focus,
#top-links > ul > li > a:active {
  background: transparent;
  color: #c084fc;
}
@media (max-width: 767px) {
  #top-links > ul > li > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 32px;
    min-height: 36px;
  }
  #top-links > ul > li > a > .fa { font-size: 15px; }
  #top .btn-link { min-height: 36px; font-size: 14px; }
  #top .btn-link > strong { font-size: 15px; }
  #top .btn-link > .fa-caret-down { font-size: 9px; }
  #top #form-currency .dropdown-menu .currency-select {
    font-size: 11px;
    line-height: 20px;
    min-height: 36px;
    padding: 8px 18px;
    text-align: left;
    letter-spacing: 0.06em;
  }
}

/* Customer account navigation */
.swc-account-menu {
  padding: 8px;
  margin-bottom: 24px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 5px 22px rgba(10, 17, 24, .04);
}
.swc-account-menu-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 12px 17px;
  margin-bottom: 7px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-primary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.swc-account-menu-heading > i { color: #7928ca; font-size: 20px; }
.swc-account-menu .swc-account-menu-link {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 11px 12px;
  margin-bottom: 3px;
  border-radius: 4px;
  color: #475365;
  font-size: 12px;
  line-height: 20px;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.swc-account-menu-link > i:first-child { flex: 0 0 18px; text-align: center; font-size: 15px; color: #8791a0; }
.swc-account-menu-link > span { flex: 1; }
.swc-account-menu .swc-account-menu-chevron { font-size: 9px; color: #bdc3ce; }
.swc-account-menu .swc-account-menu-link:hover,
.swc-account-menu .swc-account-menu-link:focus-visible { background: #f8f3fc; color: #7928ca; }
.swc-account-menu .swc-account-menu-link.is-active {
  background: #f3eafa;
  color: #7928ca;
  font-weight: 600;
  box-shadow: inset 3px 0 #7928ca;
}
.swc-account-menu-link:hover > i,
.swc-account-menu-link.is-active > i { color: #7928ca; }
.swc-account-menu .swc-account-menu-logout { margin-top: 10px; border-top: 1px solid var(--color-border); border-radius: 0 0 4px 4px; }
.swc-account-menu .swc-account-menu-logout:hover { color: #b42332; background: #fff5f5; }
.swc-account-menu-logout:hover > i { color: #b42332; }
@media (prefers-reduced-motion: reduce) {
  .swc-account-menu .swc-account-menu-link { transition: none; }
}

/* Address book actions */
#account-address .address-actions-cell { width: 1%; vertical-align: middle; }
#account-address .address-actions { display: inline-flex; align-items: center; gap: 8px; }
#account-address .address-actions .btn,
#account-address .buttons .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 0 16px;
  border-radius: var(--radius-sm);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
#account-address .address-actions .btn { width: 44px; min-width: 44px; padding: 0; font-size: 14px; }
#account-address .address-actions .btn-danger { background: #dc4545; border-color: #dc4545; color: #fff; }
#account-address .address-actions .btn-danger:hover,
#account-address .address-actions .btn-danger:focus,
#account-address .address-actions .btn-danger:active { background: #bd2929; border-color: #bd2929; color: #fff; }
#account-address .buttons { padding-bottom: 24px; }
@media (max-width: 767px) {
  #account-address .address-actions { flex-direction: row; }
}

/* Match cart icon actions to the address book controls. */
#checkout-cart .cart-quantity { min-width: 156px; gap: 8px; }
#checkout-cart .cart-quantity .form-control { height: 44px; }
#checkout-cart .cart-quantity .input-group-btn { gap: 8px; }
#checkout-cart .cart-quantity .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
  margin-left: 0;
  font-size: 14px;
  border-radius: var(--radius-sm);
}
#checkout-cart .cart-quantity .btn-danger { background: #dc4545; border-color: #dc4545; color: #fff; }
#checkout-cart .cart-quantity .btn-danger:hover,
#checkout-cart .cart-quantity .btn-danger:focus,
#checkout-cart .cart-quantity .btn-danger:active { background: #bd2929; border-color: #bd2929; color: #fff; }
@media (max-width: 767px) {
  #checkout-cart .cart-quantity { width: 96px; min-width: 96px; gap: 8px; }
}
