  :root{
    --ink:#1d2328;
    --muted:#535456;
    --line:#e3e3e3;
    --cream:#f9f8f3;
    --sand:#f0eddd;
    --accent:#dd7f41;
    --cta:#EF6E15;
    --cta-hover:#ef7722;
    --green:#2f7a3f;
    --slate:#6f6d68;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:#fff;
    font-family:"Quattrocento Sans",sans-serif;
    color:var(--ink);
    font-size:16px;
    line-height:1.5;
  }
  h1,h2,h3,h4{margin:0;font-weight:400;}
  .container{max-width:1320px;margin:0 auto;padding:0 20px;}

  /* ---------- page chrome (unchanged on the live site) ---------- */
  .topbar{border-bottom:1px solid var(--line);padding:14px 0;}
  .topbar .container{display:flex;align-items:center;gap:24px;}
  .logo{font-family:"Prata",serif;font-size:20px;letter-spacing:.06em;}
  .navlinks{margin-left:auto;display:flex;gap:20px;font-size:14px;color:var(--muted);}
  .navlinks .on{color:var(--cta);}
  .stripe{background:var(--sand);text-align:center;font-size:13px;padding:8px 20px;color:var(--muted);}
  .crumbs{font-size:13px;color:var(--muted);padding:14px 0 18px;}
  .crumbs b{color:var(--ink);font-weight:400;}

  /* ---------- product layout ---------- */
  .product{
    display:grid;
    grid-template-columns:minmax(0,1fr) 430px;
    gap:36px;
    align-items:start;
    padding-bottom:48px;
  }
  .gallery{
    display:grid;grid-template-columns:1fr 1fr;gap:12px;
    position:sticky;top:16px;align-self:start;
  }
  .gallery figure{margin:0;border-radius:8px;overflow:hidden;background:#fff;border:1px solid var(--line);}
  .gallery figure.wide{grid-column:1 / -1;background:var(--cream);}
  .gallery img{display:block;width:100%;height:auto;}
  .gallery figure.wide img{max-width:520px;margin:24px auto;}
  .viewall{
    grid-column:1 / -1;justify-self:center;margin-top:6px;
    border:1px solid var(--line);border-radius:999px;background:#fff;
    padding:8px 20px;font-family:inherit;font-size:14px;cursor:pointer;
  }

  /* ---------- right column ---------- */
  .buybox{min-width:0;}
  .buybox h1{font-weight:700;font-size:26px;line-height:1.25;margin-bottom:6px;}
  .sku-row{
    display:flex;align-items:center;gap:14px;
    font-size:14px;color:var(--muted);
    padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px;
  }
  .sku-row .icons{margin-left:auto;display:flex;gap:14px;font-size:17px;color:var(--muted);}

  /* variant table – as on the live site */
  .variants{
    width:100%;max-width:100%;
    table-layout:fixed;border-collapse:collapse;
    margin-bottom:18px;font-size:13px;
  }
  .variants col.c-size{width:64px;}
  .variants col.c-name{width:108px;}
  .variants col.c-cov{width:56px;}
  .variants col.c-price{width:auto;}
  .variants col.c-qty{width:62px;}
  .variants thead th{
    background:var(--slate);color:#fff;font-weight:400;font-size:12px;
    text-align:left;padding:9px 8px;line-height:1.25;
  }
  .variants thead th:last-child{text-align:center;}
  .variants td{padding:9px 8px;border:0;vertical-align:middle;line-height:1.3;}
  .variants tbody tr:nth-child(odd){background:var(--sand);}
  .variants tbody tr:nth-child(even){background:#fff;}
  .variants td.qty-cell{text-align:center;}
  .variants .qty-input{
    width:46px;height:32px;
    border:1px solid #cfcabd;border-radius:3px;background:#fff;
    text-align:center;font-family:inherit;font-size:13px;color:var(--ink);
    -moz-appearance:textfield;
  }
  .variants .qty-input::-webkit-outer-spin-button,
  .variants .qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
  .variants .qty-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(221,127,65,.16);}

  /* ================= GROUT CALCULATOR CARD ================= */
  .calc{
    border:1px solid var(--slate);
    border-radius:5px;
    background:var(--cream);
    margin-bottom:16px;
    overflow:hidden;
    margin-top: 1em;
  }
  .calc-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    width:100%;padding:13px 15px;
    background:none;border:0;border-bottom:1px solid var(--slate);
    font-family:inherit;color:inherit;text-align:left;cursor:pointer;
  }
  .calc-head .ttl{display:block;font-family:"Prata",serif;font-size:17px;line-height:1.3;}
  .calc-head .sub{display:block;font-size:12.5px;color:var(--muted);margin-top:2px;}
  .calc-head .chev{
    flex:0 0 auto;width:18px;height:18px;position:relative;
  }
  .calc-head .chev::before,.calc-head .chev::after{
    content:"";position:absolute;left:2px;top:8px;width:14px;height:1.5px;background:var(--ink);
    transition:transform .18s ease;
  }
  .calc-head .chev::after{transform:rotate(90deg);}
  .calc-head[aria-expanded="true"] .chev::after{transform:rotate(0);}
  .calc-head:focus-visible{outline:2px solid var(--cta);outline-offset:-3px;}

  .calc-body{padding:15px;}
  .calc-head[aria-expanded="false"] + .calc-body{display:none;}

  .seg{display:flex;gap:7px;margin-bottom:12px;}
  .seg button{
    flex:1;padding:8px 6px;
    border:1px solid var(--line);border-radius:6px;background:#fff;
    font-family:inherit;font-size:13px;color:var(--muted);cursor:pointer;
    transition:background .16s ease,color .16s ease,border-color .16s ease;
  }
  .seg button:hover{border-color:#c6c2b9;}
  .seg button.on{background:var(--ink);border-color:var(--ink);color:#fff;}

  .f-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;}
  .f-grid.full{grid-template-columns:1fr;}
  .f label{display:block;font-size:12.5px;font-weight:700;margin-bottom:4px;}
  .f .ctrl{position:relative;}
  .f input{
    width:100%;height:40px;padding:0 42px 0 11px;
    font-family:inherit;font-size:14px;color:var(--ink);
    border:1px solid var(--line);border-radius:6px;background:#fff;
    -moz-appearance:textfield;
  }
  .f input::-webkit-outer-spin-button,.f input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
  .f input::placeholder{color:#b6b1a6;}
  .f input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(221,127,65,.16);}
  .f .unit{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--muted);pointer-events:none;}
  .f .hint{font-size:11.5px;color:var(--muted);margin-top:3px;}
  .stack{margin-bottom:10px;}
  .is-hidden{display:none;}

  .calc-run{
    width:100%;margin-top:13px;padding:12px;
    border:1px solid var(--ink);border-radius:6px;background:#fff;
    font-family:inherit;font-size:15px;font-weight:700;color:var(--ink);cursor:pointer;
    transition:background .18s ease,color .18s ease;
  }
  .calc-run:hover{background:var(--ink);color:#fff;}
  .calc-run:focus-visible{outline:2px solid var(--cta);outline-offset:2px;}

  .calc-msg{margin:11px 0 0;font-size:13px;color:#b3450f;display:none;}
  .calc-msg.show{display:block;}

  .calc-out{
    margin-top:13px;padding:14px;
    background:var(--sand);border-radius:7px;display:none;
  }
  .calc-out.show{display:block;}
  .calc-out .kg{font-size:24px;font-weight:700;color:var(--accent);line-height:1.2;}
  .calc-out .line{font-size:12.5px;color:var(--muted);margin-top:4px;}
  .calc-out .bags{
    display:flex;align-items:baseline;justify-content:space-between;gap:12px;
    margin-top:10px;padding-top:10px;border-top:1px solid #e2ddc7;
    font-size:15px;font-weight:700;
  }
  .calc-apply{
    width:100%;margin-top:11px;padding:9px;
    border:0;border-radius:6px;background:#fff;
    font-family:inherit;font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;
    box-shadow:inset 0 0 0 1px var(--line);
  }
  .calc-apply:hover{background:#fffdf7;}
  .calc-foot{font-size:11.5px;color:var(--muted);margin:11px 0 0;line-height:1.45;}

  /* ---------- add to cart: as on the live site ---------- */
  .cart-band{background:var(--cream);padding:14px;border-radius:4px;}
  .btn-cart{
    display:block;width:100%;
    padding:14px 18px;border:0;border-radius:4px;
    background:var(--cta);color:#fff;
    font-family:inherit;font-size:17px;cursor:pointer;
    transition:background .18s ease;
  }
  .btn-cart:hover{background:var(--cta-hover);}

  .delivery{
    margin:16px 0 0;font-size:15px;color:#2fa02f;
    display:flex;align-items:center;gap:9px;
  }
  .delivery svg{flex:0 0 auto;}
  .collect{
    margin-top:16px;display:flex;align-items:center;gap:14px;
    background:var(--sand);border-radius:6px;padding:16px;font-size:15px;
  }
  .collect .pin{
    flex:0 0 auto;width:38px;height:38px;border-radius:6px;background:#fff;
    display:grid;place-items:center;
  }
  .collect .txt{flex:1 1 auto;min-width:0;}
  .collect b{display:block;font-weight:400;color:var(--ink);}
  .collect span{font-size:14px;color:#6b7a63;}
  .collect .pill{
    border:1px solid var(--cta);color:var(--cta);border-radius:999px;
    padding:3px 12px;font-size:13px;white-space:nowrap;
  }
  .collect .arrow{color:var(--muted);font-size:18px;}

  .help{
    margin-top:22px;border:1px solid var(--line);border-radius:8px;padding:18px;
    box-shadow:rgba(0,0,0,.06) 0 0 6px;
  }
  .help h3{font-family:"Prata",serif;font-size:17px;margin-bottom:12px;}
  .help p{margin:0 0 10px;font-size:14px;color:var(--muted);}
  .help .big{font-size:16px;color:var(--ink);font-weight:700;margin-bottom:2px;}
  .help a{color:var(--accent);}

  /* ---------- description block (unchanged on the live site) ---------- */
  .desc{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding-bottom:44px;}
  .card{border:1px solid var(--line);border-radius:8px;padding:24px;}
  .card h2{font-family:"Prata",serif;font-size:22px;margin-bottom:12px;}
  .card p{margin:0 0 12px;font-size:14.5px;}
  .card ul{margin:0 0 14px;padding-left:20px;font-size:14.5px;}
  .card li{margin-bottom:4px;}
  .card .flag{
    background:var(--cream);border-radius:6px;padding:14px;
    font-size:13px;color:var(--muted);margin-top:16px;
  }
  .card .flag b{color:#c0392b;}
  .acc{border:1px solid var(--line);border-radius:8px;overflow:hidden;align-self:start;}
  .acc-item + .acc-item{border-top:1px solid var(--line);}
  .acc-btn{
    width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:20px 24px;background:#fff;border:0;cursor:pointer;
    font-family:"Prata",serif;font-size:19px;color:var(--ink);text-align:left;
  }
  .acc-btn:hover{background:var(--cream);}
  .acc-btn .ar{font-size:15px;color:var(--muted);transition:transform .18s ease;}
  .acc-btn[aria-expanded="true"] .ar{transform:rotate(90deg);}
  .acc-panel{padding:0 24px 20px;font-size:14.5px;color:var(--muted);}
  .acc-btn[aria-expanded="false"] + .acc-panel{display:none;}
  .acc-panel table{width:100%;border-collapse:collapse;font-size:14px;}
  .acc-panel td{padding:7px 0;border-bottom:1px solid var(--line);}
  .acc-panel td:first-child{color:var(--ink);width:45%;}

  /* ---------- reviews strip ---------- */
  .reviews{text-align:center;padding:10px 0 48px;}
  .reviews h2{font-family:"Prata",serif;font-size:30px;margin-bottom:10px;}
  .reviews .tabs{display:flex;gap:26px;justify-content:center;font-size:14.5px;color:var(--muted);margin-bottom:8px;}
  .reviews .tabs .on{color:var(--cta);border-bottom:2px solid var(--cta);padding-bottom:5px;}
  .reviews .trusted{font-size:14px;color:var(--muted);margin:0 0 20px;}
  .rev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:left;}
  .rev{border:1px solid var(--line);border-radius:6px;padding:13px;font-size:13px;}
  .rev .stars{color:#00b67a;letter-spacing:1px;font-size:13px;}
  .rev b{display:block;margin:6px 0 4px;font-size:13.5px;}
  .rev p{margin:0;color:var(--muted);}
  .rev .who{margin-top:9px;font-size:12px;color:var(--muted);}
  .reviews .rating{font-size:13.5px;color:var(--muted);margin-top:16px;}

  /* ---------- footer (unchanged on the live site) ---------- */
  footer{background:var(--sand);padding:44px 0 24px;margin-top:10px;}
  .signup{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-bottom:32px;border-bottom:1px solid #e2ddc7;}
  .signup h3{font-family:"Prata",serif;font-size:22px;margin-bottom:6px;}
  .signup p{margin:0 0 14px;font-size:14px;color:var(--muted);}
  .signup form{display:flex;max-width:470px;}
  .signup input{
    flex:1;height:44px;border:1px solid var(--line);border-right:0;
    border-radius:4px 0 0 4px;padding:0 14px;font-family:inherit;font-size:14px;background:#fff;
  }
  .signup button{
    border:0;background:var(--ink);color:#fff;padding:0 22px;
    border-radius:0 4px 4px 0;font-family:inherit;font-size:13px;cursor:pointer;
  }
  .socials{justify-self:end;text-align:left;}
  .socials h4{font-size:13px;font-weight:700;margin-bottom:12px;}
  .socials div{display:flex;gap:14px;font-size:17px;}
  .fcols{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding:32px 0;}
  .fcol h4{font-size:13px;font-weight:700;margin-bottom:14px;}
  .fcol a{display:block;font-size:14px;color:var(--muted);text-decoration:none;margin-bottom:9px;}
  .fcol a:hover{color:var(--ink);}
  .fcol .tel{font-size:15px;font-weight:700;}
  .fcol .hours{font-size:12.5px;color:var(--muted);font-style:italic;}
  .fbot{
    display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
    padding-top:20px;border-top:1px solid #e2ddc7;font-size:13px;color:var(--muted);
  }
  .pay{display:flex;gap:8px;}
  .pay span{background:#fff;border:1px solid var(--line);border-radius:4px;padding:3px 9px;font-size:11px;}

  .note{border-top:1px solid var(--line);padding:16px 0 32px;font-size:13px;color:var(--muted);}
  .note code{background:var(--cream);padding:1px 5px;border-radius:3px;}

  @media (max-width:991px){
    .product{grid-template-columns:1fr;gap:26px;}
    .navlinks{display:none;}
    .gallery{position:static;}
    .desc{grid-template-columns:1fr;}
    .rev-grid{grid-template-columns:1fr 1fr;}
    .fcols{grid-template-columns:1fr 1fr;}
    .signup{grid-template-columns:1fr;}
    .socials{justify-self:start;}
    .collect{flex-wrap:wrap;}
    .collect .txt{flex:1 1 100%;order:2;}
  }
  @media (max-width:520px){
    .variants{font-size:12.5px;}
    .variants thead th,.variants td{padding:8px 6px;}
    .variants col.c-size{width:0;}
    .variants .u-size{display:none;}
    .rev-grid{grid-template-columns:1fr;}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none !important;}}