/* ============================================================
   Custom Woo Widget — styles (namespaced .cww, override-hardened)
   ============================================================ */
.cww{
  --cww-ink:#243638; --cww-ink-soft:#5d6c6e; --cww-magenta: #F2B01E;
  --cww-pink:#f9ba2f; --cww-gold:#F9BA2F; --cww-gold-dark:#eaa911;
  --cww-teal:#008FAB; --cww-panel:#f3f3f4; --cww-tile:#ececed;
  --cww-line:#e4e4e6; --cww-radius:14px;
  --cww-shadow:0 1px 3px rgba(36,54,56,.08),0 8px 24px rgba(36,54,56,.06);
  font-family:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif !important;
  color:var(--cww-ink) !important; line-height:1.5;
}
.cww,.cww *,.cww *::before,.cww *::after{box-sizing:border-box}
.cww a{color:inherit !important;text-decoration:none !important;box-shadow:none !important}
.cww img{display:block;max-width:100% !important;height:auto;border-radius:0}
.cww button{font-family:inherit;-webkit-appearance:none;appearance:none;text-transform:none !important;letter-spacing:normal;box-shadow:none}
.cww :focus-visible{outline:3px solid rgba(0,143,171,.55);outline-offset:2px;border-radius:6px}
@media (prefers-reduced-motion:reduce){.cww *{transition:none !important;animation:none !important;scroll-behavior:auto !important}}

/* COMPLETELY NUKE the default WooCommerce "View Cart/Quote" link */
.cww-buy-row .added_to_cart { display: none !important; opacity: 0 !important; visibility: hidden !important; width: 0 !important; height: 0 !important; overflow: hidden !important; position: absolute !important; }

