/* Traditional Medicinals Detox Lemon — Bulgarian
   Palette: fresh lemon bg + botanical ink + lemon-lime accent + deep herb CTA
   Fonts: Libre Baskerville (display) + DM Sans (body)
   Signature: Circular "2×16 = 32 bags" pack count badge on gallery */

:root {
  --bg:       #F5FAE8;
  --bg2:      #EBF3D8;
  --surface:  #FFFFFF;
  --surf2:    #F0F8E8;
  --ink:      #1E3018;
  --ink2:     #263820;
  --muted:    #527040;
  --border:   #B8D890;
  --rule:     #CCEAA0;
  --lime:     #7AAA30;
  --lime-lt:  #98C848;
  --lime-bg:  #EEF8D8;
  --lime-bdr: #AACG78;
  --herb:     #2E6828;
  --herb-h:   #1E5018;
  --lemon:    #C8A810;
  --star:     #C89808;
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--ink2); font-family:'DM Sans',system-ui,sans-serif; font-size:15px; line-height:1.75; }
img { display:block; max-width:100%; height:auto; }
h1,h2,h3 { font-family:'Libre Baskerville',Georgia,serif; }

/* HEADER */
.site-header { background:var(--ink); border-bottom:3px solid var(--lime-lt); padding:1.1rem 5vw; }
.hdr-inner { max-width:1080px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:0.8rem; }
.hdr-brand-block { display:flex; flex-direction:column; gap:0.1rem; }
.hdr-maker { font-size:0.67rem; color:rgba(255,255,255,0.35); letter-spacing:0.18em; text-transform:uppercase; font-family:'DM Sans',sans-serif; }
.hdr-product { font-family:'Libre Baskerville',serif; font-size:clamp(1rem,2.5vw,1.5rem); font-weight:700; color:#fff; letter-spacing:0.02em; }
.hdr-cert-row { display:flex; gap:0.5rem; flex-wrap:wrap; }
.hdr-cert { display:inline-flex; align-items:center; gap:0.35rem; background:rgba(152,200,72,0.15); border:1px solid rgba(152,200,72,0.35); color:var(--lime-lt); font-size:0.67rem; font-weight:600; letter-spacing:0.08em; padding:0.22rem 0.65rem; border-radius:3px; font-family:'DM Sans',sans-serif; }
.hdr-cert i { font-size:0.68rem; }
@media(max-width:520px){ .hdr-cert-row{ display:none; } }

/* LAYOUT */
.product-section { padding:3rem 5vw 1.5rem; }
.product-grid { max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; align-items:start; }

/* GALLERY LEFT */
.gallery-col { position:sticky; top:2rem; display:flex; flex-direction:column; gap:0; }
.gallery-wrap { position:relative; }

/* PACK BADGE — signature */
.pack-badge {
  position:absolute; top:-12px; right:-12px;
  width:76px; height:76px; border-radius:50%;
  background:var(--lime); display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:0;
  z-index:10; box-shadow:0 4px 16px rgba(122,170,48,0.45);
}
.pb-top { font-family:'DM Sans',sans-serif; font-size:0.55rem; font-weight:700; color:rgba(255,255,255,0.75); letter-spacing:0.06em; text-transform:uppercase; line-height:1; }
.pb-mid { font-family:'Libre Baskerville',serif; font-size:1.6rem; font-weight:700; color:#fff; line-height:1; }
.pb-bot { font-family:'DM Sans',sans-serif; font-size:0.5rem; font-weight:600; color:rgba(255,255,255,0.75); letter-spacing:0.06em; text-transform:uppercase; line-height:1.2; text-align:center; }

.gallery-frame { border:1px solid var(--border); border-radius:6px; overflow:hidden; }
.gallery-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.gallery-track::-webkit-scrollbar { display:none; }
.gallery-slide { flex:0 0 100%; scroll-snap-align:start; }
.gallery-slide img { width:100%; height:320px; object-fit:contain; padding:1.8rem; background:var(--surf2); }
.gallery-thumbs { display:flex; gap:0.5rem; margin-top:0.65rem; overflow-x:auto; scrollbar-width:none; }
.gallery-thumbs::-webkit-scrollbar { display:none; }
.g-thumb { flex:0 0 60px; border:1.5px solid var(--border); border-radius:4px; overflow:hidden; background:var(--surface); transition:border-color 0.15s; }
.g-thumb:hover,.g-thumb:focus { border-color:var(--lime); outline:none; }
.g-thumb img { width:60px; height:60px; object-fit:cover; }

.taste-note { display:flex; align-items:center; gap:0.7rem; background:var(--lime-bg); border:1px solid var(--border); border-radius:4px; padding:0.75rem 1rem; margin-top:0.7rem; font-size:0.83rem; color:var(--ink2); }
.taste-icon { color:var(--lemon); font-size:1.2rem; flex-shrink:0; }
.taste-note strong { color:var(--ink); font-weight:600; }

/* INFO RIGHT */
.product-tag { display:inline-block; background:var(--lime-bg); border:1px solid var(--border); color:var(--lime); font-size:0.65rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; padding:0.22rem 0.75rem; border-radius:2px; margin-bottom:1rem; }
.product-title { font-size:clamp(2.2rem,4vw,3.5rem); font-weight:700; color:var(--ink); line-height:1.05; margin-bottom:0.4rem; letter-spacing:-0.01em; }
.title-lemon { color:var(--lime); font-style:italic; display:block; }
.title-lemon2 { font-weight:400; font-style:italic; color:var(--lemon); font-size:0.72em; display:block; }
.product-sub { font-size:0.84rem; color:var(--muted); line-height:1.5; margin-bottom:0.8rem; font-family:'DM Sans',sans-serif; }
.star-row { display:flex; align-items:center; gap:0.5rem; }
.stars { color:var(--star); font-size:1rem; letter-spacing:0.05em; }
.star-label { font-size:0.79rem; color:var(--lime); text-decoration:underline; cursor:default; }
.hr { height:1px; background:var(--rule); margin:1.3rem 0; }

/* CERT STRIP */
.cert-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--border); border-radius:4px; overflow:hidden; background:var(--surface); }
.cs-item { padding:0.8rem 0.4rem; text-align:center; display:flex; flex-direction:column; align-items:center; gap:0.25rem; border-right:1px solid var(--border); }
.cs-item:last-child { border-right:none; }
.cs-item i { color:var(--lime); font-size:0.95rem; }
.cs-item span { font-size:0.65rem; font-weight:600; color:var(--ink2); line-height:1.2; text-transform:uppercase; letter-spacing:0.06em; }

