/*
Theme Name: Colourful Smells
Theme URI: https://colourfulsmells.com
Author: Colourful Smells
Description: Ročno vlito. Flat colour, hard borders, no gradients. WooCommerce ready.
Version: 1.0.4
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: cs
*/

/* ==========================================================================
   1. TOKENS — change these and the whole site changes
   ========================================================================== */
:root{
  --cs-black:#0E0E10;
  --cs-pink:#FF2E88;
  --cs-lime:#D4FF3F;
  --cs-blue:#2B4CFF;
  --cs-violet:#9B4DFF;
  --cs-orange:#FF6B1A;
  --cs-paper:#FFF0F6;
  --cs-white:#FFFFFF;
  --cs-ink-soft:#45454E;

  --cs-font:'Archivo',system-ui,-apple-system,sans-serif;
  --cs-mono:'Roboto Mono',ui-monospace,monospace;

  --cs-vf-hero:'wdth' 72,'wght' 900;
  --cs-vf-head:'wdth' 84,'wght' 800;
  --cs-vf-ui:'wdth' 82,'wght' 900;

  --cs-border:3px solid var(--cs-black);
  --cs-radius:2px;
  --cs-shadow:5px 5px 0 var(--cs-black);
  --cs-shadow-lg:7px 7px 0 var(--cs-black);
  --cs-ease:.15s ease;

  --cs-max:1240px;
}

/* Collection colours. Slug-based, so adding a collection = adding 3 lines. */
.cs-col--mir{background:var(--cs-violet);color:var(--cs-white)}
.cs-col--fokus{background:var(--cs-lime);color:var(--cs-black)}
.cs-col--zate{background:var(--cs-orange);color:var(--cs-black)}

/* ==========================================================================
   2. BASE
   ========================================================================== */
*{box-sizing:border-box}
body{
  margin:0;background:var(--cs-pink);color:var(--cs-black);
  font-family:var(--cs-font);font-size:16px;line-height:1.45;
  overflow-x:hidden;
}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.cs-wrap{max-width:var(--cs-max);margin:0 auto;padding:0 20px}
.cs-mono{font-family:var(--cs-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cs-skip:focus{position:fixed;top:8px;left:8px;z-index:999;background:var(--cs-black);color:var(--cs-lime);padding:10px 14px;width:auto;height:auto;clip:auto}

h1,h2,h3{margin:0;text-transform:uppercase;letter-spacing:-.03em}
h1{font-variation-settings:var(--cs-vf-hero);font-size:clamp(38px,7.2vw,94px);line-height:.92}
h2{font-variation-settings:'wdth' 74,'wght' 900;font-size:clamp(30px,5vw,58px);line-height:.94}
h3{font-variation-settings:var(--cs-vf-head);font-size:21px;line-height:1.05;letter-spacing:-.015em}
p{margin:0 0 1em}

/* ==========================================================================
   3. BUTTONS
   ========================================================================== */
.cs-btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  font-family:var(--cs-font);font-variation-settings:var(--cs-vf-ui);
  font-size:17px;text-transform:uppercase;
  background:var(--cs-black);color:var(--cs-lime);
  border:var(--cs-border);border-radius:var(--cs-radius);
  padding:11px 16px;cursor:pointer;text-decoration:none;display:inline-block;
  box-shadow:5px 5px 0 var(--cs-white);
  transition:transform var(--cs-ease),box-shadow var(--cs-ease);
  line-height:1.2;
}
.cs-btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  transform:translate(3px,3px);box-shadow:2px 2px 0 var(--cs-white);
  background:var(--cs-black);color:var(--cs-lime);
}
.cs-btn:focus-visible,.woocommerce .button:focus-visible{outline:3px solid var(--cs-blue);outline-offset:3px}
.cs-btn--alt{background:var(--cs-white);color:var(--cs-black);box-shadow:var(--cs-shadow)}
.cs-btn--alt:hover{background:var(--cs-white);color:var(--cs-black);box-shadow:2px 2px 0 var(--cs-black)}

/* ==========================================================================
   4. HEADER
   ========================================================================== */
