/* GrecoWatch polish: one stylesheet for alignment, rhythm and usability, loaded LAST on every page
   (static copies: injected by tools/mirror_live.py postprocess(); app pages: app/templates/partials/head.php).
   It changes presentation only: no text, link, image or order of content.

   TOKENS (taken from what the live pages already compute)
   Colour   ink #0B0E0F (page)   surface #111518 (cards, panels)   line #26292B (hairlines)
            text #F4F1EE (17:1)  text-2 #CFC9BF (11.8:1)   muted #899095 (6.0:1, labels and meta only)
            brass #D1A35F (8.4:1, accent, primary buttons)   brass-hi #E2BE84 (hover, 11:1)
   Type     Playfair Display: display 72/56/40 (desktop/tablet/phone) 800 uppercase lh 1.0 ls -.04em  (hub and landing H1s,
                              the brass call-to-action statements)
                              h2 48/40/32 800 uppercase lh 1.04 ls -.03em    h3 22/20/20 700 uppercase lh 1.15
                              reading pages (articles, guides, FAQs): h1 44/36/30 700, h2 28/26/24 600, h3 21/20/19 600, no case change
            Inter: body 16/1.65, reading body 17/1.75 at most 580 px (about 75 characters), small 14/1.6
            Inter 12/700 .12em uppercase: buttons and the header navigation
            JetBrains Mono, the one signature: the TAG (11/700 .2em uppercase, brass or muted) for kickers, section labels,
            card brand lines and spec groups; the REF (12/500 .08em uppercase, #A7ADB1) for "SUBMARINER / 126613LB / BLUESY"
   Space    4 8 12 16 24 32 48 64 96 128; the sections already sit on it (48 / 64 / 80 / 96 / 128 px), except the home
            Journal (10 + 88 px), now 96 like its neighbours
   Column   >=1025: one 1280 px column, gutter clamp(40px, 5vw, 96px) (set by the site's own layout rules, kept)
            <=1024: the header's 24 px gutter on every section, the header and the footer
   Buttons  one family: 52 px high, square, Inter 12/700 .12em; primary = brass on ink, secondary = 1 px outline,
            on a brass band = ink solid / ink outline; text link = mono TAG with an arrow
   Focus    2 px brass outline, 3 px offset, on every link, button and field (ink outline on brass bands)
   Floating on touch screens (<=1024) the WhatsApp button and the language switcher sit in a 64 px bar at the bottom that
            keeps its own space; on desktop each sits in a side gutter, above the cookie notice when it shows
   Selectors: the global base rules (wrapping, placeholders) are wrapped in :where() so they never fight anything; overrides of Elementor's per-element
   rules use repeated classes for weight; !important only where the site's own rules use it, each one commented. */

:root {
  --gw-ink: #0B0E0F; --gw-surface: #111518; --gw-line: #26292B;
  --gw-text: #F4F1EE; --gw-text-2: #CFC9BF; --gw-muted: #899095; --gw-ref: #A7ADB1;
  --gw-brass: #D1A35F; --gw-brass-hi: #E2BE84;
  --gw-serif: "Playfair Display", Georgia, serif; --gw-sans: Inter, "Helvetica Neue", Arial, sans-serif;
  --gw-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --gw-g: 24px;                                  /* phone and tablet gutter: the header's */
  --gw-btn-h: 52px;
  --gw-measure: 580px;                           /* reading measure: about 75 characters of 16-17 px Inter */
  --gw-bar-h: 64px;                              /* touch-screen bottom bar */
  --gw-ease: 160ms ease;
  --gw-gold: #D1A35F;                            /* the theme's second gold (#C8A96E: cookie button, theme links, the watch
                                                    price) becomes the brass, so the site has one gold */
}

/* ---------------------------------------------------------------- 1. keyboard focus, motion, wrapping */
/* The theme and Elementor set `outline: none` on links and buttons, so keyboard users saw no focus at all.
   !important: Woodmart's own reset uses it too, and focus must never be hidden. */
