/* PiPi Tea Oolong — Bulgarian
   Palette: warm honey bg + umber ink + honey-gold + forest CTA
   Fonts: Cormorant Garamond (display) + Nunito Sans (body)
   Signature: Altitude badge "4500ft" overlaid on gallery corner */

:root {
  --bg:       #FBF5E8;
  --bg2:      #F5EDD6;
  --surface:  #FFFFFF;
  --surf2:    #FAF3E2;
  --ink:      #2A1A08;
  --ink2:     #3A2510;
  --muted:    #7A6040;
  --border:   #E0CC9C;
  --rule:     #EAD8A8;
  --gold:     #C8880A;
  --gold-lt:  #E8A830;
  --gold-bg:  #FDF3DC;
  --forest:   #2A6840;
  --forest-h: #1E5030;
  --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:'Nunito 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:'Cormorant Garamond',Georgia,serif; }

/* HEADER */
.site-header { background:var(--ink); border-bottom:3px solid var(--gold); padding:1.1rem 5vw; text-align:center; }
.hdr-inner { max-width:960px; margin:0 auto; }
.hdr-brand { font-family:'Cormorant Garamond',serif; font-size:clamp(1.2rem,3vw,1.75rem); font-weight:700; color:#fff; letter-spacing:0.06em; display:inline-flex; align-items:center; gap:0.5rem; }
.hdr-icon { color:var(--gold-lt); font-size:1.1em; }
.hdr-sub { font-size:0.67rem; color:rgba(255,255,255,0.32); letter-spacing:0.14em; text-transform:uppercase; margin-top:0.25rem; }

/* 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 */
.gallery-col { position:sticky; top:2rem; display:flex; flex-direction:column; gap:0; }
.gallery-wrap { position:relative; }

/* ALTITUDE BADGE — signature */
.altitude-badge { position:absolute; top:-10px; right:-10px; width:72px; height:72px; border-radius:50%; background:var(--gold); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; z-index:10; box-shadow:0 4px 14px rgba(200,136,10,0.4); }
.alt-num { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:700; color:#fff; line-height:1; }
.alt-lbl { font-size:0.5rem; font-weight:600; color:rgba(255,255,255,0.8); letter-spacing:0.06em; text-align:center; line-height:1.3; }

.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(--gold); outline:none; }
.g-thumb img { width:60px; height:60px; object-fit:cover; }

.cert-chips { display:flex; gap:0.4rem; flex-wrap:wrap; margin-top:0.7rem; }
.cert { display:inline-flex; align-items:center; gap:0.35rem; background:var(--gold-bg); border:1px solid var(--border); color:var(--gold); font-size:0.72rem; font-weight:600; padding:0.25rem 0.65rem; border-radius:20px; }
.cert i { font-size:0.66rem; }

/* INFO */
.product-tag { display:inline-block; background:var(--gold-bg); border:1px solid var(--gold-lt); color:var(--gold); 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(2rem,3.5vw,3rem); font-weight:700; color:var(--ink); line-height:1.08; margin-bottom:0.4rem; letter-spacing:-0.01em; }
.title-gold { color:var(--gold); font-style:italic; display:block; }
.product-sub { font-size:0.84rem; color:var(--muted); line-height:1.5; margin-bottom:0.8rem; font-family:'Nunito 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(--gold); text-decoration:underline; cursor:default; }
.hr { height:1px; background:var(--rule); margin:1.3rem 0; }

.about-h { font-size:0.78rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); margin-bottom:0.9rem; font-family:'Nunito Sans',sans-serif; }
.about-list { list-style:none; display:flex; flex-direction:column; gap:0.85rem; }
.about-list li { display:flex; gap:0.75rem; align-items:flex-start; font-size:0.91rem; color:var(--ink2); line-height:1.75; }
.al-dot { flex-shrink:0; width:8px; height:8px; border-radius:50%; background:var(--gold); margin-top:7px; opacity:0.9; }
.about-list li strong { color:var(--ink); font-weight:700; }

.disclaimer-box { background:var(--surf2); border-left:3px solid var(--gold-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(--gold); 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(--forest); color:#fff; font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:700; padding:1rem 1.5rem; border-radius:4px; text-decoration:none; box-shadow:0 4px 18px rgba(42,104,64,0.3); transition:background 0.2s,transform 0.15s; }
.cta-btn:hover,.cta-btn:focus { background:var(--forest-h); transform:translateY(-1px); outline:none; }
.cta-btn i { font-size:1.1rem; }
.cta-meta { display:flex; gap:1.2rem; 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(--gold); }

/* REVIEWS */
.reviews-section { background:var(--bg); padding:3.5rem 5vw 5rem; }
.reviews-wrap { max-width:760px; margin:0 auto; }
.reviews-hdr { margin-bottom:2rem; padding-bottom:1.2rem; border-bottom:2px solid var(--gold); }
.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:'Cormorant Garamond',serif; font-weight:700; font-size:0.97rem; 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(--gold); 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:'Cormorant Garamond',serif; font-size:0.95rem; font-weight:700; color:rgba(255,255,255,0.45); display:inline-flex; align-items:center; gap:0.4rem; }
.footer-brand i { color:var(--gold-lt); }
.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.3); text-decoration:none; }
.footer-links a:hover { color:var(--gold-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; }
}
@media(max-width:560px) {
  .product-title { font-size:2rem; }
  .gallery-slide img { height:220px; }
  .g-thumb { flex:0 0 54px; }
  .g-thumb img { width:54px; height:54px; }
  .cta-btn { font-size:1rem; }
  .reviews-section { padding:2.5rem 4vw 4rem; }
}