.about-h { font-family:'DM Sans',sans-serif; font-size:0.77rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); margin-bottom:0.9rem; }
.about-list { list-style:none; display:flex; flex-direction:column; gap:0.85rem; }
.about-list li { display:flex; gap:0.8rem; align-items:flex-start; font-size:0.91rem; color:var(--ink2); line-height:1.72; }
.al-icon { flex-shrink:0; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.7rem; margin-top:2px; }
.al-icon.lemon { background:var(--lime-bg); border:1px solid var(--border); color:var(--lime); }
.about-list li strong { color:var(--ink); font-weight:700; }

.disclaimer-box { background:var(--surf2); border-left:3px solid var(--lime-lt); padding:0.9rem 1.1rem; border-radius:0 4px 4px 0; }
.disc-lbl { display:flex; align-items:center; gap:0.4rem; font-size:0.7rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--lime); margin-bottom:0.45rem; }
.disclaimer-box p { font-size:0.79rem; color:var(--muted); line-height:1.65; }

.cta-block { display:flex; flex-direction:column; gap:0.65rem; }
.cta-btn { display:flex; align-items:center; justify-content:center; gap:0.65rem; width:100%; background:var(--herb); color:#fff; font-family:'Libre Baskerville',serif; font-size:1.05rem; font-weight:700; padding:1rem 1.5rem; border-radius:4px; text-decoration:none; box-shadow:0 4px 18px rgba(46,104,40,0.3); transition:background 0.2s,transform 0.15s; }
.cta-btn:hover,.cta-btn:focus { background:var(--herb-h); transform:translateY(-1px); outline:none; }
.cta-btn i { font-size:1.1rem; }
.cta-meta { display:flex; gap:1rem; flex-wrap:wrap; }
.cta-meta span { display:flex; align-items:center; gap:0.35rem; font-size:0.73rem; color:var(--muted); }
.cta-meta i { font-size:0.62rem; color:var(--lime); }

/* REVIEWS */
.reviews-section { background:var(--bg2); padding:3.5rem 5vw 5rem; border-top:1px solid var(--border); }
.reviews-wrap { max-width:760px; margin:0 auto; }
.reviews-hdr { margin-bottom:2rem; padding-bottom:1.2rem; border-bottom:2px solid var(--lime); }
.reviews-title { font-size:1.3rem; font-weight:700; color:var(--ink); margin-bottom:0.4rem; }
.rev-summary { display:flex; align-items:center; gap:0.6rem; flex-wrap:wrap; }
.rev-avg { font-size:0.87rem; font-weight:600; color:var(--ink2); }
.rev-n { font-size:0.8rem; color:var(--muted); }
.review { padding:1.8rem 0; border-bottom:1px solid var(--rule); }
.review:last-child { border-bottom:none; }
.review-head { display:flex; gap:1rem; align-items:flex-start; margin-bottom:0.65rem; }
.rev-avatar img { width:44px; height:44px; border-radius:50%; object-fit:cover; border:2px solid var(--border); flex-shrink:0; }
.rev-meta { display:flex; flex-direction:column; gap:0.05rem; }
.rev-name { font-weight:600; font-size:0.9rem; color:var(--ink); }
.rev-stars { color:var(--star); font-size:0.88rem; }
.rev-headline { font-family:'Libre Baskerville',serif; font-weight:700; font-size:0.96rem; color:var(--ink); line-height:1.3; }
.rev-date,.rev-attrs { font-size:0.77rem; color:var(--muted); }
.rev-attrs { margin-bottom:0.7rem; }
.rev-body { font-size:0.91rem; color:var(--ink2); line-height:1.8; margin-bottom:0.6rem; }
.rev-photos { display:flex; gap:0.6rem; flex-wrap:wrap; margin-top:0.4rem; }
.rev-photos img { width:90px; height:90px; object-fit:cover; border-radius:4px; border:1px solid var(--border); }

/* FOOTER */
.site-footer { background:var(--ink); border-top:3px solid var(--lime-lt); padding:2rem 5vw; text-align:center; }
.footer-inner { max-width:860px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:0.7rem; }
.footer-brand { font-family:'Libre Baskerville',serif; font-size:0.9rem; font-weight:700; color:rgba(255,255,255,0.42); }
.footer-links { display:flex; flex-wrap:wrap; gap:0.5rem; align-items:center; justify-content:center; }
.footer-links a { font-size:0.76rem; color:rgba(255,255,255,0.28); text-decoration:none; }
.footer-links a:hover { color:var(--lime-lt); }
.fsep { color:rgba(255,255,255,0.14); font-size:0.76rem; }
.footer-copy { font-size:0.7rem; color:rgba(255,255,255,0.18); }

/* RESPONSIVE */
@media(max-width:860px) {
  .product-grid { grid-template-columns:1fr; gap:2.5rem; }
  .gallery-col { position:static; order:1; }
  .info-col { order:2; }
  .gallery-slide img { height:260px; }
  .product-section { padding:2rem 4vw; }
  .cert-strip { grid-template-columns:repeat(2,1fr); }
  .cs-item:nth-child(2) { border-right:none; }
  .cs-item:nth-child(3) { border-top:1px solid var(--border); }
  .cs-item:nth-child(4) { border-top:1px solid var(--border); border-right:none; }
}
@media(max-width:560px) {
  .product-title { font-size:2.2rem; }
  .gallery-slide img { height:220px; }
  .g-thumb { flex:0 0 54px; }
  .g-thumb img { width:54px; height:54px; }
  .reviews-section { padding:2.5rem 4vw 4rem; }
}