html body :is(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus-visible {
  outline: 2px solid var(--gw-brass) !important;
  outline-offset: 3px !important;
  box-shadow: none;
}
/* on the brass bands a brass ring would vanish */
html body :is(.softlite-dynamic-card-box-background-color-1, [class*="cta"], .gw-brass-band) :is(a, button):focus-visible {
  outline-color: var(--gw-ink) !important;
}
html body :is(input, select, textarea):focus-visible { outline-offset: 0 !important; }
/* The language dropdown clips overflow: keep its keyboard focus ring inside each item. */
html body .trp-floating-switcher .trp-language-item:focus-visible { outline-offset: -3px !important; }

@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* no lonely last word in headings; paragraphs avoid one-word last lines where the browser can */
:where(h1, h2, h3, h4, .elementor-heading-title, .gw-product-title, .gw-blog-card-title) { text-wrap: balance; }
:where(p, li, dd) { text-wrap: pretty; }

/* placeholders read as hints, not as filled-in values (6:1 on the field background) */
:where(input, textarea)::placeholder { color: var(--gw-muted); opacity: 1; }

/* removed: words that grew 1.5-8 % on hover (MENU, header links, collection filters, buttons) and pushed their neighbours;
   the colour change is the hover */
html body :is(.gwscf-menu, a[id$="-menu-trigger"], .gw-collection-filter, a.softlite-dynamic-list-item, .softlite-dynamic-list-item-inner, .gwc-button, .gw-filter-button, .gw-collection-clear):hover { transform: none; }

/* ---------------------------------------------------------------- 2. the column on tablets and phones */
@media (max-width: 1024px) {
  /* home hero: the copy sat 24 px inside the header's gutter (!important: Elementor wrote the padding inline) */
  html body .elementor-element.elementor-element-19d3c2f section { padding-left: 0 !important; padding-right: 0 !important; }
  /* home hero buttons: a 12-column grid pushed them 400 px right (desktop) or off the left edge once they stopped
     wrapping; a plain row with a 12 px gap */
  html body .elementor .elementor-element.elementor-element.elementor-element-a4c9e8e { display: block; }
  html body .elementor .elementor-element.elementor-element:is(.elementor-element-bb47e62, .elementor-element-d88c06f) { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 12px; width: 100%; transform: none; }
  /* home Journal: 10 + 48 (tablet) / 10 + 20 (phone) -> 24 */
  html body section.gw-blog-feature.gw-blog-feature { padding-left: var(--gw-g); padding-right: var(--gw-g); }
  /* home Luxury watches: 24 + 32 / 24 + 20 -> 24 */
  html body .gw-featured-products-wrap.gw-featured-products-wrap { padding-left: 0; padding-right: 0; }
  /* hub link lists (home, services, sell, collection): 20 -> 24.  !important: their own rule (gw-seo) uses it */
  html body section.gw-hub-links { margin-left: var(--gw-g) !important; margin-right: var(--gw-g) !important; width: calc(100% - 2 * var(--gw-g)) !important; }
  /* FAQ and "Who we are" blocks: calc(100% - 40px) -> the 24 px gutter (their inline rules are plain) */
  html body :is(section.gw-hub-faq, section.gw-about-facts) { width: calc(100% - 2 * var(--gw-g)); margin-left: var(--gw-g); margin-right: var(--gw-g); }
  /* header MENU: its box was narrower than the word, so the word stuck out 6-14 px past the gutter; it now ends on it */
  html body .e-con > .elementor-element:has(> a[id$="-menu-trigger"]) { display: flex; justify-content: flex-end; align-items: center; align-self: center; }

  /* theme pages (articles, landing pages, watch pages, categories): header 20, content 15-35, footer 28-34 -> 24 */
  /* !important: the header plugin sets 20px !important here */
  html body .gwscf-fallback-header { padding-left: var(--gw-g) !important; padding-right: var(--gw-g) !important; }
  /* its fixed 190 / 280 / 210 px columns overflowed a 768 px screen by 4 px: the middle one gives way */
  html body .gwscf-fallback-header { grid-template-columns: auto minmax(0, 1fr) auto; }
  html body .gwscf-fallback-footer { padding-left: var(--gw-g); padding-right: var(--gw-g); }
  html body .main-page-wrapper > :is(.container, .container-fluid),
  html body .page-title > .container { padding-left: var(--gw-g); padding-right: var(--gw-g); }
  html body .main-page-wrapper .content-layout-wrapper > .site-content { padding-left: 0; padding-right: 0; }
  html body .gwc-native-product-page .gwc-page { padding-left: 0; padding-right: 0; }
  html body .gwc-native-product-page .gwc-wrap { max-width: none; }

  /* about, "A house built on trust": 12 columns with 80 px gaps do not fit 720 px and the page scrolled sideways */
  html body .elementor-12572 .elementor-element.elementor-element-9b5dd51 .syxqwifo { column-gap: 32px; }
}

/* ---------------------------------------------------------------- 3. one column on every page (desktop too) */
/* FAQ and "Who we are" blocks were a centred 820 px box on left-aligned pages: put them on the column, keep the measure */
@media (min-width: 1025px) {
  html body :is(section.gw-hub-faq, section.gw-about-facts) { width: min(100% - 2 * var(--gw-gutter, 40px), var(--gw-wrap, 1280px)); }
}
html body :is(section.gw-hub-faq, section.gw-about-facts) > :is(p, h3, ul) { max-width: var(--gw-measure); }

/* category hubs (Rolex, Cartier ...): title, intro, model links and guide were centred while the breadcrumb, the grid and
   the footer sit on the column */
html body.tax-product_cat .page-title .container { justify-content: flex-start; align-items: flex-start; text-align: left; }
html body.tax-product_cat .page-title .title { text-align: left; }
/* !important: site.css centres the intro with padding: 0 max(0px, 50% - 410px) !important */
html body .shop-loop-head .gw-cat-intro { padding-left: 0 !important; padding-right: 0 !important; text-align: left; }
html body .shop-loop-head .gw-cat-intro > p { max-width: var(--gw-measure); text-align: left; }
html body nav.gw-cat-models { justify-content: flex-start; margin-left: 0; margin-right: 0; max-width: none; }
html body section.gw-cat-guide { margin-left: 0; margin-right: 0; }
html body section.gw-cat-guide > * { max-width: var(--gw-measure); }
/* the card grid was 24 px inside the column (the listing page's grid is on it) */
html body section.gw-collection-woo.gw-cat-grid { padding-left: 0; padding-right: 0; }

/* home Journal: 10 + 88 px above and below, the only section off the spacing scale -> 96 (64 on phones, like the others) */
html body .elementor-element.elementor-element-1ad4422.elementor-element { padding: 0; }
html body section.gw-blog-feature.gw-blog-feature { padding-top: 96px; padding-bottom: 96px; }
@media (max-width: 767px) { html body section.gw-blog-feature.gw-blog-feature { padding-top: 64px; padding-bottom: 64px; } }

/* watch page: the darker panel stopped 15 px short of both edges; let the page be one surface */
html body .gwc-native-product-page .gwc-page { background: transparent; }

/* ---------------------------------------------------------------- 4. one header on every page */
/* The canvas pages (home, services ...) drew a 300 x 150 logo even on phones and a 196 px header; the theme pages
   (articles, watches, categories) 240 x 140 and 166 px (108 px on phones). One size now.
   !important: the logo size is set with !important by the site's header plugin and its alignment rule. */
html:root body img.gw-header-logo.gw-header-logo.gw-header-logo.gw-header-logo.gw-header-logo { width: 240px !important; height: 140px !important; }
html body .e-con:has(> .elementor-widget .gw-header-logo) { padding-top: 13px; padding-bottom: 13px; min-height: 166px; align-items: center; }
html body .e-con > .elementor-widget:has(.gw-header-logo) { width: auto; }
html body .elementor-element :is(a.elementor-button):has(> .gw-header-logo) { padding: 0; }
@media (max-width: 1024px) {
  html:root body img.gw-header-logo.gw-header-logo.gw-header-logo.gw-header-logo.gw-header-logo { width: 180px !important; height: 88px !important; }
  html body .e-con:has(> .elementor-widget .gw-header-logo) { padding-top: 10px; padding-bottom: 10px; min-height: 108px; }
  html body .gwscf-fallback-header { min-height: 108px; }
}
/* tablets: the canvas header's five links ran into "EST. 2021" (CONTACT and EST. overlapped at 768 px); the label goes,
   as it already does on phones */
@media (min-width: 768px) and (max-width: 1024px) {
  html body .e-con:has(> .elementor-widget .gw-header-logo) > .elementor-widget-heading { display: none; }
}
/* header navigation, MENU and EST.: Inter on the canvas pages, JetBrains Mono on the theme pages -> Inter everywhere */
html body .gwscf-nav a { font: 700 11px/1 var(--gw-sans); letter-spacing: .2em; }
html body .gwscf-menu { font: 700 11px/1 var(--gw-sans); letter-spacing: .2em; }
html body :is(.gwscf-est) { font: 400 11px/1.5 var(--gw-mono); letter-spacing: .08em; color: var(--gw-muted); }

/* ---------------------------------------------------------------- 5. type scale */
/* display: hub and landing H1s and the brass call-to-action statements.  !important on the home H1 only: Elementor wrote
   its size inline (style="font-size:64px"). */
html body .elementor .elementor-element.elementor-element.elementor-element :is(h1, .softlite-dynamic-card-box-text-2:is(h1, h2)) {
  font-size: 72px; line-height: 1; letter-spacing: -.04em; font-weight: 800;
}
html body .elementor h1#gw-seo-copy-title { font-size: 72px !important; line-height: 1 !important; letter-spacing: -.04em !important; font-weight: 800 !important; }
/* English home H1: 9.5em (684 px) keeps "BUY, SELL & TRADE" on one line and wraps "IN ATHENS" as a pair instead of leaving
   "ATHENS" alone (the 860 px it replaces is inline); the Greek title is longer and keeps 860 px */
html[lang^="en"] body .elementor h1#gw-seo-copy-title { max-width: 9.5em !important; }
/* section titles */
html body .elementor .elementor-element.elementor-element.elementor-element :is(h2.elementor-heading-title, h2.softlite-dynamic-card-box-text-2, h2.softlite-dynamic-card-box-text-1),
html body :is(h2.gw-blog-title, h2.gw-featured-products-title) {
  font-size: 48px; line-height: 1.04; letter-spacing: -.03em; font-weight: 800;
}
/* the call-to-action statements on the brass bands stay display size */
html body .elementor .elementor-element.elementor-element.elementor-element .softlite-dynamic-card-box-background-color-1 h2 { font-size: 72px; line-height: 1; letter-spacing: -.04em; }
/* card and feature titles */
html body .elementor .elementor-element.elementor-element.elementor-element h3.softlite-dynamic-card-box-text-2,
html body :is(h3.gw-product-title, h3.gw-blog-card-title, .gw-product-title) { font-family: var(--gw-serif); font-size: 22px; line-height: 1.15; font-weight: 700; letter-spacing: -.005em; text-transform: uppercase; }
@media (max-width: 1024px) {
  html body .elementor .elementor-element.elementor-element.elementor-element :is(h1, .softlite-dynamic-card-box-text-2:is(h1, h2)),
  html body .elementor .elementor-element.elementor-element.elementor-element .softlite-dynamic-card-box-background-color-1 h2 { font-size: 56px; }
  html body .elementor h1#gw-seo-copy-title { font-size: 56px !important; }
  html body .elementor .elementor-element.elementor-element.elementor-element :is(h2.elementor-heading-title, h2.softlite-dynamic-card-box-text-2, h2.softlite-dynamic-card-box-text-1),
  html body :is(h2.gw-blog-title, h2.gw-featured-products-title) { font-size: 40px; }
  html body .elementor .elementor-element.elementor-element.elementor-element h3.softlite-dynamic-card-box-text-2,
  html body :is(h3.gw-product-title, h3.gw-blog-card-title, .gw-product-title) { font-size: 20px; }
}
@media (max-width: 767px) {
  html body .elementor .elementor-element.elementor-element.elementor-element :is(h1, .softlite-dynamic-card-box-text-2:is(h1, h2)),
  html body .elementor .elementor-element.elementor-element.elementor-element .softlite-dynamic-card-box-background-color-1 h2 { font-size: 40px; }
  html body .elementor h1#gw-seo-copy-title { font-size: 40px !important; }
  html body .elementor .elementor-element.elementor-element.elementor-element :is(h2.elementor-heading-title, h2.softlite-dynamic-card-box-text-2, h2.softlite-dynamic-card-box-text-1),
  html body :is(h2.gw-blog-title, h2.gw-featured-products-title) { font-size: 32px; }
}

/* category hub H1: the display face at section-title size (it was 44 px centred, 30 px on phones)
   !important: the category rule in site.css sets 44px !important */
html body.tax-product_cat .page-title .entry-title { font-size: 56px !important; line-height: 1.02; letter-spacing: -.03em; }
@media (max-width: 1024px) { html body.tax-product_cat .page-title .entry-title { font-size: 40px !important; } }
@media (max-width: 767px) { html body.tax-product_cat .page-title .entry-title { font-size: 32px !important; } }

/* watch page: the H1 (28 px) was smaller than "Technical details" (38 px) */
html body .gwc-buybox h1 { font-size: 32px; line-height: 1.05; letter-spacing: -.02em; }
html body .gwc-native-product-page :is(.gwc-spec-column, .gwc-description-column) > h2 { font-size: 24px; line-height: 1.1; letter-spacing: -.01em; }
@media (max-width: 767px) {
  html body .gwc-buybox h1 { font-size: 28px; }
  html body .gwc-native-product-page :is(.gwc-spec-column, .gwc-description-column) > h2 { font-size: 22px; }
}
/* watch description (900 px = 125 characters a line), the author box (110) and the Journal subtitle (97): the reading measure */
html body :is(.gwc-description > *, .author-area-info, .gw-blog-subtitle) { max-width: var(--gw-measure); }
/* price: 12 px Outfit on the watch page -> the page's sans at a size that reads as the price.
   !important: the theme sets every .woocommerce-Price-amount to 12px !important */
html body .gwc-price, html body .gwc-price .amount { font-family: var(--gw-sans) !important; font-size: 22px !important; font-weight: 600; line-height: 1.2; letter-spacing: 0; font-variant-numeric: tabular-nums; }
html body .gw-product-price, html body .gw-product-price :is(.amount, .price-por) { font-family: var(--gw-sans) !important; font-size: 15px !important; font-weight: 600; line-height: 1.3; letter-spacing: 0; font-variant-numeric: tabular-nums; }

/* reading pages: articles, landing pages, category guides, FAQ blocks */
html body .post-single-page .post-title { font-size: 44px; line-height: 1.1; font-weight: 700; letter-spacing: -.01em; }
html body .post-single-page .entry-content :is(h2) { font-size: 28px; line-height: 1.25; font-weight: 600; }
html body .post-single-page .entry-content :is(h3) { font-size: 21px; line-height: 1.3; font-weight: 600; }
html body .post-single-page .entry-content > :is(p, ul, ol, blockquote, .gw-short-answer, table, h2, h3, h4) { max-width: var(--gw-measure); margin-left: auto; margin-right: auto; }
html body .post-single-page :is(.entry-header, .post-title) { max-width: var(--gw-measure); margin-left: auto; margin-right: auto; }
@media (max-width: 1024px) { html body .post-single-page .post-title { font-size: 36px; } html body .post-single-page .entry-content h2 { font-size: 26px; } html body .post-single-page .entry-content h3 { font-size: 20px; } }
@media (max-width: 767px) { html body .post-single-page .post-title { font-size: 30px; } html body .post-single-page .entry-content h2 { font-size: 24px; } html body .post-single-page .entry-content h3 { font-size: 19px; } }
/* !important: the FAQ block's own inline style sets every heading property with !important */
html body :is(section.gw-hub-faq, section.gw-about-facts) h2 { font-size: 28px !important; font-weight: 600 !important; }
html body section.gw-hub-faq h3 { font-family: var(--gw-serif) !important; font-size: 21px !important; font-weight: 600 !important; }
html body section.gw-hub-faq p { font-size: 16px; color: var(--gw-text-2); }
html body section.gw-cat-guide h2 { font-size: 28px; font-weight: 600; line-height: 1.25; }
html body section.gw-cat-guide h3 { font-size: 21px; font-weight: 600; line-height: 1.3; }
@media (max-width: 767px) {
  html body section.gw-hub-faq h2, html body section.gw-cat-guide h2 { font-size: 24px !important; }
  html body section.gw-hub-faq h3, html body section.gw-cat-guide h3 { font-size: 19px !important; }
}

/* ---------------------------------------------------------------- 6. the mono TAG and REF (the one signature) */
/* TAG, brass: kickers, section labels, card brand lines, the watch page eyebrow */
html body :is(.gw-blog-kicker, .gw-blog-card-category, .gw-product-brand, .gwc-eyebrow, .gw-hub-links h2, .gw-filter-label,
              .elementor-element .softlite-dynamic-card-box-text-1:is(p), .gw-seo-copy-kicker) {
  font-family: var(--gw-mono); font-size: 11px; font-weight: 700; letter-spacing: .2em; line-height: 1.5; text-transform: uppercase;
}
/* !important: the hub-link labels' own rule (gw-seo) sets size and spacing with !important */
html body .gw-hub-links h2 { font-size: 11px !important; letter-spacing: .2em !important; }
/* section labels that are headings: a site-wide rule forces Playfair (and white) on every h1-h6 with !important */
html body :is(.gwscf-fallback-footer h4, .gwc-spec-group h3) { font-family: var(--gw-mono) !important; font-size: 11px; font-weight: 700; letter-spacing: .2em; line-height: 1.5; text-transform: uppercase; color: var(--gw-brass) !important; }
/* the canvas footers' labels ("Navigation", "Contact") were Inter 10 px with 1 px spacing */
html body .elementor .elementor-element.elementor-element:is(.elementor-element-a999ddd, .elementor-element-3162526, .elementor-element-f3dbf2d, .elementor-element-9876b5b, .elementor-element-dc3686f, .elementor-element-f4eca34) span.elementor-heading-title {
  font-family: var(--gw-mono); font-size: 11px; font-weight: 700; letter-spacing: .2em; line-height: 1.5; text-transform: uppercase; color: var(--gw-brass);
}
/* TAG, muted: EST., copyright lines, field labels, status lines */
html body :is(.gwscf-footer-bottom, .gwc-status-line, .gw-field > label, .gw-valuation-field > label, .gw-model-hint) {
  font-family: var(--gw-mono); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
}
html body .gw-valuation-field > label { color: var(--gw-text-2); }
/* REF */
html body :is(.gwc-refline, .gw-product-ref) { font-family: var(--gw-mono); font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--gw-ref); }
html body .gwc-refline.gw-model-link a { color: var(--gw-brass); }
/* text links that act as buttons: Read article, Inquire, View all, WhatsApp direct */
html body :is(.gw-blog-card-bottom, .gw-product-inquire, .gw-featured-products-view) { font-family: var(--gw-mono); font-size: 11px; font-weight: 700; letter-spacing: .14em; color: var(--gw-brass); }