/* 1 · breadcrumbs */
.cww-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem !important;font-size:.96rem}
.cww-crumbs .cww-here{font-weight:600;margin-right:.15rem}
.cww-crumbs a{font-weight:500;transition:color .15s}
.cww-crumbs a:hover{color:var(--cww-magenta) !important;text-decoration:underline !important;text-underline-offset:3px}
.cww-crumbs .cww-sep{color:#9aa6a7}
.cww-crumbs .cww-current{color:var(--cww-ink-soft) !important}

@media (max-width: 768px) {
    .cww-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.80rem}
    .cww-crumbs .cww-here{font-weight:600;margin-right:.15rem}
    .cww-crumbs a{font-weight:500;transition:color .15s}
    .cww-crumbs a:hover{color:var(--cww-magenta) !important;text-decoration:underline !important;text-underline-offset:3px}
    .cww-crumbs .cww-sep{color:#9aa6a7}
    .cww-crumbs .cww-current{color:var(--cww-ink-soft) !important}
}

/* 2 · gallery */
.cww-gallery{display:flex;flex-direction:column;gap:14px;max-width:100%;margin-inline:auto}
.cww-stage{position:relative;background:#fff !important;border-radius:var(--cww-radius);overflow:hidden;aspect-ratio:1/1}
.cww-stage img{width:100% !important;height:100% !important;object-fit:cover !important;cursor:zoom-in;transition:opacity .25s ease;border-radius:0 !important;max-width:none !important}
.cww-zoom{position:absolute;top:14px;right:14px;width:42px;height:42px;border:none !important;border-radius:50% !important;
  background:#fff !important;color:var(--cww-teal) !important;display:grid;place-items:center;cursor:pointer;box-shadow:var(--cww-shadow) !important;transition:transform .15s,background .15s;padding:0}
.cww-zoom:hover{transform:scale(1.06);background:#f3fdff !important}
.cww-zoom svg{width:22px;height:22px}
.cww-thumbs{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.cww-thumb{flex:0 0 auto;width:76px;height:76px;padding:0;border-radius:10px;overflow:hidden;border:2px solid transparent !important;background:var(--cww-tile) !important;cursor:pointer;transition:border-color .15s,transform .15s}
.cww-thumb img{width:100% !important;height:100% !important;object-fit:cover !important;max-width:none !important}
.cww-thumb:hover{transform:translateY(-2px)}
.cww-thumb[aria-current="true"]{border-color:var(--cww-teal) !important}

/* 3 · price */
.cww-price-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cww-price,.cww-price *{font-family:"Plus Jakarta Sans", system-ui, sans-serif !important;font-weight:800 !important;color:var(--cww-magenta) !important;line-height:1}
.cww-price{font-size:2rem !important}
.cww-vat{background: none !important;color:var(--cww-ink) !important;font-weight:700;font-size:.74rem;letter-spacing:.02em;padding:5px 9px;border-radius:6px}

/* variant selector base */
.cww-variants{display:flex;flex-direction:column;gap:16px;margin-bottom:6px; position:relative; z-index:50;} /* Elevated Z-index */
.cww-attr{display:flex;flex-direction:column;gap:8px; position:relative; z-index:1;} /* Base row Z-index */
.cww-attr-label{font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--cww-ink-soft) !important}
.cww-opts{display:flex;flex-wrap:wrap;gap:10px}
.cww-opt{padding:10px 18px;border:2px solid var(--cww-line) !important;border-radius:999px !important;background:#fff !important;color:var(--cww-ink) !important;
  font-weight:600;font-size:.92rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s,transform .1s;line-height:1}
.cww-opt:hover{border-color:var(--cww-pink) !important;color:var(--cww-magenta) !important}
.cww-opt[aria-pressed="true"]{border-color:var(--cww-magenta) !important;background:var(--cww-magenta) !important;color:#fff !important}
.cww-opt:active{transform:scale(.97)}

/* Custom Div Dropdown (Light Blue-Accented UI) */
.cww-custom-select-wrapper { position: relative; width: 100%; max-width: 340px; user-select: none; outline: none; z-index: 10; }
.cww-custom-select-trigger {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 16px; border-radius: 6px;
    background-color: #ffffff;
    border: 1px solid #d4deea;
    color: #2f435a; cursor: pointer;
    font-family: inherit; font-size: 0.95rem; font-weight: 500;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.cww-custom-select-trigger * { pointer-events: none; } /* Prevents JS bugs */
.cww-custom-select-trigger:hover { border-color: #4a90e2; }
.cww-custom-select-wrapper.open .cww-custom-select-trigger {
    border-color: #4a90e2;
    box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
}
.cww-custom-select-trigger svg { width: 18px; height: 18px; color: #4a90e2; transition: transform 0.2s; }
.cww-custom-select-wrapper.open .cww-custom-select-trigger svg { transform: rotate(180deg); }

.cww-custom-select-options {
    position: absolute; top: calc(100% + 6px); left: 0; right: 0;
    background-color: #ffffff; border-radius: 6px;
    border: 1px solid #d4deea;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    opacity: 0; visibility: hidden; transform: translateY(-8px);
    transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
    max-height: 250px; overflow-y: auto;
}
.cww-custom-select-wrapper.open .cww-custom-select-options {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.cww-custom-option {
    padding: 12px 16px; color: #2f435a; cursor: pointer;
    font-size: 0.95rem; font-weight: 500; transition: background-color 0.15s, color 0.15s;
}
.cww-custom-option:hover { background-color: #f1f5f9; } 
.cww-custom-option.selected { color: #4a90e2; background-color: #e8f0fe; font-weight: 600; }

.cww-var-msg{margin:2px 0 0;color:var(--cww-magenta) !important;font-size:.85rem;font-weight:600}

/* 4 · qty + add to quote */
.cww-buy{display:flex;flex-direction:column;gap:18px;align-items:stretch;max-width:520px; position:relative; z-index:20;}
.cww-buy-row{display:flex;gap:16px;align-items:stretch;flex-wrap:nowrap; position:relative; z-index:10;} /* Strict Side-By-Side */
.cww-stepper{display:flex;align-items:center;gap:8px;background:var(--cww-panel) !important;border-radius:999px;padding:8px 10px; flex-shrink: 0;}
.cww-step{width:46px;height:46px;border-radius:50% !important;border:2px solid #f9ba2f !important;background:#fff !important;color: black !important;
  font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;transition:background .15s,color .15s; flex-shrink: 0;}
.cww-step:hover{background:#f9ba2f !important;color:#fff !important}
.cww-step:disabled{opacity:.4;cursor:not-allowed}
.cww-qty-val{min-width:48px;text-align:center;font-weight:700;font-size:1.25rem;color:var(--cww-ink) !important}
.cww-cta{flex:1 1 100%; display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--cww-gold) !important;color:var(--cww-ink) !important;
  font-family:"Plus Jakarta Sans", system-ui, sans-serif !important;font-weight:700 !important;font-size:1.1rem !important;border:none !important;border-radius:999px !important;
  padding:16px 20px !important;cursor:pointer;box-shadow:0 6px 16px rgba(249,186,47,.35);transition:background .15s,transform .1s;line-height:1.2; white-space: nowrap;}
.cww-cta:hover{background:var(--cww-gold-dark) !important; transform:none !important;}
.cww-cta:active{transform:none !important;}
.cww-cta:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.cww-cta.is-loading{opacity:.7;pointer-events:none}
.cww-cta svg{width:18px;height:18px; flex-shrink: 0;}

/* Mobile Optimization: Strictly Side-By-Side Scales */
@media (max-width: 600px) {
  .cww-buy-row { gap: 10px; }
  .cww-stepper { padding: 4px 8px; gap: 6px; }
  .cww-step { width: 40px; height: 40px; font-size: 1.3rem; }
  .cww-qty-val { min-width: 36px; font-size: 1.1rem; }
  .cww-cta { padding: 14px 16px !important; font-size: 0.95rem !important; min-width: 0; }
  .cww-cta svg { width: 16px; height: 16px; }
}
@media (max-width: 380px) {
  .cww-buy-row { gap: 6px; }
  .cww-step { width: 34px; height: 34px; font-size: 1.1rem; }
  .cww-qty-val { min-width: 28px; font-size: 1rem; }
  .cww-cta { padding: 12px 10px !important; font-size: 0.85rem !important; }
}

/* 5 · related */
.elementor-element-8dd82c0 {
    padding: 0 !important;
}

.cww-related{background:none !important;padding: 0px !important;border-radius:var(--cww-radius)}
.cww-related .cww-inner{max-width:1280px;margin:0 auto;padding:0 22px}
.cww-related h2{font-family:"Plus Jakarta Sans", system-ui, sans-serif !important;font-weight:800 !important;text-align:center;font-size:clamp(1.5rem,3.4vw,2rem) !important;margin:0 0 6px !important;color:var(--cww-ink) !important;line-height:1.15}
.cww-related h2 .cww-accent{color:var(--cww-magenta) !important}
.cww-related .cww-sub{text-align:center;color:var(--cww-ink-soft) !important;font-size:.92rem;margin:0 0 26px}
.cww-related .cww-sub b{color:var(--cww-magenta) !important;font-weight:600}
.cww-rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:4px 2px 6px;scrollbar-width:none;cursor:grab}
@media (max-width:768px){.cww-rail{scroll-snap-type:x mandatory;cursor:auto}.cww-card{scroll-snap-align:center}}
.cww-rail.cww-grabbing{cursor:grabbing;user-select:none;scroll-snap-type:none;scroll-behavior:auto}
.cww-rail::-webkit-scrollbar{display:none}
.cww-rail img{ -webkit-user-drag:none;user-select:none;pointer-events:none}
.cww-card{flex:0 0 calc((100% - 54px)/4);min-width:0;scroll-snap-align:start;background:#fff !important;border-radius:var(--cww-radius);overflow:hidden;box-shadow:none;display:flex;flex-direction:column}
@media (max-width:768px){.cww-card{flex-basis:100%; border-radius: 40px;}}
.cww-card .cww-ph{aspect-ratio:1/1;background:var(--cww-tile) !important;overflow:hidden;display:block}
.cww-card .cww-ph img{width:100% !important;height:100% !important;object-fit:cover !important;max-width:none !important;transition:transform .4s}
.cww-card:hover .cww-ph img{transform:scale(1.04)}
.cww-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.cww-card .cww-name {
    font-weight:600;
    font-size:.90rem;
    line-height:1.25;
    color:var(--cww-ink) !important; 
    max-width: 250px;
    display: block; /* or inline-block */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    
}
.cww-card .cww-name:hover{color:var(--cww-magenta) !important}
.cww-card .cww-from{font-size:.85rem;color:var(--cww-ink-soft) !important}
.cww-card .cww-from .price,.cww-card .cww-from bdi,.cww-card .cww-from .amount{color:var(--cww-magenta) !important;font-family:"Plus Jakarta Sans", system-ui, sans-serif !important;font-weight:700 !important;font-size:1rem}
.cww-view{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--cww-gold) !important;color:var(--cww-ink) !important;
  font-family:"Plus Jakarta Sans", system-ui, sans-serif !important;font-weight:700;font-size:.92rem;border-radius:999px !important;padding:11px 18px !important;transition:background .15s,transform .1s}
.cww-view:hover{background:var(--cww-gold-dark) !important}
.cww-view:active{transform:translateY(1px)}
.cww-view svg{width:16px;height:16px}
.cww-dots{display:flex;justify-content:center;gap:8px;margin-top:22px}
.cww-dot{width:11px;height:11px;border-radius:50% !important;border:none !important;background:#cdd4d4 !important;cursor:pointer;padding:0;transition:width .25s,background .25s}
.cww-dot[aria-current="true"]{width:26px;border-radius:6px !important;background:var(--cww-teal) !important}

/* lightbox + toast */
.cww-lb{position:fixed !important;inset:0;background:rgba(20,28,29,.88) !important;display:none;place-items:center;z-index:99990 !important;padding:30px;cursor:zoom-out}
.cww-lb.open{display:grid}
.cww-lb img{position:relative;z-index:1;max-width:92vw !important;max-height:88vh !important;border-radius:10px;cursor:crosshair;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.cww-lb-close{position:fixed !important;top:18px;right:22px;width:46px;height:46px;border:none !important;border-radius:50% !important;
  background:#fff !important;color:#243638 !important;font-size:1.6rem;line-height:1;cursor:pointer;display:flex !important;align-items:center;justify-content:center;
  padding:0;margin:0;z-index:100000 !important;box-shadow:0 4px 14px rgba(0,0,0,.35) !important;-webkit-appearance:none;appearance:none}
.cww-lb-close:hover{background:#f2f2f2 !important}
.cww-toast{position:fixed !important;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:#243638 !important;color:#fff !important;
  padding:12px 20px;border-radius:999px;font-weight:600;font-size:.92rem;font-family:"Plus Jakarta Sans", system-ui, sans-serif !important;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:99991 !important}
.cww-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.cww-toast .cww-q{color:var(--cww-gold) !important}

/* full-PDP layout */
.cww-pdp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
@media (max-width:860px){.cww-pdp{grid-template-columns:1fr;gap:26px}}
.cww-title{font-family:"Plus Jakarta Sans", system-ui, sans-serif !important;font-weight:800 !important;letter-spacing:-.02em;font-size:clamp(2rem,4.4vw,2.9rem) !important;line-height:1.05 !important;margin:.1rem 0 18px !important;color:var(--cww-ink) !important}
.cww-stack>*+*{margin-top:18px}

/* ============================================================
   v1.3 — fluent motion layer
   ============================================================ */
.cww-opt{transition:border-color .25s cubic-bezier(.22,.61,.36,1),color .25s,background .25s,box-shadow .25s,transform .2s cubic-bezier(.22,.61,.36,1) !important}
.cww-opt[aria-pressed="true"]{box-shadow:0 6px 16px rgba(199,0,97,.28),0 0 0 3px rgba(199,0,97,.14) !important;transform:translateY(-1px)}
.cww-card{transition:transform .32s cubic-bezier(.22,.61,.36,1),box-shadow .32s ease !important}
.cww-card:hover{transform:none;box-shadow:0 ;}
.cww-card .cww-ph img{transition:transform .55s cubic-bezier(.22,.61,.36,1) !important}
.cww-card:hover .cww-ph img{transform:scale(1.06)}
.cww-dot{transition:width .3s cubic-bezier(.22,.61,.36,1),background .3s ease !important}
.cww-cta,.cww-view,.cww-step,.cww-zoom{transition:background .2s ease,color .2s ease,transform .18s cubic-bezier(.22,.61,.36,1),box-shadow .2s ease !important}
.cww-cta:hover{transform:translateY(-2px)}
.cww-view:hover{transform:translateY(-2px)}
.cww-thumb{transition:border-color .2s ease,transform .25s cubic-bezier(.22,.61,.36,1) !important}
.cww-thumb:hover{transform:translateY(-3px)}
.cww-stage img{transition:opacity .35s ease !important}
.cww-lb{transition:opacity .25s ease}
.cww-lb.open img{animation:cww-pop .32s cubic-bezier(.22,.61,.36,1)}
@keyframes cww-pop{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.cww-custom-select-options{transition:opacity .22s cubic-bezier(.22,.61,.36,1),transform .22s cubic-bezier(.22,.61,.36,1),visibility .22s !important}

.cww-step{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:0 !important;            /* hide the text glyph */
  line-height:0 !important;
}
.cww-step > *{ display:none !important; }   /* hide any inner svg/glyph */

.cww-step::before{
  content:"" !important;
  position:absolute !important;
  top:50% !important; left:50% !important;
  transform:translate(-50%,-50%) !important;
  width:16px !important; height:16px !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
}

/* MINUS = one horizontal bar */
.cww-step[data-cww="minus"]::before{
  background-image:linear-gradient(currentColor,currentColor) !important;
  background-size:14px 2.5px !important;
}

/* PLUS = horizontal + vertical bars on the SAME element (a cross) */
.cww-step[data-cww="plus"]::before{
  background-image:
    linear-gradient(currentColor,currentColor),
    linear-gradient(currentColor,currentColor) !important;
  background-size:14px 2.5px, 2.5px 14px !important;
}

/* mobile lightbox: center the image and keep it inside the viewport */
.cww-lb.open{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:16px !important;
}
.cww-lb img{
  margin:auto !important;
  width:auto !important;
  height:auto !important;
  max-width:calc(100vw - 32px) !important;   /* fits inside the 16px padding */
  max-height:calc(100vh - 110px) !important; /* leaves room for the × button */
}

.cww-lb img{ cursor:zoom-in; touch-action:none; transition:transform .2s ease; }
