/* Clinical Editorial - global styles */
:root{
  --paper:#F7F5F0;
  --ink:#2B2B2B;
  --green:#1F3D2B;
  --green-soft:#DDE7DE;
  --terra:#C97B4A;
  --line:#D9D4C8;
  --muted:#6B6B63;
  --radius:2px;
  --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Inter","Helvetica Neue",system-ui,-apple-system,sans-serif;
  background:var(--paper);color:var(--ink);
  line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:600;line-height:1.2;letter-spacing:-0.01em}
h1{font-size:clamp(2rem,4vw,3.25rem)}
h2{font-size:clamp(1.5rem,2.5vw,2.25rem);margin-bottom:1rem}
h3{font-size:1.25rem;margin-bottom:.5rem}
p{margin-bottom:1rem;color:var(--ink)}
a{color:var(--green);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
a:hover{border-bottom-color:var(--green)}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-bottom:.75rem}
.rule{height:1px;background:var(--line);border:0;margin:2rem 0}

/* Header */
header.site{
  position:sticky;top:0;z-index:50;background:rgba(247,245,240,.92);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:24px}
.brand{font-family:"Playfair Display",Georgia,serif;font-size:1.35rem;font-weight:700;color:var(--green);border:0}
.brand span{color:var(--terra)}
.menu{display:flex;gap:24px;list-style:none;align-items:center}
.menu a{font-size:.92rem;color:var(--ink);border:0}
.menu a:hover{color:var(--green)}
.actions{display:flex;align-items:center;gap:12px}
.lang{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.lang button{
  background:transparent;border:0;padding:6px 10px;font-size:.75rem;
  letter-spacing:.08em;cursor:pointer;color:var(--muted);
}
.lang button.active{background:var(--green);color:#fff}
.cart-link{font-size:.9rem;border:0}
.cart-link b{color:var(--terra)}

/* Buttons */
.btn{
  display:inline-block;padding:12px 22px;border:1px solid var(--green);
  background:var(--green);color:#fff;border-radius:var(--radius);
  font-size:.9rem;letter-spacing:.04em;cursor:pointer;transition:.2s;
  text-align:center;border-bottom:1px solid var(--green);
}
.btn:hover{background:var(--terra);border-color:var(--terra);color:#fff}
.btn.ghost{background:transparent;color:var(--green)}
.btn.ghost:hover{background:var(--green);color:#fff}

/* Hero */
.hero{padding:80px 0 60px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}
.hero p.lead{font-size:1.1rem;color:var(--muted);max-width:46ch}
.hero-img{border:1px solid var(--line);background:var(--green-soft);aspect-ratio:1/1;overflow:hidden}
.hero-img img{width:100%;height:100%;object-fit:cover}

/* Section */
section{padding:64px 0;border-bottom:1px solid var(--line)}
section:last-of-type{border-bottom:0}

/* Cards */
.grid{display:grid;gap:24px}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c4{grid-template-columns:repeat(4,1fr)}
.card{border:1px solid var(--line);padding:24px;background:#fff;transition:.2s}
.card:hover{border-color:var(--green)}
.card .price{color:var(--terra);font-weight:600;margin-top:.5rem}

/* Product */
.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.product-img{border:1px solid var(--line);background:var(--green-soft)}
.tabs{border-top:1px solid var(--line);margin-top:2rem}
.tabs details{border-bottom:1px solid var(--line);padding:14px 0}
.tabs summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between}
.tabs summary::-webkit-details-marker{display:none}
.tabs summary::after{content:"+";color:var(--terra)}
.tabs details[open] summary::after{content:"–"}
.tabs .body{padding-top:12px;color:var(--muted)}

/* Forms */
form{display:grid;gap:16px}
label{font-size:.85rem;color:var(--muted);letter-spacing:.04em}
input,textarea,select{
  width:100%;padding:12px 14px;border:1px solid var(--line);
  background:#fff;font:inherit;color:var(--ink);border-radius:var(--radius);
}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--green)}

/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--terra);flex-shrink:0}
.faq details[open] summary::after{content:"–"}
.faq .body{padding-top:10px;color:var(--muted);max-width:70ch}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.review{border-left:2px solid var(--terra);padding-left:18px}
.review .who{font-weight:600;color:var(--green);margin-top:.75rem}
.review .stars{color:var(--terra);letter-spacing:.15em;font-size:.85rem}

/* Footer */
footer.site{background:var(--green);color:#E8EEE7;padding:64px 0 24px;margin-top:40px}
footer.site a{color:#E8EEE7;border:0}
footer.site a:hover{color:var(--terra)}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
footer h4{color:#fff;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;font-family:"Inter",sans-serif;font-weight:600}
footer ul{list-style:none;display:grid;gap:10px;font-size:.9rem}
footer p{color:#B9C7B9;font-size:.9rem}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.badge{font-size:.7rem;letter-spacing:.08em;border:1px solid #3A5A44;padding:5px 9px;color:#DCE5DC;text-transform:uppercase}
.bottom{border-top:1px solid #3A5A44;margin-top:48px;padding-top:20px;display:flex;justify-content:space-between;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#93A893}

/* Toast */
.toast{
  position:fixed;bottom:24px;right:24px;background:var(--ink);color:#fff;
  padding:14px 20px;border-radius:var(--radius);opacity:0;transform:translateY(10px);
  transition:.25s;pointer-events:none;z-index:100;font-size:.9rem;
}
.toast.show{opacity:1;transform:translateY(0)}

/* Responsive */
@media (max-width:900px){
  .hero-grid,.product-grid{grid-template-columns:1fr;gap:32px}
  .grid.c3,.grid.c4,.reviews{grid-template-columns:1fr 1fr}
  .f-grid{grid-template-columns:1fr 1fr}
  .menu{display:none}
}
@media (max-width:560px){
  .grid.c3,.grid.c4,.reviews,.f-grid{grid-template-columns:1fr}
  .nav{padding:14px 0}
}