/* ---------------------------------------------------------------- 7. one button family */
/* size and type for every button; each keeps its colour role */
html body .elementor .elementor-element.elementor-element.elementor-element:is(.elementor-element-8eb9b98, .elementor-element-55ab113, .elementor-element-e0e0c78, .elementor-element-b58ed62, .elementor-element-d341a6e, .elementor-element-083ce96) .elementor-button,
html body .elementor .elementor-element.elementor-element .softlite-dynamic-card-box-button.softlite-dynamic-card-box-button-text:is(.ijy69s38),
html body :is(.gwc-button, .gw-filter-button, .gw-collection-clear, .gw-valuation-submit, #gw-contact-form button[type="submit"], #gw-contact-form button:not([type]), .wd-cookies-popup .cookies-accept-btn) {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: var(--gw-btn-h); height: auto; min-width: 0; max-width: 100%; padding: 12px 32px; border-radius: 0;
  font-family: var(--gw-sans); font-size: 12px; font-weight: 700; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; white-space: normal; text-align: center;
  transition: background-color var(--gw-ease), color var(--gw-ease), border-color var(--gw-ease);
}
html body .elementor .elementor-element.elementor-element .softlite-dynamic-card-box-button.softlite-dynamic-card-box-button-text:is(.ijy69s38) { flex-direction: row; }
/* primary: brass -> lighter brass */
html body .elementor .elementor-element.elementor-element.elementor-element.elementor-element-8eb9b98 .elementor-button:hover,
html body :is(.gwc-button-primary, .gw-filter-button, .wd-cookies-popup .cookies-accept-btn, #gw-contact-form button):hover { background-color: var(--gw-brass-hi); border-color: var(--gw-brass-hi); color: var(--gw-ink); }
/* the Sell form's submit was a 10 px underlined text link: it is the page's main action, so it is the primary button.
   !important: its own rule draws the underline with a border and sets a transparent background with !important */
html body .gw-valuation-submit { background: var(--gw-brass) !important; border: 1px solid var(--gw-brass) !important; color: var(--gw-ink) !important; -webkit-text-fill-color: var(--gw-ink); }
html body .gw-valuation-submit:hover { background: var(--gw-brass-hi) !important; border-color: var(--gw-brass-hi) !important; }
/* cookie Accept: Outfit #C8A96E -> the brand brass and font. !important: the theme forces the background of every .btn
   with !important, and its hover left ink text on a transparent button (unreadable) */
html body .wd-cookies-popup .cookies-accept-btn { background: var(--gw-brass) !important; border: 1px solid var(--gw-brass) !important; color: var(--gw-ink) !important; }
html body .wd-cookies-popup .cookies-accept-btn:hover { background: var(--gw-brass-hi) !important; border-color: var(--gw-brass-hi) !important; color: var(--gw-ink) !important; }
/* secondary (outline on ink): hover turns the line and the word brass */
html body .elementor .elementor-element.elementor-element.elementor-element.elementor-element-55ab113 .elementor-button:hover,
html body :is(.gwc-button:not(.gwc-button-primary), .gw-collection-clear):hover { border-color: var(--gw-brass); color: var(--gw-brass); -webkit-text-fill-color: var(--gw-brass); background-color: transparent; }
html body .gwc-button:hover, html body .gw-filter-button:hover, html body .gw-collection-clear:hover { transform: none; }
/* on the brass bands: ink solid -> ink at 85 %, ink outline -> filled ink */
html body .elementor .elementor-element.elementor-element.elementor-element:is(.elementor-element-e0e0c78, .elementor-element-d341a6e) .elementor-button:hover,
html body .elementor .elementor-element.elementor-element .softlite-dynamic-card-box-button.softlite-dynamic-card-box-button-text:is(.ijy69s38):hover { background-color: #23282B; color: var(--gw-text); }
html body .elementor .elementor-element.elementor-element.elementor-element:is(.elementor-element-b58ed62, .elementor-element-083ce96) .elementor-button:hover { background-color: var(--gw-ink); border-color: var(--gw-ink); color: var(--gw-text); }
/* links that had no hover at all: MENU, the header and footer link lists, the footer e-mail / WhatsApp / Instagram
   links, the footer wordmark, "WhatsApp direct" */
html body .elementor .elementor-element.elementor-element.elementor-element :is(a[id$="-menu-trigger"]):hover,
html body .gwscf-menu:hover { color: var(--gw-brass-hi); background: transparent; }
html body .elementor .elementor-element.elementor-element.elementor-element :is(a.softlite-dynamic-list-item, a.softlite-dynamic-list-item .softlite-dynamic-list-item-inner):hover,
html body .elementor .elementor-element.elementor-element.elementor-element .softlite-dynamic-card-box-button-text:not(.ijy69s38):hover,
html body .elementor .elementor-element.elementor-element.elementor-element .elementor-button.elementor-button-link:not(:has(img)):not(:is(.elementor-element-8eb9b98, .elementor-element-55ab113, .elementor-element-e0e0c78, .elementor-element-b58ed62, .elementor-element-d341a6e, .elementor-element-083ce96) *):hover,
html body :is(.gwscf-nav a, .gwscf-footer-links a):hover { color: var(--gw-brass); -webkit-text-fill-color: var(--gw-brass); }
html body :is(a.softlite-dynamic-list-item, .softlite-dynamic-card-box-button-text, .elementor-button, .gwscf-nav a, .gwscf-footer-links a, .gwscf-menu) { transition: color var(--gw-ease), background-color var(--gw-ease), border-color var(--gw-ease); }
/* text links: the word gets a line */
html body :is(.gw-blog-card, .gw-product-card):hover :is(.gw-blog-card-bottom, .gw-product-inquire),
html body .gw-featured-products-view:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ---------------------------------------------------------------- 8. tap targets on touch screens (44 px) */
@media (max-width: 1024px) {
  /* Header MENU and isolated View all links keep their alignment. Footer navigation and contact
     links reserve real space for their larger tap targets so adjacent links cannot overlap. */
  html body .elementor .elementor-element.elementor-element.elementor-element a[id$="-menu-trigger"],
  html body .gwscf-menu { padding: 14px 0 14px 6px; margin: -14px 0 -14px -6px; min-height: 44px; }
  /* Footer links reserve their full tap area; negative margins made neighbours overlap. */
  html body .elementor .softlite-dynamic-list > a.softlite-dynamic-list-item { min-height: 44px; padding-top: 14px; padding-bottom: 14px; margin-top: 0; margin-bottom: 0; }
  html body .elementor .elementor-element.elementor-element .elementor-button.elementor-button-link:not(:has(img)):not(:is(.elementor-element-8eb9b98, .elementor-element-55ab113, .elementor-element-e0e0c78, .elementor-element-b58ed62, .elementor-element-d341a6e, .elementor-element-083ce96) *) {
    padding-top: 14px; padding-bottom: 14px; margin-top: 0; margin-bottom: 0;
  }
  html body .gw-featured-products-view { padding: 14px 0; margin: -14px 0; }
  html body .gwscf-fallback-footer .gwscf-footer-links a { display: block; min-height: 44px; padding: 11px 0; margin: 0; }
  html body .elementor .elementor-element.elementor-element.elementor-element .softlite-dynamic-card-box-button-text:not(.ijy69s38) { padding-top: 15px; padding-bottom: 15px; margin-top: -15px; margin-bottom: -15px; }
  /* form fields were 42 px high */
  html body :is(.gw-valuation-form, #gw-contact-form, .gw-collection-toolbar) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select) { min-height: 48px; }
  /* list links of the hub sections were 36 px high */
  html body .gw-hub-links li a { min-height: 44px; align-items: center; }
  html body nav.gw-cat-models a { min-height: 44px; display: inline-flex; align-items: center; }
  html body .gw-collection-pagination .gw-page-link { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  /* article pages: category badge, author links, share icons (40 x 40), back-to-list (36 x 40), footer phone and e-mail */
  html body .meta-post-categories a { display: inline-flex; align-items: center; min-height: 32px; }
  html body :is(.entry-meta-list a, a.author-link) { display: inline-block; padding: 13px 4px; margin: -13px -4px; }
  html body .gwscf-footer-info a { display: inline-block; padding: 11px 0; margin: -11px 0; }
  /* watch page "See all pre-owned ..." link (35 high) and the hub breadcrumb (22 high) */
  html body .gwc-refline.gw-model-link a { display: inline-block; padding: 5px 0; margin: -5px 0; }
  html body .woocommerce-breadcrumb a { padding-top: 11px; padding-bottom: 11px; }
  html body .wd-social-icons.wd-social-icons a { width: 44px; height: 44px; }
  html body a.back-to-archive { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  /* phones: body text under 14 px (contact cards 12 px, form hint 10 px) */
  html body .elementor-13113 .elementor-element.elementor-element.elementor-element :is(.softlite-dynamic-card-box-text-2, .softlite-dynamic-card-box-text-3):is(p) { font-size: 14px; line-height: 1.6; }
}
/* hero buttons on phones: full width, one line each, same height (they wrapped to two and three lines) */
@media (max-width: 767px) {
  html body .elementor .elementor-element.elementor-element:is(.elementor-element-bb47e62, .elementor-element-d88c06f) { flex-direction: column; align-items: stretch; }
  html body .elementor .elementor-element.elementor-element-d88c06f > .elementor-element.elementor-element { width: 100%; max-width: none; margin: 0; }
  html body .elementor .elementor-element.elementor-element-d88c06f .elementor-button { width: 100%; }
}

/* ---------------------------------------------------------------- 9. floating controls */
/* Desktop: each control lives in a side gutter, the language switcher (a 44 px flag square; the language name stays in
   the markup for screen readers and shows when the list opens) bottom-left, WhatsApp bottom-right, the theme's
   back-to-top above WhatsApp. From 1280 px the gutters (64 px and more) hold them without touching the content.
   Touch screens (1024 px and less): a 64 px bar of their own at the bottom; the page ends above it.
   !important throughout this section: the site's custom CSS places the switcher with !important and the WhatsApp
   plugin writes its sizes inline. */
html body .qlwapp { --qlwapp-scheme-icon-size: 56px !important; }
html body .qlwapp .qlwapp__container { right: 24px !important; bottom: 24px !important; width: auto !important; }
html body .qlwapp .qlwapp__button { margin: 0 !important; }
html body .trp-language-switcher.trp-floating-switcher {
  left: 16px !important; right: auto !important; bottom: 24px !important; top: auto !important; z-index: 1000 !important;
  padding: 0 !important; border: 1px solid var(--gw-line) !important; border-radius: 0 !important; background: var(--gw-ink) !important; box-shadow: none !important;
}
html body .trp-floating-switcher .trp-language-item { min-height: 42px; padding: 0 13px !important; font: 500 12px/1 var(--gw-sans); letter-spacing: .06em; gap: 8px; color: var(--gw-text); }
html body .trp-floating-switcher .trp-language-item:hover { background: var(--gw-surface); color: var(--gw-brass); }
html body a.scrollToTop { left: auto !important; right: 30px !important; bottom: 92px !important; width: 44px !important; height: 44px !important; border-radius: 0 !important; background: var(--gw-ink) !important; border: 1px solid var(--gw-line) !important; color: var(--gw-text) !important; box-shadow: none !important; }
@media (min-width: 1025px) {
  html body .trp-floating-switcher .trp-language-item__current .trp-language-item-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  html body .trp-floating-switcher .trp-language-item__current { width: 42px; padding: 0 !important; justify-content: center; }
  html body .trp-language-switcher.trp-floating-switcher:not(.is-open):not([aria-expanded="true"]) { width: 44px !important; }   /* the closed list kept the box 104 px wide */
  html body .trp-language-switcher.trp-floating-switcher:is(.is-open, [aria-expanded="true"]) { width: max-content !important; }
}
/* cookie notice (articles and landing pages): it covers the floating controls, never the other way round, and on
   desktop they wait above it while it shows */
html body .wd-cookies-popup { z-index: 10000001 !important; }
@media (min-width: 1025px) {
  html body:has(.wd-cookies-popup.popup-display) .qlwapp .qlwapp__container,
  html body:has(.wd-cookies-popup.popup-display) .trp-language-switcher.trp-floating-switcher { bottom: 98px !important; }
  html body:has(.wd-cookies-popup.popup-display) a.scrollToTop { bottom: 166px !important; }
}
@media (max-width: 1024px) {
  html body { padding-bottom: calc(var(--gw-bar-h) + env(safe-area-inset-bottom, 0px)); }
  html::after { content: ""; position: fixed; left: 0; right: 0; bottom: 0; z-index: 999; height: calc(var(--gw-bar-h) + env(safe-area-inset-bottom, 0px)); background: var(--gw-ink); border-top: 1px solid var(--gw-line); pointer-events: none; }
  html body .qlwapp { --qlwapp-scheme-icon-size: 44px !important; }
  html body .qlwapp .qlwapp__container { right: var(--gw-g) !important; bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important; }
  html body .qlwapp .qlwapp__button { box-shadow: none !important; }
  html body .trp-language-switcher.trp-floating-switcher,
  html body:has(.wd-cookies-popup.popup-display) .trp-language-switcher.trp-floating-switcher { left: var(--gw-g) !important; bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important; }
  html body a.scrollToTop,
  html body:has(.wd-cookies-popup.popup-display) a.scrollToTop { right: auto !important; left: 50% !important; margin-left: -22px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important; z-index: 1000 !important; }
  /* the cookie notice sits on top of the bar */
  html body .wd-cookies-popup { bottom: calc(var(--gw-bar-h) + env(safe-area-inset-bottom, 0px)) !important; }
}

/* ---------------------------------------------------------------- 10. contrast */
/* about, review cards: date 2.7:1, "verified" 4.3:1, "54 reviews" 3.5:1, "verified on" 2.5:1 -> the muted token (6:1) */
html body :is(.gw-card-footer .gw-date, .gw-rating-sub, .gw-brand-label) { color: var(--gw-muted); }
html body .gw-card-footer .gw-verified { color: var(--gw-brass); }
/* category hubs: the current breadcrumb item was 1.6:1; the listing's "select a brand first" hint 4.05:1 */
html body .woocommerce-breadcrumb .breadcrumb-last { color: var(--gw-muted); }
html body .gw-model-hint { color: var(--gw-muted); opacity: 1; }
/* articles: white on #C3935B (2.75:1) -> ink on brass (8.4:1) */
html body .wd-post-cat.wd-style-with-bg > a { background-color: var(--gw-brass); color: var(--gw-ink); }

/* One page colour on every page. The articles and other theme pages painted their content area darker (#060606)
   than the header and footer (#0B0E0F), so the header looked like a separate band there and nowhere else. */
html, html body,
html body .main-page-wrapper > :is(.container, .container-fluid),
html body :is(.website-wrapper, .main-page-wrapper, .site-content, .content-layout-wrapper, .wd-content-layout, .page-title, .wd-page-content, .blog-post-loop, .post-single-page) {
  background-color: var(--gw-ink) !important; /* the theme sets these with its own !important-free rules at higher specificity */
}
html body :is(.gwscf-fallback-header, .gwscf-fallback-footer) { background-color: var(--gw-ink) !important; }

/* ---------------------------------------------------------------- 11. expanded Greek navigation */
/* Keep whole navigation labels together, and let the row wrap when space is limited. */
@media (min-width: 768px) {
  html[lang^="el"] body .elementor .elementor-element.elementor-element .knhqdnk9,
  html[lang^="el"] body .gwscf-nav { flex-wrap: wrap; gap: 12px 20px; justify-content: center; align-items: center; }
  html[lang^="el"] body .knhqdnk9 a { white-space: nowrap; flex-shrink: 0; }
  html[lang^="el"] body .e-con:has(> .elementor-widget .gw-header-logo) { column-gap: 24px; }
  html[lang^="el"] body .e-con > .elementor-widget:has(.knhqdnk9) { flex: 1 1 0%; min-width: 0; width: auto; }
  html[lang^="el"] body .e-con > .elementor-widget:has(.gw-header-logo),
  html[lang^="el"] body .e-con > .elementor-widget:has(> a[id$="-menu-trigger"]) { flex-shrink: 0; }
  html[lang^="el"] body .gwscf-fallback-header { grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; }
  html[lang^="el"] body .gwscf-header-actions { min-width: 0; gap: 24px; }
}
@media (min-width: 768px) and (max-width: 1279px) {
  html[lang^="el"] body .e-con:has(> .elementor-widget .gw-header-logo) > .elementor-widget-heading,
  html[lang^="el"] body .gwscf-est { display: none; }
}

/* ---------------------------------------------------------------- 12. quiet finishing details */
/* A slight surface tint makes fields easier to distinguish from the page without adding a panel.
   !important: the captured Elementor form rules force transparent backgrounds and border colours. */
html body :is(.gw-valuation-form, #gw-contact-form) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea) {
  background-color: rgba(244, 241, 238, .025) !important;
  border-color: #343B3F !important;
}
html body :is(.gw-valuation-form, #gw-contact-form) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea):focus-visible {
  border-color: var(--gw-brass) !important;
}
@media (max-width: 767px) {
  html body :is(.gw-valuation-form, #gw-contact-form) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size: 16px; }
}
/* Restrained link feedback; text decoration does not change the size of a navigation item. */
@media (hover: hover) {
  html body :is(.knhqdnk9, .gwscf-footer-links) a:hover,
  html body .elementor .softlite-dynamic-list > a.softlite-dynamic-list-item:hover {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
    text-decoration-color: var(--gw-brass);
  }
  html body .gw-product-card:hover .gw-product-image img {
    transform: scale(1.02);
    filter: grayscale(0%) brightness(1.04) contrast(1.02) saturate(1.04);
  }
}
/* Inline article links stay identifiable within running text. */
html body .post-single-page .entry-content p a {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(209, 163, 95, .55);
}
/* The artwork is already 240px: remove the spare 20px in its desktop wrapper. */
@media (min-width: 1025px) {
  html[lang^="el"] body .gwscf-logo { width: 240px; min-width: 240px; }
}

/* ---------------------------------------------------------------- 13. aligned featured watch cards */
/* Shared rows keep images, names, references and prices aligned despite different title lengths. */
html body .gw-featured-products-wrap .gw-product-card {
  display: flex;
  flex-direction: column;
}
html body .gw-featured-products-wrap .gw-product-image { flex-shrink: 0; }
html body .gw-featured-products-wrap .gw-product-ref { margin-bottom: 0; }
html body .gw-featured-products-wrap .gw-product-bottom {
  margin-top: auto;
  padding-top: 32px;
}
/* Keep the card edge and price baseline still when a card is hovered. */
html body .gw-featured-products-wrap .gw-product-card:hover { transform: none; }
@supports (grid-template-rows: subgrid) {
  html body .gw-featured-products-wrap .gw-product-card {
    display: grid;
    grid-row: span 5;
    grid-template-rows: subgrid;
    row-gap: 0;
  }
  html body .gw-featured-products-wrap .gw-product-bottom { margin-top: 0; }
}

/* ---------------------------------------------------------------- 14. three watches per row on phones */
/* Apply to the collection, category, sold and homepage watch grids, keeping desktop layouts intact. */
@media (max-width: 767px) {
  html body .gw-product-grid,
  html body .gw-featured-products-wrap .gw-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  html body .gw-product-grid .gw-product-card { min-width: 0; padding: 6px; }
  html body .gw-product-grid .gw-product-image { margin-bottom: 10px; }
  html body .gw-product-grid .gw-product-brand {
    margin-bottom: 6px;
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .04em;
    overflow-wrap: anywhere;
  }
  html body .gw-product-grid .gw-product-title {
    font-size: clamp(11px, 3vw, 14px);
    line-height: 1.25;
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }
  html body .gw-product-grid .gw-product-ref {
    margin: 4px 0 0;
    font-size: 9px;
    line-height: 1.5;
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }
  html body .gw-product-grid .gw-product-bottom {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 6px;
    padding-top: 12px;
  }
  html body .gw-product-grid .gw-product-price,
  html body .gw-product-grid .gw-product-price :is(.amount, .price-por) {
    font-size: clamp(10px, 2.8vw, 12px) !important;
    line-height: 1.4;
    letter-spacing: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  html body .gw-product-grid .gw-product-inquire {
    font-size: 9px;
    line-height: 1.5;
    letter-spacing: .02em;
    white-space: normal;
  }
}

/* Collection header: on phones and tablets the Chrono24 badge image was wider than its slot and spilled over MENU.
   Size it to a fixed 32px height and keep a gap before the MENU button. */
@media (max-width: 1024px) {
  html body .elementor-element.elementor-element-b6458e1 { flex: 0 0 auto !important; width: auto !important; margin: 0 14px 0 auto !important; }
  html body .elementor-element-b6458e1 :is(.gallery-images, .wd-gallery-item) { width: auto !important; max-width: none !important; flex: 0 0 auto !important; padding: 0 !important; margin: 0 !important; }
  html body .elementor-element-b6458e1 img { width: 64px !important; max-width: none !important; height: 32px !important; object-fit: contain; display: block; }
}
/* Watch page photo viewer (public/assets/site.js): a zoom button on the main photo and the full-screen viewer. */
.gwc-main-image { position: relative; }
.gwc-main-image img[data-gwc-main-image] { cursor: zoom-in; }
.gwc-zoom { position: absolute; right: 12px; bottom: 12px; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border-radius: 50%; border: 1px solid rgba(244, 241, 238, .28); background: rgba(11, 14, 15, .72); color: var(--gw-text, #F4F1EE); cursor: zoom-in; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: border-color 160ms, color 160ms; }
.gwc-zoom:hover, .gwc-zoom:focus-visible { border-color: var(--gw-brass, #D1A35F); color: var(--gw-brass, #D1A35F); outline: none; }
html.gwc-lb-open, html.gwc-lb-open body { overflow: hidden !important; }
.gwc-lb { position: fixed; inset: 0; z-index: 2147483000; display: none; background: rgba(5, 6, 6, .97); }
.gwc-lb.is-open { display: block; }
.gwc-lb-stage { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; touch-action: none; -webkit-user-select: none; user-select: none; }
.gwc-lb-img { display: block; max-width: 100vw; max-height: 100vh; max-height: 100dvh; width: auto; height: auto; transform-origin: center center; cursor: zoom-in; will-change: transform; -webkit-user-drag: none; }
.gwc-lb.is-zoomed .gwc-lb-img { cursor: grab; }
.gwc-lb.is-dragging .gwc-lb-img { cursor: grabbing; }
.gwc-lb-img.is-anim { transition: transform 220ms ease; }
.gwc-lb-btn { position: absolute; width: 48px; height: 48px; display: grid; place-items: center; padding: 0; border-radius: 50%; border: 1px solid rgba(244, 241, 238, .24); background: rgba(17, 21, 24, .82); color: var(--gw-text, #F4F1EE); cursor: pointer; transition: border-color 160ms, color 160ms, opacity 160ms; }
.gwc-lb-btn:hover, .gwc-lb-btn:focus-visible { border-color: var(--gw-brass, #D1A35F); color: var(--gw-brass, #D1A35F); outline: none; }
.gwc-lb-close { top: max(14px, env(safe-area-inset-top)); right: 14px; }
.gwc-lb-prev, .gwc-lb-next { top: 50%; transform: translateY(-50%); }
.gwc-lb-prev { left: 14px; }
.gwc-lb-next { right: 14px; }
.gwc-lb-count { position: absolute; left: 50%; bottom: max(18px, env(safe-area-inset-bottom)); transform: translateX(-50%); pointer-events: none; color: rgba(244, 241, 238, .72); font: 500 12px/1 Inter, system-ui, sans-serif; letter-spacing: .16em; }
.gwc-lb.is-single .gwc-lb-prev, .gwc-lb.is-single .gwc-lb-next, .gwc-lb.is-single .gwc-lb-count { display: none; }
.gwc-lb.is-zoomed .gwc-lb-prev, .gwc-lb.is-zoomed .gwc-lb-next { opacity: .3; }
@media (max-width: 767px) {
  .gwc-lb-prev, .gwc-lb-next { top: auto; bottom: max(10px, env(safe-area-inset-bottom)); transform: none; }
  .gwc-lb-count { bottom: calc(max(10px, env(safe-area-inset-bottom)) + 18px); }
}
@media (prefers-reduced-motion: reduce) { .gwc-lb-img.is-anim, .gwc-zoom, .gwc-lb-btn { transition: none; } }

/* Homepage featured watches on phones: three per row, so show only full rows. A last card alone on its row is hidden,
   and so are the last two when they would make a row of two. Collection and category grids keep every watch. */
@media (max-width: 767px) {
  html body .gw-featured-products-wrap .gw-product-grid > .gw-product-card:nth-child(3n+1):nth-last-child(1),
  html body .gw-featured-products-wrap .gw-product-grid > .gw-product-card:nth-child(3n+1):nth-last-child(2),
  html body .gw-featured-products-wrap .gw-product-grid > .gw-product-card:nth-child(3n+1):nth-last-child(2) ~ .gw-product-card { display: none !important; }
}
/* The address links to Google Maps and the Chrono24 badge to the shop's Chrono24 profile (tools/mirror_live.py,
   partials/footer.php, the collection frames). The address keeps its text colour with a quiet brass underline. */
html body a.gw-map-link { color: inherit !important; text-decoration: underline; text-decoration-color: rgba(209, 163, 95, .55); text-decoration-thickness: 1px; text-underline-offset: 3px; }
html body a.gw-map-link:hover, html body a.gw-map-link:focus-visible { color: var(--gw-brass, #D1A35F) !important; text-decoration-color: currentColor; }
html body a.gw-chrono24-link { display: inline-block; line-height: 0; }
html body a.gw-chrono24-link:focus-visible { outline: 2px solid var(--gw-brass, #D1A35F); outline-offset: 3px; }