.cs-ship{background:var(--cs-black);color:var(--cs-lime);text-align:center;padding:8px 20px}
.cs-ship span{font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

.cs-header{border-bottom:var(--cs-border);background:var(--cs-lime);position:sticky;top:0;z-index:80}
.cs-bar{display:flex;align-items:stretch;justify-content:space-between;max-width:var(--cs-max);margin:0 auto}
.cs-mark{font-variation-settings:'wdth' 78,'wght' 900;font-size:19px;text-transform:uppercase;letter-spacing:-.01em;display:flex;align-items:center;padding:12px 20px;text-decoration:none;gap:8px}
.cs-mark b{background:var(--cs-black);color:var(--cs-lime);padding:1px 6px;transform:rotate(-2deg);display:inline-block}
.cs-mark img{max-height:32px;width:auto}
.cs-nav{display:flex}
.cs-nav ul{display:flex;list-style:none;margin:0;padding:0}
.cs-nav a{display:flex;align-items:center;height:100%;padding:0 15px;border-left:var(--cs-border);font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;text-decoration:none}
.cs-nav a:hover{background:var(--cs-black);color:var(--cs-lime)}
.cs-nav a:focus-visible{outline:3px solid var(--cs-pink);outline-offset:-6px}
.cs-cart{background:var(--cs-black);color:var(--cs-lime);display:flex;align-items:center;padding:0 15px;border-left:var(--cs-border);font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;text-decoration:none}
.cs-cart:hover{background:var(--cs-pink);color:var(--cs-black)}
.cs-burger{display:none;border:0;border-left:var(--cs-border);background:transparent;font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:0 14px;cursor:pointer}

/* ==========================================================================
   5. MARQUEE
   ========================================================================== */
.cs-marq{background:var(--cs-black);color:var(--cs-lime);border-top:var(--cs-border);border-bottom:var(--cs-border);overflow:hidden;padding:10px 0}
.cs-marq__in{display:flex;gap:34px;white-space:nowrap;animation:cs-slide 28s linear infinite;width:max-content}
.cs-marq__in span{font-variation-settings:'wdth' 80,'wght' 800;font-size:17px;text-transform:uppercase}
@keyframes cs-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ==========================================================================
   6. HERO
   ========================================================================== */
.cs-hero{padding:54px 0 60px;position:relative}
.cs-hero h1{max-width:17ch}
.cs-hero mark{background:var(--cs-lime);color:var(--cs-black);padding:0 .1em;display:inline-block;transform:rotate(-1.2deg)}
.cs-hero .cs-out{-webkit-text-stroke:2.5px var(--cs-black);color:transparent;display:inline-block}
.cs-hero__sub{margin-top:26px;max-width:46ch;font-size:19px;font-weight:500;line-height:1.4;background:var(--cs-white);border:var(--cs-border);border-radius:var(--cs-radius);padding:14px 16px;transform:rotate(-.5deg)}
.cs-hero__btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.cs-stickers{position:absolute;inset:0;pointer-events:none;display:none}
.cs-stk{position:absolute;border:var(--cs-border);border-radius:var(--cs-radius);font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;background:var(--cs-white)}
.cs-stk:nth-child(1){top:9%;right:4%;transform:rotate(7deg);background:var(--cs-lime)}
.cs-stk:nth-child(2){top:36%;right:10%;transform:rotate(-6deg);background:var(--cs-blue);color:var(--cs-white)}
.cs-stk:nth-child(3){top:60%;right:2%;transform:rotate(3deg);background:var(--cs-orange)}
.cs-stk:nth-child(4){top:80%;right:15%;transform:rotate(-9deg)}
@media (min-width:1080px){.cs-stickers{display:block}}

/* ==========================================================================
   7. COLLECTIONS
   ========================================================================== */
.cs-cols{border-bottom:var(--cs-border)}
.cs-colgrid{display:grid;grid-template-columns:repeat(3,1fr)}
.cs-col{padding:44px 26px 40px;border-right:var(--cs-border);text-decoration:none;display:flex;flex-direction:column;min-height:340px;transition:transform var(--cs-ease);position:relative;overflow:hidden}
.cs-col:last-child{border-right:0}
.cs-col:hover{transform:translateY(-4px)}
.cs-col:focus-visible{outline:4px solid var(--cs-black);outline-offset:-8px}
.cs-col__kicker{font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.cs-col h2{font-variation-settings:'wdth' 70,'wght' 900;font-size:clamp(42px,5.6vw,70px);line-height:.9;letter-spacing:-.035em;margin:10px 0 14px}
.cs-col p{font-size:16px;max-width:26ch;font-weight:500}
.cs-col__list{margin-top:auto;padding-top:20px;font-family:var(--cs-mono);font-size:11px;line-height:1.9;letter-spacing:.03em;opacity:.85}
.cs-col__go{margin-top:16px;font-variation-settings:var(--cs-vf-head);font-size:15px;text-transform:uppercase;border-bottom:3px solid currentColor;align-self:flex-start;padding-bottom:2px}
.cs-col__img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:.14;pointer-events:none}
.cs-col > *{position:relative;z-index:1}

/* ==========================================================================
   8. PRODUCT CARDS  (shared: homepage + shop + category archives)
   ========================================================================== */
.cs-section{padding:56px 0 64px;border-bottom:var(--cs-border)}
.cs-section--paper{background:var(--cs-paper)}
.cs-section--white{background:var(--cs-white)}
.cs-section--lime{background:var(--cs-lime)}
.cs-sechead{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between;margin-bottom:30px}

.cs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;list-style:none;margin:0;padding:0}
.cs-card{background:var(--cs-white);border:var(--cs-border);border-radius:var(--cs-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--cs-ease),box-shadow var(--cs-ease);position:relative}
.cs-card:nth-child(4n+1){transform:rotate(-.8deg)}
.cs-card:nth-child(4n+3){transform:rotate(.7deg)}
.cs-card:hover,.cs-card:focus-within{transform:rotate(0) translateY(-5px);box-shadow:var(--cs-shadow-lg)}
.cs-card__media{height:150px;border-bottom:var(--cs-border);position:relative;background:var(--cs-paper);overflow:hidden}
.cs-card__media img{width:100%;height:100%;object-fit:cover}
.cs-card__tag{position:absolute;left:9px;top:9px;background:var(--cs-black);color:var(--cs-white);font-family:var(--cs-mono);font-size:10px;font-weight:700;letter-spacing:.09em;padding:3px 6px;text-transform:uppercase;z-index:2}
.cs-card__flag{position:absolute;right:-4px;bottom:8px;background:var(--cs-lime);border:var(--cs-border);font-family:var(--cs-mono);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 7px;transform:rotate(-4deg);z-index:2}
.cs-card__body{padding:14px 14px 16px;flex:1;display:flex;flex-direction:column}
.cs-card__body h3 a{text-decoration:none}
.cs-card__body h3 a::after{content:"";position:absolute;inset:0}
.cs-card__joke{font-size:14px;margin:7px 0 0;color:var(--cs-ink-soft);font-style:italic}
.cs-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding-top:11px;border-top:var(--cs-border)}
.cs-card__price{font-variation-settings:'wdth' 86,'wght' 900;font-size:19px}
.cs-card__price del{opacity:.45;font-size:15px;margin-right:5px}
.cs-card__price ins{text-decoration:none}
.cs-card .cs-add{background:var(--cs-black);color:var(--cs-lime);border:0;border-radius:var(--cs-radius);font-family:var(--cs-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 9px;cursor:pointer;text-decoration:none;position:relative;z-index:3;box-shadow:none}
.cs-card .cs-add:hover{background:var(--cs-pink);color:var(--cs-black);transform:none;box-shadow:none}
.cs-card .cs-add.loading{opacity:.6}
.cs-card .cs-add.added::after{content:" ✓"}

/* ==========================================================================
   9. ROULETTE
   ========================================================================== */
.cs-roul{background:var(--cs-blue);border-bottom:var(--cs-border);padding:52px 0;color:var(--cs-white)}
.cs-roul__box{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:space-between}
.cs-roul h2{max-width:14ch}
.cs-roul__out{background:var(--cs-white);color:var(--cs-black);border:var(--cs-border);border-radius:var(--cs-radius);padding:18px 20px;min-width:300px;transform:rotate(1deg);text-decoration:none;display:block}
.cs-roul__pick{font-variation-settings:var(--cs-vf-ui);font-size:28px;line-height:1.02;text-transform:uppercase;margin:6px 0 5px}
.cs-roul__why{font-size:14px;color:var(--cs-ink-soft);margin:0}
.cs-roul__kol{display:inline-block;margin-top:10px;background:var(--cs-lime);border:2px solid var(--cs-black);font-family:var(--cs-mono);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:2px 7px}

/* ==========================================================================
   10. FORMATS / STEPS / FAQ / NEWSLETTER
   ========================================================================== */
.cs-four{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}
.cs-four > div{border:var(--cs-border);border-radius:var(--cs-radius);padding:18px 16px 20px;background:var(--cs-paper)}
.cs-four > div:nth-child(2){transform:rotate(-.7deg)}
.cs-four > div:nth-child(4){transform:rotate(.7deg)}
.cs-four h3{margin-bottom:8px}
.cs-four p{font-size:14px;color:var(--cs-ink-soft);margin:0}
.cs-who{margin-top:12px;font-family:var(--cs-mono);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:var(--cs-lime);border:2px solid var(--cs-black);padding:3px 7px;display:inline-block}

.cs-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.cs-step{background:var(--cs-white);border:var(--cs-border);border-radius:var(--cs-radius);padding:22px 18px;position:relative}
.cs-step:nth-child(2){transform:rotate(-1deg)}
.cs-step:nth-child(3){transform:rotate(.8deg)}
.cs-step__num{position:absolute;top:-16px;left:16px;background:var(--cs-pink);border:var(--cs-border);font-variation-settings:'wdth' 88,'wght' 900;font-size:17px;padding:2px 9px;transform:rotate(-4deg)}
.cs-step h3{margin:12px 0 8px}
.cs-step p{font-size:15px;color:var(--cs-ink-soft);margin:0}

.cs-q{border:var(--cs-border);border-radius:var(--cs-radius);margin-top:14px;background:var(--cs-white)}
.cs-q summary{cursor:pointer;list-style:none;padding:14px 16px;font-variation-settings:var(--cs-vf-head);font-size:18px;text-transform:uppercase;letter-spacing:-.01em;display:flex;justify-content:space-between;gap:14px;align-items:center}
.cs-q summary::-webkit-details-marker{display:none}
.cs-q summary::after{content:"+";font-family:var(--cs-mono);font-weight:700;font-size:22px}
.cs-q[open] summary::after{content:"–"}
.cs-q[open] summary{background:var(--cs-lime);border-bottom:var(--cs-border)}
.cs-q p{padding:14px 16px;font-size:15px;color:var(--cs-ink-soft);margin:0}
.cs-q summary:focus-visible{outline:3px solid var(--cs-blue);outline-offset:-6px}

.cs-news{background:var(--cs-violet);color:var(--cs-white);border-bottom:var(--cs-border);padding:52px 0}
.cs-news__row{display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between;align-items:flex-end}
.cs-signup{display:flex;border:var(--cs-border);border-radius:var(--cs-radius);background:var(--cs-white);max-width:400px;width:100%}
.cs-signup input{flex:1;border:0;background:transparent;font-family:var(--cs-mono);font-size:13px;padding:12px;min-width:0;color:var(--cs-black)}
.cs-signup input:focus{outline:3px solid var(--cs-lime);outline-offset:-3px}
.cs-signup button{border:0;border-left:var(--cs-border);background:var(--cs-lime);color:var(--cs-black);cursor:pointer;font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:0 16px}
.cs-signup button:hover{background:var(--cs-pink)}

/* ==========================================================================
   11. FOOTER
   ========================================================================== */
.cs-footer{background:var(--cs-black);color:var(--cs-white);padding:48px 0 34px}
.cs-footgrid{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}
.cs-footer h4{font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cs-lime);margin:0 0 12px}
.cs-footer ul{list-style:none;font-size:15px;line-height:2;margin:0;padding:0}
.cs-footer a{text-decoration:none}
.cs-footer a:hover{background:var(--cs-lime);color:var(--cs-black)}
.cs-footer address{font-style:normal;font-size:14px;line-height:1.8;color:#C9C9D2}
.cs-colophon{margin-top:40px;padding-top:16px;border-top:3px solid #2C2C33;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;color:#8A8A96}

/* ==========================================================================
   12. WOOCOMMERCE OVERRIDES
   ========================================================================== */
.woocommerce-page{background:var(--cs-paper)}
.woocommerce-page .cs-shopwrap{max-width:var(--cs-max);margin:0 auto;padding:44px 20px 70px}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{
  border:var(--cs-border);border-radius:var(--cs-radius);background:var(--cs-lime);color:var(--cs-black);
  border-top-width:3px;padding:14px 16px;
}
.woocommerce .woocommerce-error{background:var(--cs-pink);color:var(--cs-white)}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important}
.woocommerce .quantity input.qty,.woocommerce input[type=text],.woocommerce input[type=email],
.woocommerce input[type=tel],.woocommerce textarea,.woocommerce select{
  border:var(--cs-border);border-radius:var(--cs-radius);padding:10px 12px;font-family:var(--cs-mono);font-size:13px;background:var(--cs-white);
}
.woocommerce .price{font-variation-settings:'wdth' 86,'wght' 900}
.woocommerce-breadcrumb{font-family:var(--cs-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}

/* ==========================================================================
   13. RESPONSIVE
   ========================================================================== */
@media (max-width:1000px){
  .cs-grid,.cs-four,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
  .cs-colgrid{grid-template-columns:1fr}
  .cs-col{border-right:0;border-bottom:var(--cs-border);min-height:0;padding:34px 22px 32px}
  .cs-col:last-child{border-bottom:0}
}
@media (max-width:700px){
  .cs-grid,.cs-four,.cs-steps,.woocommerce ul.products{grid-template-columns:1fr}
  .cs-card,.cs-step,.cs-four > div{transform:none!important}
  .cs-mark{font-size:15px;padding:10px 12px}
  .cs-hero__sub{font-size:17px}
  .cs-burger{display:flex;align-items:center}
  .cs-nav{position:absolute;top:100%;left:0;right:0;background:var(--cs-lime);border-bottom:var(--cs-border);display:none}
  .cs-nav.is-open{display:block}
  .cs-nav ul{flex-direction:column}
  .cs-nav a{border-left:0;border-top:var(--cs-border);padding:14px 20px}
}
@media (prefers-reduced-motion:reduce){
  .cs-marq__in{animation:none}
  *{transition:none!important}
}

/* ==========================================================================
   14. SINGLE PRODUCT
   ========================================================================== */
.single-product .cs-shopwrap{max-width:var(--cs-max);margin:0 auto;padding:16px 20px 56px}
.woocommerce div.product{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:start}
.woocommerce div.product .woocommerce-product-gallery{float:none;width:auto;margin:0}
.woocommerce div.product .woocommerce-product-gallery__wrapper{border:var(--cs-border);border-radius:var(--cs-radius);background:var(--cs-white);overflow:hidden}
.woocommerce div.product .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0 0;padding:0}
.woocommerce div.product .flex-control-thumbs li{width:auto;margin:0;float:none}
.woocommerce div.product .flex-control-thumbs img{border:var(--cs-border);border-radius:var(--cs-radius);opacity:1}
.woocommerce div.product .flex-control-thumbs img.flex-active{outline:3px solid var(--cs-pink);outline-offset:2px}
.woocommerce div.product .summary{float:none;width:auto;margin:0}
.woocommerce div.product .product_title{font-variation-settings:'wdth' 74,'wght' 900;font-size:clamp(36px,5.4vw,62px);line-height:.92;margin:14px 0 0}

.cs-kol{display:inline-block;background:var(--cs-lime);border:var(--cs-border);border-radius:var(--cs-radius);font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:4px 9px;text-decoration:none;transform:rotate(-1.5deg)}
.cs-kol:hover{background:var(--cs-black);color:var(--cs-lime)}
.cs-single__joke{font-size:19px;font-style:italic;color:var(--cs-ink-soft);margin:12px 0 0;max-width:34ch}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-variation-settings:'wdth' 86,'wght' 900;font-size:34px;color:var(--cs-black);margin:18px 0 0}
.woocommerce div.product p.price del{opacity:.45;font-size:22px}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product .stock{font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cs-black)}
.woocommerce div.product .stock.out-of-stock{color:var(--cs-pink)}

