/*
Theme Name: Custom Watch Studio Catalog Final
Theme URI: https://customwatchstudio.com/
Author: Custom Watch Studio
WooCommerce-compatible, consultation-first storefront theme for Custom Watch Studio.
Version: 0.5.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: custom-watch-studio
Tags: e-commerce, custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, wide-blocks
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#111211;--paper:#efefe9;--acid:#c9ff5d;--muted:#a5a8a1;--line:rgba(239,239,233,.2);--mono:'DM Mono',monospace;--sans:'Manrope',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font:14px/1.5 var(--sans)}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}.cws-header{height:72px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--ink);position:relative;z-index:2}.cws-logo{display:inline-flex;align-items:center;width:76px;height:28px;font:500 25px/1 var(--mono);letter-spacing:-.17em;position:relative}.cws-logo:after{content:'';width:13px;height:1px;background:var(--acid);position:absolute;bottom:0;left:40px}.cws-nav{display:flex;gap:29px;margin-left:60px}.cws-nav a{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#afb1ab}.cws-nav a:hover,.cws-nav .current-menu-item a{color:var(--paper)}.cws-header-links{display:flex;gap:11px;align-items:center;font:10px var(--mono);text-transform:uppercase}.cws-header-links a{padding:7px}.cws-menu-toggle{display:none;border:0;background:transparent;color:var(--paper);font-size:10px;text-transform:uppercase}.cws-container{padding-left:6vw;padding-right:6vw}.cws-kicker{color:var(--acid);display:flex;gap:9px;align-items:center;font:500 10px var(--mono);letter-spacing:.07em;text-transform:uppercase}.cws-kicker:after{content:'';display:inline-block;width:27px;height:1px;background:currentColor}.cws-display{font:500 clamp(48px,7.7vw,118px)/.85 var(--sans);letter-spacing:-.09em;text-transform:uppercase;margin:21px 0 25px}.cws-display em,.cws-section-title em{font-family:var(--serif);font-weight:400;letter-spacing:-.04em}.cws-btn{display:inline-flex;align-items:center;gap:26px;padding:13px 14px 13px 18px;border:1px solid rgba(239,239,233,.55);font:500 10px var(--mono);letter-spacing:.07em;text-transform:uppercase;transition:background .18s,color .18s}.cws-btn:after{content:'↘';font-size:17px}.cws-btn:hover{background:var(--acid);border-color:var(--acid);color:var(--ink)}.cws-hero{min-height:650px;height:calc(100vh - 72px);position:relative;overflow:hidden}.cws-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% center}.cws-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,8,.85),rgba(8,9,8,.4) 43%,rgba(8,9,8,.06)),linear-gradient(0deg,rgba(8,9,8,.75),transparent 38%)}.cws-hero-copy{position:absolute;z-index:1;left:6vw;bottom:13%;max-width:600px}.cws-hero-copy p{max-width:370px;color:#d3d5ce;font-size:14px;line-height:1.7;margin:0 0 28px}.cws-hero-meta{position:absolute;z-index:1;bottom:25px;left:6vw;right:6vw;display:flex;justify-content:space-between;text-transform:uppercase;color:#bbbeb5;font:9px var(--mono);letter-spacing:.07em}.cws-intro{padding-top:130px;padding-bottom:130px;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1fr 1.8fr;gap:8vw}.cws-intro .cws-kicker{color:#5d6059}.cws-intro-copy h2,.cws-section-title{font:500 clamp(43px,5.8vw,86px)/.89 var(--sans);letter-spacing:-.09em;text-transform:uppercase;margin:0 0 32px}.cws-intro-copy p{font-size:16px;line-height:1.76;max-width:490px;color:#4c4f48;margin:0 0 28px}.cws-text-link{border-bottom:1px solid currentColor;padding-bottom:6px;text-transform:uppercase;font:500 10px var(--mono);letter-spacing:.07em}.cws-text-link:after{content:' →';font-size:15px}.cws-collection{background:#dfe0d9;color:var(--ink);padding:78px 0 106px}.cws-collection-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:48px}.cws-collection .cws-kicker{color:#53564f}.cws-collection .cws-btn{border-color:var(--ink)}.cws-products{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 2vw}.cws-product-card{padding:0 9px}.cws-product-image{height:clamp(330px,37vw,560px);position:relative;overflow:hidden;background:#343532}.cws-product-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.23,1,.32,1)}.cws-product-card:hover .cws-product-image img{transform:scale(1.04)}.cws-product-image span{position:absolute;left:12px;top:12px;color:#fff;font:10px var(--mono);mix-blend-mode:difference}.cws-product-info{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #a7aaa1;padding:14px 0 18px}.cws-product-info h3{font-size:12px;letter-spacing:.06em;margin:0 0 3px}.cws-product-info p{margin:0;color:#60635b;font-size:10px}.cws-product-info:after{content:'↘';font-size:18px}.cws-atelier{min-height:640px;position:relative;display:flex;align-items:center;padding:70px 6vw}.cws-atelier>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62)}.cws-atelier-panel{background:var(--paper);color:var(--ink);padding:40px 43px;max-width:430px;position:relative}.cws-atelier-panel .cws-kicker{color:#555850}.cws-atelier-panel h2{font:500 clamp(50px,5vw,75px)/.85 var(--sans);letter-spacing:-.09em;margin:21px 0}.cws-atelier-panel p{color:#50534d;line-height:1.75;margin:0 0 28px}.cws-principles{padding-top:105px;padding-bottom:105px}.cws-principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3vw;margin-top:72px}.cws-principle{border-top:1px solid rgba(239,239,233,.42);padding-top:13px}.cws-principle span{color:var(--acid);font:10px var(--mono)}.cws-principle h3{font-size:13px;letter-spacing:.07em;margin:52px 0 12px}.cws-principle p{color:#a5a8a0;max-width:250px;font-size:13px;line-height:1.7;margin:0}.cws-footer{padding:70px 6vw 25px;background:#1b1d1b;border-top:1px solid #343632}.cws-footer-top{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:end;padding-bottom:70px;border-bottom:1px solid #464843}.cws-footer-top p{font:500 clamp(24px,3vw,42px)/1.06 var(--serif);max-width:340px;margin:0}.cws-footer-links{display:grid;grid-template-columns:.8fr 1fr 1.6fr;gap:20px;padding:49px 0 65px}.cws-footer-links>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.cws-footer-links a{font-size:12px;color:#d6d7d0}.cws-footer-label{color:var(--acid);font:10px var(--mono);letter-spacing:.07em;text-transform:uppercase;margin-bottom:12px}.cws-footer-news p{color:#a5a8a0;font-size:12px;line-height:1.65;margin:0;max-width:260px}.cws-footer-bottom{display:flex;justify-content:space-between;color:#777a73;text-transform:uppercase;font:9px var(--mono);letter-spacing:.04em}.cws-page{background:var(--paper);color:var(--ink);min-height:650px;padding-top:90px;padding-bottom:110px}.cws-page .cws-kicker{color:#656860}.cws-page-lead{max-width:470px;color:#555850;line-height:1.75;margin:0 0 64px}.cws-faq{border-top:1px solid #abaea5;max-width:900px}.cws-faq-item{border-bottom:1px solid #abaea5;padding:21px 0}.cws-faq-item h3{font-size:14px;margin:0 0 11px}.cws-faq-item p{max-width:660px;color:#53564f;line-height:1.72;margin:0;font-size:13px}.cws-policy-grid{display:grid;grid-template-columns:.6fr 1fr;gap:12vw;max-width:1040px;margin-top:64px}.cws-policy-note{border-top:1px solid #afb1a8;padding-top:14px;font-size:12px;line-height:1.75;color:#4e514a}.cws-policy-copy{max-width:560px;color:#53564d;font-size:14px;line-height:1.8}.cws-contact-grid{display:grid;grid-template-columns:1fr .6fr;gap:11vw;max-width:980px;margin-top:60px}.cws-contact-grid label{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase}.cws-contact-grid input,.cws-contact-grid textarea{border:0;border-bottom:1px solid #aeb0a8;background:transparent;padding:9px 0;color:var(--ink);outline:0;font:13px var(--sans);text-transform:none}.cws-contact-aside{background:#dfe0d9;padding:25px;align-self:start}.cws-contact-aside span{font:10px var(--mono);letter-spacing:.07em}.cws-contact-aside p{font:500 27px/1.1 var(--serif);margin:15px 0}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering,.woocommerce .add_to_cart_button{display:none!important}.woocommerce .products{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0!important}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important}.woocommerce ul.products li.product a img{height:430px;object-fit:cover;margin:0!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:600 13px var(--sans);letter-spacing:.04em;color:var(--ink);padding:13px 0;margin:0;border-bottom:1px solid #a7aaa1}.cws-product-page{background:var(--paper);color:var(--ink);padding-top:28px;padding-bottom:100px}.cws-product-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:start}.cws-product-gallery img{width:100%;height:min(67vw,700px);object-fit:cover}.cws-product-detail{position:sticky;top:18px;height:max-content}.cws-product-detail .cws-kicker{color:#62655d}.cws-product-detail .product_title{font:500 clamp(52px,5.8vw,92px)/.86 var(--sans);letter-spacing:-.09em;margin:19px 0 23px}.cws-product-detail .woocommerce-product-details__short-description{color:#53564f;line-height:1.75;max-width:385px}.cws-product-note{font:9px/1.7 var(--mono);color:#73766d;margin-top:38px;max-width:420px}.cws-empty{padding:70px 0;max-width:500px}.cws-empty h2{font:500 55px/.9 var(--sans);letter-spacing:-.08em;text-transform:uppercase;margin:0 0 20px}.cws-empty p{color:#555850;line-height:1.75}
@media(max-width:720px){.cws-header{height:62px;padding:0 18px}.cws-nav{display:none}.cws-header-links a{display:none}.cws-menu-toggle{display:block}.cws-container{padding-left:20px;padding-right:20px}.cws-hero{min-height:580px;height:calc(100vh - 62px)}.cws-hero-media{object-position:63% center}.cws-hero-copy{left:20px;right:20px;bottom:14%}.cws-display{font-size:55px}.cws-hero-copy p{font-size:12px}.cws-hero-meta{left:20px;right:20px;font-size:8px}.cws-hero-meta span:nth-child(2){display:none}.cws-intro{display:block;padding-top:80px;padding-bottom:82px}.cws-intro-copy{margin-top:60px}.cws-intro-copy h2,.cws-section-title{font-size:48px}.cws-intro-copy p{font-size:14px}.cws-collection{padding:65px 0}.cws-collection-head{display:block;padding-bottom:32px}.cws-collection-head .cws-btn{margin-top:27px}.cws-products{grid-template-columns:1fr;padding:0 10px;gap:25px}.cws-product-image{height:400px}.cws-atelier{min-height:620px;padding:25px 20px;align-items:end}.cws-atelier-panel{width:100%;padding:28px}.cws-atelier-panel h2{font-size:52px}.cws-principles{padding-top:70px;padding-bottom:70px}.cws-principles-grid{grid-template-columns:1fr;gap:43px;margin-top:50px}.cws-principle h3{margin-top:24px}.cws-footer{padding:55px 20px 22px}.cws-footer-top{display:block;padding-bottom:48px}.cws-footer-top p{font-size:30px;margin:32px 0}.cws-footer-links{grid-template-columns:1fr 1fr;row-gap:42px;padding:42px 0}.cws-footer-news{grid-column:span 2}.cws-footer-bottom{display:block;line-height:1.8}.cws-page{padding-top:68px;padding-bottom:80px}.cws-policy-grid,.cws-contact-grid{display:block;margin-top:45px}.cws-policy-copy,.cws-contact-aside{margin-top:42px}.cws-product-page{padding:20px 20px 75px}.cws-product-layout{display:block}.cws-product-gallery img{height:105vw}.cws-product-detail{position:static;margin-top:36px}.woocommerce .products{grid-template-columns:1fr}.woocommerce ul.products li.product a img{height:430px}.cws-menu-open .cws-nav{display:flex;position:absolute;z-index:5;top:61px;left:0;right:0;margin:0;padding:25px 20px;background:#111211;flex-direction:column;gap:20px}.cws-menu-open .cws-nav a{font-size:16px;color:var(--paper)}}

/* Wordmark replaces the former dial icon across header and footer. */
.cws-logo.cws-wordmark{width:auto;height:auto;display:inline-flex;align-items:center;flex:0 0 auto;letter-spacing:.02em;font:600 14px/1 var(--sans);text-transform:uppercase;white-space:nowrap}.cws-logo.cws-wordmark:after{display:none}.cws-footer .cws-logo.cws-wordmark{width:auto;height:auto;flex-basis:auto;font-size:16px;line-height:1.15;max-width:190px;white-space:normal}@media(max-width:720px){.cws-logo.cws-wordmark{font-size:11px;letter-spacing:.01em}.cws-footer .cws-logo.cws-wordmark{font-size:15px;max-width:170px}}

