/* ==========================================================================
   Aesthetics BioCare — storefront (shop, product, basket, checkout)
   Layered on top of css/style.css, reusing the same tokens
   ========================================================================== */
.abc-basket{position:relative}
.abc-basket-n{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;
  border-radius:999px;background:var(--rose-deep,#8F3F52);color:#fff;font-size:11px;font-weight:700;
  vertical-align:middle;margin-left:3px}

.shop-wrap{max-width:1200px;margin:0 auto;padding:clamp(28px,4vw,52px) clamp(20px,5vw,64px)}
.shop-head{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;margin-bottom:26px}
.shop-head h1{font-family:var(--serif,Georgia,serif);font-size:clamp(30px,4.4vw,44px);font-weight:500;
  margin:0;flex:1;min-width:260px;letter-spacing:-.01em}
.shop-head p{color:var(--muted,#8C737A);margin:8px 0 0;max-width:640px}
.shop-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--terra,#B17A63);
  margin:0 0 8px}

.shop-layout{display:grid;grid-template-columns:250px 1fr;gap:30px;align-items:start}
.shop-side{background:#fff;border:1px solid var(--line,#EADFDB);border-radius:16px;padding:20px;
  position:sticky;top:20px}
.shop-side h3{font-family:var(--serif,Georgia,serif);font-size:17px;margin:0 0 12px;font-weight:500}
.shop-side a{display:block;padding:7px 10px;border-radius:9px;font-size:14px;color:var(--body,#6A4F56)}
.shop-side a:hover{background:var(--sand,#F1E9E1)}
.shop-side a.is-active{background:var(--rose-deep,#8F3F52);color:#fff}
.shop-side .sec{margin-bottom:20px}
.shop-side .sec:last-child{margin-bottom:0}

.shop-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:22px}
.shop-toolbar input,.shop-toolbar select{padding:10px 14px;border:1px solid var(--line-2,#E3D4D0);
  border-radius:999px;font-family:inherit;font-size:14px;background:#fff;color:inherit}
.shop-toolbar input{min-width:230px}
.shop-toolbar input:focus,.shop-toolbar select:focus{outline:none;border-color:var(--terra,#B17A63)}
.shop-count{color:var(--muted,#8C737A);font-size:13.5px;margin-left:auto}

.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:20px}
.shop-card{background:#fff;border:1px solid var(--line,#EADFDB);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .18s,transform .18s,box-shadow .18s}
.shop-card:hover{border-color:var(--terra,#B17A63);transform:translateY(-2px);
  box-shadow:0 12px 34px rgba(42,21,32,.09)}
.shop-card__img{aspect-ratio:16/10;background:var(--sand,#F1E9E1);overflow:hidden}
.shop-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.shop-card__body{padding:17px 19px;display:flex;flex-direction:column;gap:8px;flex:1}
.shop-card__cat{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--terra,#B17A63)}
.shop-card__title{font-family:var(--serif,Georgia,serif);font-size:19px;font-weight:500;line-height:1.25;margin:0}
.shop-card__desc{font-size:13.5px;color:var(--muted,#8C737A);flex:1;line-height:1.5}
.shop-card__foot{display:flex;align-items:center;gap:10px;justify-content:space-between;
  padding-top:12px;border-top:1px solid var(--line,#EADFDB);flex-wrap:wrap}
.shop-price{font-family:var(--serif,Georgia,serif);font-size:22px}
.shop-price small{font-family:var(--sans);font-size:11.5px;color:var(--muted,#8C737A);display:block;
  letter-spacing:.02em}
.shop-price--consult{font-size:14px;font-family:var(--sans);color:var(--muted,#8C737A)}

.abtn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:999px;border:1px solid transparent;
  font-family:inherit;font-size:14px;cursor:pointer;background:var(--rose-deep,#8F3F52);color:#fff;
  transition:.16s;line-height:1.2;text-align:center;justify-content:center}
.abtn:hover{background:#7C3646;color:#fff}
.abtn--ghost{background:transparent;border-color:var(--line-2,#E3D4D0);color:var(--ink,#2A1520)}
.abtn--ghost:hover{background:var(--sand,#F1E9E1);color:var(--ink,#2A1520)}
.abtn--sm{padding:7px 15px;font-size:13px}
.abtn--block{width:100%}
.abtn[disabled]{opacity:.5;cursor:not-allowed}

/* product page */
.pdp{display:grid;grid-template-columns:1fr 400px;gap:38px;align-items:start}
.pdp__media{border-radius:18px;overflow:hidden;background:var(--sand,#F1E9E1);aspect-ratio:16/10}
.pdp__media img{width:100%;height:100%;object-fit:cover;display:block}
.pdp__gallery{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pdp__gallery img{width:88px;height:66px;object-fit:cover;border-radius:9px;border:1px solid var(--line,#EADFDB)}
.pdp h1{font-family:var(--serif,Georgia,serif);font-size:clamp(27px,3.6vw,38px);font-weight:500;margin:10px 0 12px}
.pdp__body{line-height:1.7;color:var(--body,#6A4F56)}
.pdp__body p{margin:0 0 14px}
.pdp__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:22px 0}
.pdp__fact{background:#fff;border:1px solid var(--line,#EADFDB);border-radius:12px;padding:14px 16px}
.pdp__fact b{display:block;font-size:15px}
.pdp__fact span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted,#8C737A)}
.pdp__buy{background:#fff;border:1px solid var(--line,#EADFDB);border-radius:18px;padding:24px;
  position:sticky;top:20px}
.pdp__included{list-style:none;padding:0;margin:14px 0 0}
.pdp__included li{padding:8px 0 8px 24px;position:relative;font-size:14px;border-bottom:1px solid var(--line,#EADFDB)}
.pdp__included li::before{content:"✦";position:absolute;left:0;color:var(--terra,#B17A63)}
.pdp__included li:last-child{border-bottom:none}

/* basket & checkout */
.abc-panel{background:#fff;border:1px solid var(--line,#EADFDB);border-radius:16px;overflow:hidden;margin-bottom:22px}
.abc-panel__head{padding:18px 22px;border-bottom:1px solid var(--line,#EADFDB)}
.abc-panel__head h2{font-family:var(--serif,Georgia,serif);font-size:20px;font-weight:500;margin:0}
.abc-panel__body{padding:22px}
.abc-cols{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start}
.abc-line{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line,#EADFDB);align-items:center}
.abc-line:last-child{border-bottom:none}
.abc-line img{width:76px;height:76px;border-radius:11px;object-fit:cover;background:var(--sand,#F1E9E1);flex:0 0 76px}
.abc-line__info{flex:1;min-width:0}
.abc-line__info b{display:block;font-size:15px;margin-bottom:3px}
.abc-line__info small{color:var(--muted,#8C737A);font-size:12.5px}
.abc-line__qty input{width:64px;padding:8px 10px;border:1px solid var(--line-2,#E3D4D0);border-radius:9px;
  text-align:center;font-family:inherit}
.abc-line__price{font-weight:600;min-width:92px;text-align:right;font-variant-numeric:tabular-nums}
.abc-sum{display:flex;justify-content:space-between;gap:14px;padding:9px 0;font-size:14.5px;
  border-bottom:1px solid var(--line,#EADFDB)}
.abc-sum:last-of-type{border-bottom:none}
.abc-sum--total{font-size:19px;font-family:var(--serif,Georgia,serif);padding-top:14px}
.abc-sum span:first-child{color:var(--muted,#8C737A)}
.abc-sum b{font-variant-numeric:tabular-nums}
.abc-good{color:#2F7D46}
.abc-field{margin-bottom:16px}
.abc-field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:var(--body,#6A4F56)}
.abc-field input,.abc-field select,.abc-field textarea{width:100%;padding:11px 14px;
  border:1px solid var(--line-2,#E3D4D0);border-radius:10px;font-family:inherit;font-size:14px;background:#fff}
.abc-field input:focus,.abc-field select:focus,.abc-field textarea:focus{outline:none;
  border-color:var(--terra,#B17A63);box-shadow:0 0 0 3px rgba(177,122,99,.13)}
.abc-field .hint{font-size:12px;color:var(--muted,#8C737A);margin-top:5px}
.abc-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.abc-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.abc-inline{display:flex;gap:9px}
.abc-inline input{flex:1}
.abc-msg{padding:13px 17px;border-radius:11px;margin-bottom:18px;font-size:14px;border:1px solid}
.abc-msg--ok  {background:#EDF7EE;border-color:#BFE0C4;color:#2F7D46}
.abc-msg--err {background:#FCEDEF;border-color:#F0C4CC;color:#9E2A3C}
.abc-msg--info{background:#EAF2F8;border-color:#C3D8E8;color:#2C5D80}
.abc-pay{display:grid;gap:12px}
.abc-pay label{display:flex;gap:12px;align-items:flex-start;padding:15px 17px;border:1px solid var(--line-2,#E3D4D0);
  border-radius:12px;cursor:pointer;transition:.15s}
.abc-pay label:hover{border-color:var(--terra,#B17A63)}
.abc-pay input:checked + span{font-weight:600}
.abc-pay b{display:block;font-size:15px;margin-bottom:2px}
.abc-pay small{color:var(--muted,#8C737A);font-size:12.5px}
.abc-empty{text-align:center;padding:56px 20px;color:var(--muted,#8C737A)}
.abc-empty b{display:block;font-family:var(--serif,Georgia,serif);font-size:23px;color:var(--ink,#2A1520);
  margin-bottom:8px;font-weight:500}
.abc-crumb2{max-width:1200px;margin:0 auto;padding:16px clamp(20px,5vw,64px) 0;font-size:13px;
  color:var(--muted,#8C737A)}
.abc-crumb2 a{color:var(--terra,#B17A63)}
.abc-crumb2 span{margin:0 7px}
.abc-tag{display:inline-block;padding:3px 11px;border-radius:999px;background:var(--sand,#F1E9E1);
  font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--body,#6A4F56)}
.abc-note-box{background:var(--sand,#F1E9E1);border-radius:12px;padding:15px 18px;font-size:13.5px;
  color:var(--body,#6A4F56);line-height:1.6}
.abc-success{max-width:660px;margin:0 auto;text-align:center;padding:56px 20px}
.abc-success__mark{width:74px;height:74px;border-radius:50%;background:#EDF7EE;border:2px solid #BFE0C4;
  color:#2F7D46;display:grid;place-items:center;font-size:34px;margin:0 auto 22px}
.abc-success h1{font-family:var(--serif,Georgia,serif);font-size:34px;font-weight:500;margin:0 0 12px}

@media (max-width:900px){
  .shop-layout{grid-template-columns:1fr}
  .shop-side{position:static}
  .pdp,.abc-cols{grid-template-columns:1fr}
  .pdp__buy{position:static}
  .abc-2,.abc-3{grid-template-columns:1fr}
}