/* ---- Variation picker ---- */
.cs-variations{margin-top:24px;padding-top:20px;border-top:var(--cs-border)}
.cs-variation{margin-bottom:16px}
.cs-variation--hidden{display:none}
.cs-variation__label{font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:10px;display:block}
.cs-native-select{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cs-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cs-opt{border:var(--cs-border);border-radius:var(--cs-radius);background:var(--cs-white);padding:11px 10px;cursor:pointer;text-align:left;font-family:var(--cs-font);color:var(--cs-black);transition:transform .12s ease,box-shadow .12s ease}
.cs-opt:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--cs-black)}
.cs-opt[aria-pressed="true"]{background:var(--cs-black);color:var(--cs-lime)}
.cs-opt:focus-visible{outline:3px solid var(--cs-blue);outline-offset:3px}
.cs-opt.is-unavailable{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.cs-opt__nm{font-variation-settings:'wdth' 86,'wght' 800;font-size:16px;text-transform:uppercase;display:block}
.cs-opt__mt{font-family:var(--cs-mono);font-size:10px;letter-spacing:.06em;opacity:.72;display:block;margin-top:3px}

/* ---- Buy row ---- */
.woocommerce div.product form.cart{margin-top:20px;display:block}
.woocommerce div.product form.cart .quantity{display:inline-flex;border:var(--cs-border);border-radius:var(--cs-radius);background:var(--cs-white);margin-right:12px;vertical-align:top}
.woocommerce div.product form.cart .quantity input.qty{width:64px;border:0;text-align:center;font-family:var(--cs-mono);font-size:16px;font-weight:700;background:transparent;padding:12px 4px}
.woocommerce div.product form.cart .single_add_to_cart_button{
  font-variation-settings:var(--cs-vf-ui);font-size:19px;padding:13px 22px;
  min-width:210px;box-shadow:5px 5px 0 var(--cs-white);
}
.woocommerce div.product .woocommerce-variation-price{margin-bottom:14px}
.woocommerce div.product .woocommerce-variation-availability{margin-bottom:10px}
.cs-freeship{margin-top:14px;font-size:14px;color:var(--cs-ink-soft)}
.cs-freeship b{background:var(--cs-lime);padding:1px 5px;font-weight:500}
.cs-freeship b .woocommerce-Price-amount{font-weight:500}

/* ---- Notes panel ---- */
.cs-notes{margin-top:26px;border:var(--cs-border);border-radius:var(--cs-radius);background:var(--cs-white)}
.cs-notes__head{background:var(--cs-black);color:var(--cs-lime);font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:9px 14px}
.cs-notes__rows{display:grid;grid-template-columns:repeat(3,1fr)}
.cs-notes__r{padding:14px;border-right:var(--cs-border)}
.cs-notes__r:last-child{border-right:0}
.cs-notes__r span{font-family:var(--cs-mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--cs-ink-soft);display:block}
.cs-notes__r b{font-variation-settings:'wdth' 86,'wght' 800;font-size:17px;display:block;margin-top:4px;letter-spacing:-.01em}

/* ---- Accordions ---- */
.cs-acc{margin-top:16px}
.cs-q__in{padding:14px 15px;font-size:15px;color:var(--cs-ink-soft)}
.cs-q__in p{margin:0 0 .7em}
.cs-q__in p:last-child{margin:0}
.cs-q__in ul{margin:8px 0 0 18px}

/* ---- Cross-sell band ---- */
.cs-cross{background:var(--cs-blue);color:var(--cs-white);border-top:var(--cs-border);border-bottom:var(--cs-border);padding:44px 0;margin-top:48px}
.cs-cross__row{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:space-between}
.cs-cross h2{font-size:clamp(26px,4vw,44px)}
.cs-cross p{max-width:38ch;margin:10px 0 0}

/* ---- Related ---- */
.woocommerce .related{padding:52px 0 60px;background:var(--cs-white);border-bottom:var(--cs-border)}
.woocommerce .related > h2{max-width:var(--cs-max);margin:0 auto 26px;padding:0 20px;font-variation-settings:'wdth' 74,'wght' 900;font-size:clamp(28px,4.4vw,50px)}
.woocommerce .related ul.products{max-width:var(--cs-max);margin:0 auto;padding:0 20px}

/* ---- Sticky mobile bar ---- */
.cs-sticky{position:fixed;left:0;right:0;bottom:0;background:var(--cs-white);border-top:var(--cs-border);padding:10px 14px;display:none;gap:12px;align-items:center;z-index:90}
.cs-sticky__n{font-variation-settings:'wdth' 86,'wght' 800;font-size:15px;text-transform:uppercase;line-height:1.1}
.cs-sticky__price{font-family:var(--cs-mono);font-size:12px;font-weight:700;margin-top:2px}
.cs-sticky button{margin-left:auto;background:var(--cs-black);color:var(--cs-lime);border:var(--cs-border);border-radius:var(--cs-radius);font-variation-settings:var(--cs-vf-ui);font-size:16px;text-transform:uppercase;padding:10px 14px;cursor:pointer}

@media (max-width:980px){
  .woocommerce div.product{grid-template-columns:1fr;gap:26px}
}
@media (max-width:640px){
  .cs-opts{grid-template-columns:1fr}
  .cs-notes__rows{grid-template-columns:1fr}
  .cs-notes__r{border-right:0;border-bottom:var(--cs-border)}
  .cs-notes__r:last-child{border-bottom:0}
  .single-product .cs-sticky{display:flex}
  .single-product{padding-bottom:80px}
  .woocommerce div.product form.cart .single_add_to_cart_button{width:100%;margin-top:12px}
}

/* ==========================================================================
   15. FIXES — 1.0.2
   ========================================================================== */

/* --- div.product is a 2-col grid. Everything Woo appends after the summary
       (cross-sell, related, upsells, tabs) is also a grid child, so without
       this it gets dealt into the two columns instead of running full width. */
.woocommerce div.product{grid-template-columns:1.05fr 1fr;align-items:start}
.woocommerce div.product > .woocommerce-product-gallery{grid-column:1;grid-row:1}
.woocommerce div.product > .summary{grid-column:2;grid-row:1}
.woocommerce div.product > .cs-cross,
.woocommerce div.product > .related,
.woocommerce div.product > .upsells,
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .product_meta{grid-column:1 / -1}

/* --- Gallery: Woo/flexslider sets an inline width that leaves the image
       floating small in a wide column. */
.woocommerce div.product .woocommerce-product-gallery{width:100%!important;max-width:100%}
.woocommerce div.product .woocommerce-product-gallery__wrapper,
.woocommerce div.product .woocommerce-product-gallery__image{width:100%}
.woocommerce div.product .woocommerce-product-gallery__image img{width:100%;height:auto;display:block}
.woocommerce div.product .woocommerce-product-gallery .flex-viewport{width:100%}
.woocommerce div.product .woocommerce-product-gallery__trigger{
  background:var(--cs-lime);border:var(--cs-border);border-radius:var(--cs-radius);
  width:38px;height:38px;line-height:1;color:var(--cs-black);top:12px;right:12px;text-indent:0;
  display:flex;align-items:center;justify-content:center;font-size:16px;
}

/* --- Buy row on one line. Woo floats the quantity, which broke the layout. */
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px}
.woocommerce div.product form.cart .quantity{float:none;margin:0}
.woocommerce div.product form.cart > .quantity,
.woocommerce div.product form.cart .single_add_to_cart_button{margin:0}
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after{display:none}
.woocommerce div.product form.cart .single_variation_wrap{width:100%}
.woocommerce div.product .single_variation_wrap .woocommerce-variation-add-to-cart{
  display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;
}