/* Final catalog and checkout refinements. */
.cws-checkout-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.cws-checkout-link{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 12px;border:1px solid #111211;color:#111211;font:600 9px var(--mono);letter-spacing:.06em;text-transform:uppercase}.cws-checkout-link-primary{background:#111211;color:#f7f8f0}.cws-checkout-link:hover{background:var(--acid);color:var(--ink);border-color:var(--ink)}
.cws-page ul.products{clear:both!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px;width:100%!important;margin:38px 0 0!important;padding:0!important;position:static!important;left:auto!important;font-size:inherit;letter-spacing:normal}.cws-page ul.products::before,.cws-page ul.products::after{content:none!important;display:none!important;width:0!important;height:0!important}.cws-page ul.products>li.product{display:block!important;grid-column:auto!important;grid-row:auto!important;clear:none!important;float:none!important;width:auto!important;max-width:none!important;margin:0!important}.cws-page ul.products>li.product:nth-child(1){grid-column:1!important}.cws-page ul.products>li.product:nth-child(2){grid-column:2!important}.cws-page ul.products>li.product:nth-child(3){grid-column:3!important}
@media(max-width:720px){.cws-checkout-links{display:grid;grid-template-columns:1fr 1fr}.cws-checkout-link{padding:0 8px}.cws-page ul.products{display:grid!important;grid-template-columns:1fr!important;gap:28px;margin-top:30px!important}.cws-page ul.products>li.product{grid-column:1!important;margin:0!important}}

/* GDPR cookie consent banner. Non-essential categories remain off until consent is recorded. */
.cws-cookie-banner{position:fixed;z-index:1000;left:22px;right:22px;bottom:22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:end;padding:24px 26px;background:#111211;color:#efefe9;border:1px solid #4a4d47;box-shadow:0 18px 50px rgba(0,0,0,.3)}.cws-cookie-banner[hidden]{display:none}.cws-cookie-copy .cws-footer-label{display:block;margin-bottom:10px}.cws-cookie-copy h2{font:500 clamp(25px,3vw,40px)/1 var(--serif);margin:0 0 9px}.cws-cookie-copy p{max-width:680px;color:#c4c7bf;font-size:12px;line-height:1.65;margin:0}.cws-cookie-copy a{text-decoration:underline;text-underline-offset:3px}.cws-cookie-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;align-items:center}.cws-cookie-btn{min-height:40px;padding:0 13px;border:1px solid #777b72;background:transparent;color:#efefe9;font:500 9px var(--mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.cws-cookie-btn:hover{background:var(--acid);border-color:var(--acid);color:var(--ink)}.cws-cookie-accept{background:var(--acid);border-color:var(--acid);color:var(--ink)}.cws-cookie-manage{border:0;background:none;color:#c9ff5d;font:500 9px var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.cws-cookie-preferences{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px 22px;padding-top:16px;border-top:1px solid #3d403b;color:#d1d3cc;font-size:11px}.cws-cookie-preferences label{display:flex;gap:7px;align-items:center}.cws-cookie-preferences input{accent-color:var(--acid)}.cws-cookie-preferences small{color:#898d84;margin-left:2px}.cws-cookie-save{margin-left:auto}
@media(max-width:720px){.cws-cookie-banner{left:12px;right:12px;bottom:12px;display:block;padding:20px}.cws-cookie-copy p{font-size:11px}.cws-cookie-actions{justify-content:flex-start;margin-top:18px}.cws-cookie-btn{flex:1;min-width:130px}.cws-cookie-manage{width:100%;padding:6px}.cws-cookie-preferences{display:grid;gap:12px}.cws-cookie-save{margin:2px 0 0;width:100%}}

/* Product-page consultation shortcuts. WhatsApp remains intentionally inactive until its destination is supplied. */
.cws-chat-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.cws-chat-button{min-height:46px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #111211;font:600 9px var(--mono);letter-spacing:.055em;text-transform:uppercase}.cws-chat-button span{font-size:15px;line-height:1}.cws-chat-messenger{background:#111211;color:#efefe9}.cws-chat-messenger:hover{background:#c9ff5d;color:#111211;border-color:#111211}.cws-chat-whatsapp{background:#e1e2db;color:#73766d;border-color:#b9bcb3}.cws-chat-disabled{cursor:not-allowed;opacity:.85}.cws-chat-disabled small{font:8px var(--mono);letter-spacing:0;text-transform:none;color:#898d84}

/* Mobile shop cards stack vertically; desktop remains a three-column catalog. */
@media (max-width: 900px){
  body.archive.woocommerce-shop main.cws-page ul.products,
  body.archive.woocommerce-shop main.cws-page ul.products,
  body.archive.woocommerce-shop main.cws-page ul.products.columns-4,
  body.archive.woocommerce-shop main.cws-page ul.products.columns-3{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    gap:28px!important;
    width:100%!important;
    margin-top:30px!important;
  }
  body.archive.woocommerce-shop main.cws-page ul.products>li.product,
  body.archive.woocommerce-shop main.cws-page ul.products.columns-4>li.product,
  body.archive.woocommerce-shop main.cws-page ul.products.columns-3>li.product{
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
    margin:0!important;
    float:none!important;
  }
}

/* Shop page mobile-only single-column override. */
@media (max-width: 900px){
  body.archive.woocommerce-shop main.cws-page ul.products{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-flow:row!important;
    gap:28px!important;
    width:100%!important;
    margin-top:30px!important;
  }
  body.archive.woocommerce-shop main.cws-page ul.products>li.product{
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    float:none!important;
    clear:none!important;
  }
}

/* Compact mobile cookie consent card: keeps the first viewport usable while retaining all choices. */
@media (max-width:720px){
  .cws-cookie-banner{
    left:10px;
    right:10px;
    bottom:10px;
    max-height:72vh;
    overflow-y:auto;
    padding:14px 14px 12px;
  }
  .cws-cookie-copy .cws-footer-label{margin-bottom:6px;font-size:8px}
  .cws-cookie-copy h2{font-size:23px;margin-bottom:6px}
  .cws-cookie-copy p{font-size:10px;line-height:1.45}
  .cws-cookie-actions{gap:6px;margin-top:12px}
  .cws-cookie-btn{min-height:36px;min-width:0;padding:0 8px;font-size:8px}
  .cws-cookie-manage{padding:4px;font-size:8px}
  .cws-cookie-preferences{gap:8px;padding-top:10px;font-size:10px}
  .cws-cookie-save{min-height:36px;margin-top:0}
}

/* Persistent cart access in the primary and mobile navigation. */
.cws-desktop-cart-link{display:inline-flex;align-items:center;gap:5px;padding:7px;color:var(--paper)!important;letter-spacing:.07em}
.cws-mobile-cart-link{display:none}
.cws-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border:1px solid currentColor;border-radius:999px;font-size:8px;line-height:1;color:var(--acid)}
.cws-desktop-cart-link:hover .cws-cart-count,.cws-mobile-cart-link:hover .cws-cart-count{background:var(--acid);border-color:var(--acid);color:var(--ink)}
.cws-checkout-link span{font-size:8px;opacity:.75}
@media(max-width:720px){.cws-desktop-cart-link{display:none}.cws-menu-open .cws-nav .cws-cart-count{font-size:10px;min-width:21px;height:21px}}
