/* EN shop (shop.py renders the markup, shop.js runs the cart). Colours are the theme's tokens. */
.shp{--s-navy:var(--navy,#2f5d34);--s-beige:var(--beige,#e7f1f7);--s-hair:var(--hair,#c6d6e4);
  --s-mute:var(--navy-mute,rgba(47,93,52,.62));color:var(--s-navy);max-width:1080px;margin:0 auto;
  padding:0 20px 40px;box-sizing:border-box}
.shp *{box-sizing:border-box}
.shp a{color:inherit}
.shp button{font:inherit;color:inherit;cursor:pointer}
.shp-head{text-align:center;padding-top:40px}
.shp-eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--s-mute);margin:0}
.shp h1{font-weight:inherit;font-size:30px;letter-spacing:.06em;margin:8px 0 0}
.shp-lead{font-size:14px;line-height:1.9;color:var(--s-mute);margin:12px 0 0}
.shp-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:26px 0 6px}
.shp-chip{font-size:13px;padding:7px 15px;border:1px solid var(--s-hair);border-radius:30px;background:#fff;text-decoration:none}
.shp-chip.on{background:var(--s-navy);color:#fff;border-color:var(--s-navy)}
.shp-sec{font-weight:inherit;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--s-mute);
  margin:34px 0 14px;display:flex;align-items:center;gap:12px}
.shp-sec:after{content:"";flex:1;height:1px;background:var(--s-hair)}
.shp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px}
@media (max-width:820px){.shp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}}
.shp-tile{display:block;text-decoration:none}
.shp-im{aspect-ratio:1;background:var(--s-beige);display:flex;align-items:center;justify-content:center}
.shp-im img{width:78%;height:78%;object-fit:contain;mix-blend-mode:multiply}
.shp-tile h3{font-weight:inherit;font-size:15px;line-height:1.5;margin:10px 0 0}
.shp-meta{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.shp-pr{font-size:14px;color:var(--s-mute)}
.shp-dots{display:flex;gap:4px}
.shp-dots i{width:11px;height:11px;border-radius:50%;border:1px solid var(--s-hair);display:block}
.shp-opt{display:block;font-size:11.5px;color:var(--s-mute);margin-top:2px}
.shp-bar{position:sticky;bottom:0;margin:30px -20px -40px;background:var(--s-navy);color:#fff!important;display:flex;
  justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;font-size:15px;text-decoration:none;z-index:5}
.shp-bar[hidden]{display:none}
.shp-bar svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.4;flex:0 0 22px}
.shp-bar span:first-of-type{flex:1}
.shp-bar i{font-style:normal;opacity:.85;font-size:13px;margin-left:6px}
/* product */
.shp-crumb{font-size:12px;color:var(--s-mute);padding:20px 0 14px;letter-spacing:.04em}
.shp-crumb a{text-decoration:none}
.shp-prod{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
@media (max-width:820px){.shp-prod{grid-template-columns:minmax(0,1fr);gap:0}}
.shp-hero{background:var(--s-beige);aspect-ratio:1/.82;display:flex;align-items:center;justify-content:center}
.shp-hero img{width:72%;max-height:90%;object-fit:contain;mix-blend-mode:multiply}
.shp-thumbs{display:flex;gap:8px;justify-content:center;margin-top:12px}
.shp-thumbs button{width:52px;height:52px;background:var(--s-beige);border:1px solid transparent;padding:0;
  display:flex;align-items:center;justify-content:center}
.shp-thumbs button.on{border-color:var(--s-navy)}
.shp-thumbs img{width:80%;mix-blend-mode:multiply}
.shp-pname{font-size:26px!important;letter-spacing:.04em;margin-top:22px!important}
.shp-price{font-size:20px;margin:6px 0 0}
.shp-lbl{font-size:12px;letter-spacing:.14em;color:var(--s-mute);margin:24px 0 10px;text-transform:uppercase}
.shp-lbl em{font-style:normal;color:var(--s-navy);letter-spacing:.04em;text-transform:none;font-size:14px;margin-left:6px}
.shp-sw{display:flex;gap:14px;flex-wrap:wrap}
.shp-sw button{width:38px;height:38px;border-radius:50%;border:1px solid var(--s-hair);padding:0}
.shp-sw button.on{outline:1.5px solid var(--s-navy);outline-offset:3px}
.shp-seg{display:flex;border:1px solid var(--s-hair)}
.shp-seg button{flex:1;padding:12px 0;font-size:14px;background:#fff;border:0}
.shp-seg button+button{border-left:1px solid var(--s-hair)}
.shp-seg button.on{background:var(--s-navy);color:#fff}
.shp-sw button.out,.shp-seg button.out{opacity:.35}
.shp-qtyrow{display:flex;gap:12px;margin-top:26px}
.shp-step{display:flex;border:1px solid var(--s-hair);background:#fff;align-items:center}
.shp-step button{width:42px;height:100%;min-height:46px;border:0;background:none;font-size:20px}
.shp-step span{width:30px;text-align:center;font-size:16px}
.shp-btn{flex:1;background:var(--s-navy);color:#fff!important;border:0;text-align:center;padding:16px 0;font-size:15px;
  letter-spacing:.12em;text-decoration:none;display:inline-block}
.shp-btn.full{display:block;width:100%;margin-top:22px}
.shp-btn:disabled{opacity:.45;cursor:default}
.shp-added{font-size:13px;margin:12px 0 0}
.shp-notes{margin-top:22px;border-top:1px solid var(--s-hair)}
.shp-notes div{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--s-hair);font-size:13px;line-height:1.6}
.shp-notes svg{flex:0 0 20px;height:20px;stroke:var(--s-navy);fill:none;stroke-width:1.3}
.shp-about{border-bottom:1px solid var(--s-hair);padding:15px 0}
.shp-about summary{font-size:15px;list-style:none;display:flex;justify-content:space-between;cursor:pointer}
.shp-about summary::-webkit-details-marker{display:none}
.shp-about summary:after{content:"+";font-size:18px}
.shp-about[open] summary:after{content:"−"}
.shp-desc{font-size:13.5px;line-height:1.95;margin-top:10px;overflow-wrap:anywhere}
.shp-desc p{margin:0 0 .8em}
/* cart & checkout */
.shp-narrow{max-width:560px;margin:0 auto}
.shp-steps{display:flex;justify-content:center;gap:34px;margin:22px 0 6px;padding:0;list-style:none;font-size:12px;letter-spacing:.08em}
.shp-steps li{display:flex;align-items:center;gap:6px;color:var(--s-mute)}
.shp-steps i{width:20px;height:20px;border-radius:50%;border:1px solid var(--s-hair);font-style:normal;display:flex;
  align-items:center;justify-content:center;font-size:11px}
.shp-steps li.done i{background:var(--hair-light,#d4e2ee)}
.shp-steps li.on{color:var(--s-navy)}
.shp-steps li.on i{background:var(--s-navy);color:#fff;border-color:var(--s-navy)}
[data-cart-lines]{margin-top:14px;border-top:1px solid var(--s-hair)}
[data-cart-lines]:empty{border:0}
.shp-line{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--s-hair)}
.shp-line .th{flex:0 0 84px;height:84px;background:var(--s-beige);display:flex;align-items:center;justify-content:center}
.shp-line .th img{width:80%;max-height:80%;object-fit:contain;mix-blend-mode:multiply}
.shp-line .tx{flex:1}
.shp-line h4{font-weight:inherit;font-size:15px;line-height:1.45;margin:0}
.shp-line .v{font-size:12.5px;color:var(--s-mute);margin-top:3px}
.shp-line .bt{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.shp-line .shp-step button{width:32px;min-height:34px;font-size:17px}
.shp-line .shp-step span{width:24px;font-size:14px}
.shp-line .rm{font-size:12px;color:var(--s-mute);text-decoration:underline;margin-top:8px;background:none;border:0;padding:0}
.shp-sum{background:var(--s-beige);padding:20px;margin-top:24px}
.shp-sum div{display:flex;justify-content:space-between;font-size:14px;padding:6px 0}
.shp-sum b{font-weight:inherit}
.shp-sum .t{border-top:1px solid var(--s-hair);margin-top:8px;padding-top:12px;font-size:18px}
.shp-sum small{font-size:12px;color:var(--s-mute);display:block;line-height:1.7;margin-top:4px}
.shp-cont{display:block;text-align:center;font-size:13px;margin-top:18px;color:var(--s-mute)}
.shp-empty{text-align:center;font-size:14px;margin-top:30px}
.shp-mini{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--s-hair);padding:12px 14px;
  margin-top:20px;font-size:13.5px;background:#fff;text-decoration:none}
.shp-h2{font-size:17px;font-weight:inherit;margin:28px 0 0;letter-spacing:.04em}
.shp-f{display:block;margin-top:12px;flex:1;min-width:0}
.shp-f span{display:block;font-size:12px;color:var(--s-mute);margin-bottom:5px;letter-spacing:.04em}
.shp-f input,.shp-f select{width:100%;border:1px solid var(--s-hair);background:#fff;padding:12px;font:inherit;font-size:16px;
  min-height:46px;color:var(--s-navy);border-radius:0}
.shp-f input:invalid:not(:placeholder-shown){border-color:#b0306a}
.shp-two{display:flex;gap:10px}
@media (max-width:480px){.shp-two{flex-wrap:wrap}.shp-two .shp-f{flex:1 1 40%}}
.shp-pay{border:1px solid var(--s-hair);background:#fff;margin-top:12px;padding:14px;font-size:13.5px;line-height:1.7}
.shp-pay p{margin:0}
.shp-secure{font-size:11.5px;color:var(--s-mute);text-align:center;margin-top:12px;line-height:1.7}
.shp-err{color:#9b2c2c;font-size:13.5px;line-height:1.7;margin:12px 0 0}
.shp-done-l{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:10px 0;border-bottom:1px solid var(--s-hair)}
[data-complete] > [data-done-paid] > p,[data-complete] > [data-done-unpaid] > p{font-size:15px;line-height:1.9}
.shp-f.bad input,.shp-f.bad select{border-color:#b0306a}