/* --- Add-to-cart button. Woo's own stylesheet loads late and its default
       lavender was winning; these selectors are deliberately specific. */
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce div.product form.cart button.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
  background:var(--cs-black)!important;color:var(--cs-lime)!important;
  border:var(--cs-border);border-radius:var(--cs-radius);
  font-family:var(--cs-font);font-variation-settings:var(--cs-vf-ui);
  text-transform:uppercase;box-shadow:5px 5px 0 var(--cs-white);
}
.woocommerce div.product form.cart button.single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:var(--cs-black)!important;color:var(--cs-lime)!important;
  transform:translate(3px,3px);box-shadow:2px 2px 0 var(--cs-white);
}
.woocommerce div.product form.cart button.single_add_to_cart_button.disabled,
.woocommerce button.button.alt.disabled{opacity:.4;box-shadow:none;transform:none}

/* --- Price range on a variable product is long ("6,00 € – 25,00 €").
       Let it wrap without squashing the Dodaj button off the card. */
.cs-card__foot{flex-wrap:wrap;row-gap:8px}
.cs-card__price{font-size:16px;line-height:1.25;flex:1 1 auto;min-width:0}
.cs-card .cs-add{flex:0 0 auto;white-space:nowrap}

/* --- Related grid sits inside the product grid; give it its own spacing. */
.woocommerce div.product > .related{margin-top:0;padding:52px 0 60px;border-top:var(--cs-border)}
.woocommerce div.product > .cs-cross{margin-top:0}

/* --- No sidebar in this theme. Belt and braces in case a plugin re-adds it. */
.woocommerce-page .widget-area,
.woocommerce-page #secondary{display:none}

@media (max-width:980px){
  .woocommerce div.product{grid-template-columns:1fr}
  .woocommerce div.product > .woocommerce-product-gallery,
  .woocommerce div.product > .summary{grid-column:1;grid-row:auto}
}

/* ==========================================================================
   16. FIXES — 1.0.3
   ========================================================================== */

/* --- THE single-product bug: `1.05fr 1fr` looks like it splits the row in
       half, but an fr track has `min-width: auto`, so it can never shrink
       below its content. The gallery image is 600px wide, so column 1 grabbed
       600px and the summary got the crumbs. minmax(0, …) lets it shrink. */
.woocommerce div.product{
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
}
.woocommerce div.product > .woocommerce-product-gallery,
.woocommerce div.product > .summary{min-width:0}

/* --- Same trap on the card grids. */
.cs-grid,.woocommerce ul.products{grid-auto-rows:auto}
.cs-grid > *,.woocommerce ul.products > li{min-width:0}

/* --- Card images. Woo ships `.woocommerce ul.products li.product img
       { width:100%; height:auto }` at higher specificity than our rule, so
       tall photos grew the media box and spilled over the title. */
.cs-card__media{aspect-ratio:4/3;height:auto;display:block}
.woocommerce ul.products li.product .cs-card__media img,
.woocommerce div.product .cs-card__media img,
.cs-card .cs-card__media img{
  width:100%!important;height:100%!important;object-fit:cover;display:block;margin:0;
}

/* --- "Počisti" reset link: Woo shows it once a variation is picked. Keep it,
       but quiet — it isn't a call to action. */
.woocommerce div.product .reset_variations{
  display:inline-block!important;
  font-family:var(--cs-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--cs-ink-soft);text-decoration:none;border-bottom:2px solid var(--cs-border);
  margin-top:10px;
}
.woocommerce div.product .reset_variations:hover{color:var(--cs-black);border-bottom-color:var(--cs-black)}

/* --- Variation price block: Woo repeats the price under the picker. Make it
       the big one and let the range at the top stay quieter. */
.woocommerce div.product .woocommerce-variation-price .price{font-size:34px;margin:0}
.woocommerce div.product > .summary > p.price{font-size:26px;color:var(--cs-ink-soft)}

/* --- Description inside the accordion was inheriting odd alignment. */
.cs-q__in{text-align:left}
.cs-q__in ol{margin:8px 0 0 20px}
.cs-q__in li{margin-bottom:8px}

/* ==========================================================================
   17. FIXES — 1.0.4
   --------------------------------------------------------------------------
   Woo's woocommerce-layout.css floats the gallery and summary and gives each
   `width: 48%`. Inside a grid cell that 48% is measured against the CELL, so
   the content sat in a narrow strip with dead space beside it. Grid columns
   were never the problem — the items were. Forced, because Woo's selectors
   match ours exactly and load order alone isn't a guarantee across setups.
   ========================================================================== */
.woocommerce div.product{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;
  gap:34px;align-items:start;
}
.woocommerce div.product > .woocommerce-product-gallery,
.woocommerce div.product > .summary{
  width:100%!important;max-width:100%!important;
  float:none!important;margin:0!important;clear:none!important;min-width:0;
}
.woocommerce div.product::before,.woocommerce div.product::after{display:none!important}

@media (max-width:980px){
  .woocommerce div.product{grid-template-columns:minmax(0,1fr)!important}
}

/* ==========================================================================
   18. WOOCOMMERCE BLOCKS — cart, checkout, block product grids
   --------------------------------------------------------------------------
   Cart and checkout are block-based on modern Woo. None of the classic
   selectors above reach them, which is why this page stayed default.
   ========================================================================== */

/* --- Block product grids (the "New in store" strip on an empty cart) ------ */
.wc-block-grid__products,
.wp-block-woocommerce-product-collection ul,
.wc-block-product-template{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;margin:0!important;padding:0!important;list-style:none;
}
.wc-block-grid__product,
.wc-block-product-template li,
.wp-block-woocommerce-product-collection li{
  width:auto!important;max-width:none!important;margin:0!important;padding:0!important;
  background:var(--cs-white);border:var(--cs-border);border-radius:var(--cs-radius);
  overflow:hidden;display:flex;flex-direction:column;text-align:left!important;
}
.wc-block-grid__product-image,
.wc-block-grid__product-image img,
.wc-block-product-template li img{
  width:100%!important;margin:0!important;display:block;
}
.wc-block-grid__product-image{aspect-ratio:4/3;overflow:hidden;border-bottom:var(--cs-border)}
.wc-block-grid__product-image img{height:100%!important;object-fit:cover}
.wc-block-grid__product-title,
.wc-block-grid__product-link{
  font-family:var(--cs-font);font-variation-settings:var(--cs-vf-head);
  font-size:18px;text-transform:uppercase;letter-spacing:-.015em;line-height:1.05;
  padding:13px 13px 0;margin:0;text-decoration:none;color:var(--cs-black);
}
.wc-block-grid__product-price{
  font-variation-settings:'wdth' 86,'wght' 900;font-size:16px;
  padding:8px 13px 0;margin:0;color:var(--cs-black);
}
.wc-block-grid__product-add-to-cart{padding:12px 13px 14px;margin:auto 0 0;text-align:left}

/* --- Every block button ---------------------------------------------------- */
.wc-block-components-button,
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background:var(--cs-black)!important;color:var(--cs-lime)!important;
  border:var(--cs-border)!important;border-radius:var(--cs-radius)!important;
  font-family:var(--cs-font)!important;font-variation-settings:var(--cs-vf-ui);
  font-size:16px!important;text-transform:uppercase!important;
  padding:11px 16px!important;box-shadow:5px 5px 0 var(--cs-white);
  transition:transform .12s ease,box-shadow .12s ease;min-height:0!important;
}
.wc-block-components-button:hover,
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wc-block-components-checkout-place-order-button:hover{
  background:var(--cs-black)!important;color:var(--cs-lime)!important;
  transform:translate(3px,3px);box-shadow:2px 2px 0 var(--cs-white);
}
.wc-block-components-button__text{color:inherit!important}

/* --- Empty cart ------------------------------------------------------------ */
.wp-block-woocommerce-empty-cart-block{max-width:var(--cs-max);margin:0 auto;padding:40px 20px 60px}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block h2{
  font-family:var(--cs-font);font-variation-settings:'wdth' 74,'wght' 900;
  font-size:clamp(28px,4.4vw,50px);text-transform:uppercase;letter-spacing:-.03em;
  text-align:left;margin:0 0 26px;
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before{display:none}

/* --- Cart + checkout shell ------------------------------------------------- */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{
  max-width:var(--cs-max);margin:0 auto;padding:40px 20px 70px;
}
.wc-block-cart-items,.wc-block-cart-items__header{
  border:var(--cs-border);border-radius:var(--cs-radius);background:var(--cs-white);
}
.wc-block-cart-items__header{
  font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  background:var(--cs-black);color:var(--cs-lime);border:0;
}
.wc-block-cart-items__row{border-bottom:0.5px solid var(--cs-border)}
.wc-block-cart-item__image img{border:var(--cs-border);border-radius:var(--cs-radius)}
.wc-block-cart-item__product-name,
.wc-block-components-product-name{
  font-variation-settings:var(--cs-vf-head);font-size:17px;text-transform:uppercase;
  letter-spacing:-.015em;text-decoration:none;color:var(--cs-black);
}
.wc-block-components-totals-wrapper,
.wc-block-cart__sidebar .wc-block-components-sidebar{
  border:var(--cs-border);border-radius:var(--cs-radius);background:var(--cs-white);
}
.wc-block-components-totals-item__label{font-family:var(--cs-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-variation-settings:'wdth' 86,'wght' 900;font-size:26px;
}
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select__container,
.wc-block-components-combobox-control input{
  border:var(--cs-border)!important;border-radius:var(--cs-radius)!important;
  font-family:var(--cs-mono);font-size:13px;background:var(--cs-white);
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input label{
  font-family:var(--cs-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
}
.wc-block-components-quantity-selector{
  border:var(--cs-border);border-radius:var(--cs-radius);background:var(--cs-white);
}
.wc-block-components-quantity-selector__input{font-family:var(--cs-mono);font-weight:700}
.wc-block-components-notice-banner{
  border:var(--cs-border)!important;border-radius:var(--cs-radius)!important;
  background:var(--cs-lime)!important;color:var(--cs-black)!important;
}
.wc-block-components-notice-banner.is-error{background:var(--cs-pink)!important;color:var(--cs-white)!important}
.wc-block-components-title,.wc-block-checkout__form h2,.wp-block-woocommerce-checkout h2{
  font-family:var(--cs-font);font-variation-settings:var(--cs-vf-head);
  text-transform:uppercase;letter-spacing:-.02em;
}

@media (max-width:1000px){
  .wc-block-grid__products,.wc-block-product-template,
  .wp-block-woocommerce-product-collection ul{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:640px){
  .wc-block-grid__products,.wc-block-product-template,
  .wp-block-woocommerce-product-collection ul{grid-template-columns:minmax(0,1fr)!important}
}
