/* Gelagen Beauty — design system (rosé/blush)
   Scoped under .gg so it never collides with Atomicat's own builder CSS.
   Adapted 1:1 from the Crowned funnel structure, re-themed for a beauty gummy. */

.gg{
  --bg:#fdf6f7;          /* page background — very light blush */
  --card:#ffffff;        /* cards / surfaces */
  --card2:#fbe7ec;       /* secondary surface — soft rose */
  --line:#f1d3db;        /* borders */
  --text:#3a212c;        /* body text — deep plum-brown */
  --muted:#8a6773;       /* secondary text — muted mauve */
  --accent:#c22e63;      /* raspberry-rose (matches the berry gummies) */
  --accent2:#8f2049;     /* darker berry hover */
  --gold:#f5a524;        /* stars */
  --good:#1a9e5c; --bad:#d64545;
  --glow:rgba(194,46,99,.24);
}
.gg *{box-sizing:border-box;margin:0;padding:0;}
.gg{
  font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  line-height:1.7;
  font-weight:400;   /* reset: Atomicat's wrapper inherits 600 and makes body text look bold */
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
.gg p,.gg li,.gg summary,.gg blockquote,.gg .lead,.gg td,.gg .b-each,.gg .b-ship,.gg .img-cap{font-weight:400;}
.gg .wrap{max-width:820px;margin:0 auto;padding:0 20px;}
.gg img{max-width:100%;height:auto;display:block;}
.gg a{color:var(--accent);}

/* ---------- Site header + nav ---------- */
.gg header.site{border-bottom:1px solid var(--line);padding:18px 0;}
.gg header.site .navbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.gg .brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--text);text-decoration:none;}
.gg .brand .mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 6px 18px var(--glow);}
.gg header.site nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.gg header.site nav a{color:var(--muted);font-weight:600;font-size:14px;text-decoration:none;}
.gg header.site nav a:hover{color:var(--accent);}
.gg header.site nav a[aria-current="page"]{color:var(--text);}
.gg header.site nav a.nav-cta{
  background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;
  padding:8px 16px;border-radius:30px;font-weight:800;
  box-shadow:0 4px 14px var(--glow);white-space:nowrap;
}
.gg header.site nav a.nav-cta:hover{filter:brightness(1.08);color:#fff;}

/* ---------- Breadcrumb ---------- */
.gg .crumb{font-size:13px;color:var(--muted);padding:18px 0 0;}
.gg .crumb a{color:var(--muted);text-decoration:none;}
.gg .crumb a:hover{color:var(--accent);}
.gg .crumb span{color:var(--text);}

/* ---------- Hero ---------- */
.gg header.hero{padding:14px 0 6px;}
.gg .eyebrow{
  display:inline-block;background:rgba(194,46,99,.09);color:var(--accent2);
  border:1px solid rgba(194,46,99,.26);
  font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:6px 12px;border-radius:30px;margin-bottom:14px;
}
.gg h1{font-size:34px;line-height:1.22;font-weight:800;margin-bottom:14px;letter-spacing:-.01em;color:var(--text);}
.gg .byline{font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:8px;}
.gg .byline strong{color:var(--text);}
.gg .byline .verified{color:var(--good);font-weight:700;}
.gg .byline a{color:var(--muted);text-decoration:underline;}
.gg .byline a:hover{color:var(--accent);}

/* ---------- Rating ---------- */
.gg .rating-row{display:flex;align-items:center;gap:10px;margin:6px 0 18px;flex-wrap:wrap;}
.gg .stars{color:var(--gold);font-size:20px;letter-spacing:2px;}
.gg .rating-num{font-weight:800;font-size:18px;color:var(--text);}
.gg .rating-sub{color:var(--muted);font-size:14px;}

/* ---------- Typography ---------- */
.gg h2{font-size:25px;font-weight:800;margin:38px 0 14px;line-height:1.3;letter-spacing:-.01em;color:var(--text);}
.gg h3{font-size:19px;font-weight:700;margin:26px 0 10px;color:var(--text);}
.gg p{margin-bottom:16px;font-size:17px;}
.gg .lead{font-size:18px;color:var(--text);}
.gg strong{color:var(--text);}
.gg ul.plain{margin:0 0 18px 22px;}
.gg ul.plain li{margin-bottom:8px;font-size:16.5px;}

/* ---------- Answer box (GEO/AEO) ---------- */
.gg .tldr{
  background:linear-gradient(180deg,#fce4ea,#f8d7e0);
  border:1px solid var(--line);border-left:5px solid var(--accent);
  border-radius:14px;padding:22px 24px;margin:24px 0;
}
.gg .tldr h2{margin:0 0 10px;font-size:18px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent2);}
.gg .tldr p{font-size:16px;margin-bottom:0;}
.gg .tldr strong{color:var(--text);}

/* ---------- CTA ---------- */
.gg .cta-box{text-align:center;margin:30px 0;}
.gg .btn{
  display:inline-block;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff !important;
  font-size:20px;font-weight:800;text-decoration:none;
  padding:18px 42px;border-radius:50px;
  box-shadow:0 10px 28px var(--glow);
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
  border:none;cursor:pointer;letter-spacing:.01em;
}
.gg .btn:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 14px 34px var(--glow);}
.gg .btn-sub{display:block;font-size:13px;color:var(--muted);margin-top:10px;font-weight:600;}

/* ---------- Badges ---------- */
.gg .badge{display:inline-block;background:rgba(194,46,99,.12);color:var(--accent2);border:1px solid rgba(194,46,99,.3);font-weight:700;font-size:12px;padding:5px 12px;border-radius:30px;margin-bottom:10px;}

/* ---------- Pricing table ---------- */
.gg table.pricing{width:100%;border-collapse:collapse;margin:16px 0 6px;font-size:16px;overflow:hidden;border-radius:12px;border:1px solid var(--line);}
.gg table.pricing th{background:linear-gradient(90deg,var(--accent2),var(--accent));color:#fff;text-align:left;padding:13px 14px;font-size:14px;letter-spacing:.02em;}
.gg table.pricing td{padding:13px 14px;border-bottom:1px solid var(--line);}
.gg table.pricing tr:last-child td{border-bottom:none;}
.gg table.pricing tr.popular{background:rgba(194,46,99,.08);}
.gg table.pricing .pkg{font-weight:800;color:var(--text);}
.gg table.pricing .was{color:var(--muted);text-decoration:line-through;font-size:14px;}
.gg table.pricing .now{color:var(--good);font-weight:800;}
.gg table.pricing .tag{display:inline-block;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;margin-left:6px;vertical-align:middle;}
.gg .table-scroll{overflow-x:auto;}

/* ---------- Bundle cards ---------- */
.gg .bundles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0;}
.gg .bundle{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:14px;text-align:center;display:flex;flex-direction:column;}
.gg .bundle.best{border-color:rgba(194,46,99,.4);background:rgba(194,46,99,.06);}
.gg .bundle img{
  margin:0 auto 10px;border-radius:10px;
  background:radial-gradient(circle at 50% 50%,rgba(194,46,99,.12),rgba(255,255,255,0) 68%),var(--card2);
}
.gg .bundle .b-name{font-weight:800;color:var(--text);font-size:15px;}
.gg .bundle .b-price{color:var(--accent2);font-weight:800;font-size:19px;margin-top:4px;}
.gg .bundle .b-each{color:var(--muted);font-size:13px;}
.gg .bundle .b-save{display:inline-block;margin:6px auto 0;font-size:12px;font-weight:800;color:var(--good);background:rgba(26,158,92,.12);padding:3px 10px;border-radius:20px;}
.gg .bundle .b-ship{font-size:12.5px;color:var(--muted);margin-top:6px;}
.gg .bundle .b-cta{margin-top:12px;}
.gg .bundle .b-cta a{display:block;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;text-decoration:none;font-weight:800;font-size:15px;padding:11px 10px;border-radius:30px;box-shadow:0 6px 16px var(--glow);}
.gg .bundle .b-cta a:hover{filter:brightness(1.08);}

/* ---------- Pros / cons ---------- */
.gg .pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0;}
.gg .pc-col{border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:var(--card);}
.gg .pc-col.pros{background:rgba(26,158,92,.06);border-color:rgba(26,158,92,.24);}
.gg .pc-col.cons{background:rgba(214,69,69,.05);border-color:rgba(214,69,69,.22);}
.gg .pc-col h3{margin-top:0;display:flex;align-items:center;gap:8px;}
.gg .pc-col ul{list-style:none;}
.gg .pc-col li{position:relative;padding-left:26px;margin-bottom:10px;font-size:15.5px;}
.gg .pros li:before{content:"\2714";position:absolute;left:0;color:var(--good);font-weight:800;}
.gg .cons li:before{content:"\2715";position:absolute;left:0;color:var(--bad);font-weight:800;}

/* ---------- Feature list ---------- */
.gg .feat{list-style:none;margin:10px 0 20px;}
.gg .feat li{position:relative;padding-left:30px;margin-bottom:14px;font-size:16.5px;}
.gg .feat li:before{content:"\279C";position:absolute;left:0;color:var(--accent);font-weight:800;}
.gg .feat strong{color:var(--text);}

/* ---------- Guarantee callout ---------- */
.gg .callout{
  border:1px solid rgba(245,165,36,.35);background:rgba(245,165,36,.08);
  border-radius:14px;padding:20px 22px;margin:24px 0;
}
.gg .callout.with-img{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.gg .callout.with-img img{max-width:130px;border-radius:12px;flex:0 0 auto;}
.gg .callout.with-img .c-txt{flex:1;min-width:220px;}
.gg .callout h3{margin:0 0 8px;color:var(--accent2);}
.gg .callout p{margin-bottom:0;font-size:16px;}

/* ---------- Score bars ---------- */
.gg table.scores{width:100%;border-collapse:collapse;margin:16px 0 8px;font-size:15.5px;}
.gg table.scores td{padding:11px 8px;border-bottom:1px solid var(--line);}
.gg table.scores td:first-child{font-weight:600;}
.gg table.scores td:last-child{text-align:right;white-space:nowrap;}
.gg .bar{display:inline-block;height:8px;border-radius:6px;background:var(--accent);vertical-align:middle;margin-right:8px;}

/* ---------- FAQ ---------- */
.gg .faq{margin:18px 0;}
.gg details{border:1px solid var(--line);border-radius:12px;padding:4px 18px;margin-bottom:12px;background:var(--card);}
.gg details[open]{background:var(--card2);}
.gg summary{font-weight:700;font-size:17px;cursor:pointer;padding:14px 0;list-style:none;position:relative;padding-right:30px;color:var(--text);}
.gg summary::-webkit-details-marker{display:none;}
.gg summary:after{content:"+";position:absolute;right:4px;top:11px;font-size:24px;color:var(--accent);font-weight:400;}
.gg details[open] summary:after{content:"\2013";}
.gg details p{padding:0 0 16px;margin:0;font-size:16px;}

/* ---------- Verdict ---------- */
.gg .verdict{
  background:var(--card2);color:var(--text);
  border:1px solid var(--line);border-radius:16px;padding:30px 28px;margin:32px 0;
}
.gg .verdict h2{color:var(--text);margin-top:0;}
.gg .verdict p{color:var(--muted);}
.gg .verdict .vscore{font-size:40px;font-weight:800;color:var(--text);}
.gg .verdict .vscore small{font-size:18px;color:var(--accent);font-weight:600;}

.gg blockquote{
  border-left:4px solid var(--accent);background:var(--card2);
  padding:16px 20px;border-radius:0 12px 12px 0;margin:18px 0;font-style:italic;color:var(--text);
}
.gg blockquote .q-name{display:block;font-style:normal;font-weight:700;font-size:14px;color:var(--muted);margin-top:8px;}

.gg hr{border:none;border-top:1px solid var(--line);margin:34px 0;}

/* ---------- Lifestyle / trust image ---------- */
.gg .lifestyle{margin:24px auto;border-radius:18px;border:1px solid var(--line);max-width:420px;overflow:hidden;box-shadow:0 12px 34px rgba(58,33,44,.12);}
.gg .lifestyle img{width:100%;border-radius:18px;}
.gg .img-cap{text-align:center;font-size:13px;color:var(--muted);margin:8px 0 0;}

/* ---------- Article cards (blog listing) ---------- */
.gg .cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0;}
.gg .card{
  border:1px solid var(--line);border-radius:14px;background:var(--card);
  padding:22px;display:flex;flex-direction:column;
  transition:border-color .15s ease,transform .15s ease;
}
.gg .card:hover{border-color:rgba(194,46,99,.4);transform:translateY(-2px);}
.gg .card .c-tag{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.gg .card h3{margin:0 0 8px;font-size:18px;line-height:1.35;}
.gg .card h3 a{color:var(--text);text-decoration:none;}
.gg .card h3 a:hover{color:var(--accent);}
.gg .card p{font-size:15px;color:var(--muted);margin-bottom:14px;flex:1;}
.gg .card .c-more{font-size:14px;font-weight:700;color:var(--accent);text-decoration:none;}

/* ---------- In-article next-step box ---------- */
.gg .next-step{
  border:1px solid rgba(194,46,99,.3);border-radius:14px;
  background:linear-gradient(180deg,rgba(194,46,99,.08),rgba(194,46,99,.02));
  padding:22px 24px;margin:28px 0;
}
.gg .next-step h3{margin:0 0 8px;color:var(--text);}
.gg .next-step p{margin-bottom:12px;font-size:16px;}
.gg .next-step a.ns-link{font-weight:800;color:var(--accent);text-decoration:none;font-size:16px;}
.gg .next-step a.ns-link:hover{text-decoration:underline;}

/* ---------- How it works — numbered steps ---------- */
.gg .steps{list-style:none;counter-reset:step;margin:22px 0;display:grid;gap:14px;}
.gg .steps li{position:relative;counter-increment:step;padding:18px 20px 18px 66px;border:1px solid var(--line);border-radius:14px;background:var(--card);}
.gg .steps li:before{content:counter(step);position:absolute;left:18px;top:16px;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px var(--glow);}
.gg .steps li strong{display:block;color:var(--text);font-size:16.5px;margin-bottom:2px;}
.gg .steps li span{color:var(--muted);font-size:15.5px;}

/* ---------- Stat / trust rows ---------- */
.gg .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0;}
.gg .stat{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:18px 14px;text-align:center;}
.gg .stat .s-num{font-size:28px;font-weight:800;color:var(--accent2);line-height:1.1;}
.gg .stat .s-lab{font-size:13px;color:var(--muted);font-weight:600;margin-top:4px;}
.gg .trust{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 6px;}
.gg .trust span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--accent2);background:rgba(194,46,99,.08);border:1px solid rgba(194,46,99,.24);padding:7px 13px;border-radius:30px;}

/* ---------- Footer ---------- */
.gg footer.disc{font-size:12.5px;color:var(--muted);padding:24px 0 50px;line-height:1.6;border-top:1px solid var(--line);margin-top:20px;}
.gg .foot-links{margin-bottom:14px;font-size:13px;}
.gg .foot-links a{color:var(--muted);text-decoration:none;}
.gg .foot-links a:hover{color:var(--accent);}

@media(max-width:640px){
  .gg h1{font-size:27px;}
  .gg h2{font-size:22px;}
  .gg .brand{font-size:17px;}
  .gg .brand .mark{width:28px;height:28px;font-size:15px;}
  .gg header.site nav{gap:12px;}
  .gg header.site nav a{font-size:13px;}
  .gg header.site nav a.nav-cta{padding:7px 13px;}
  .gg .pc-grid{grid-template-columns:1fr;}
  .gg .cards{grid-template-columns:1fr;}
  .gg .bundles{grid-template-columns:1fr;}
  .gg .btn{font-size:18px;padding:16px 30px;width:100%;}
  .gg p{font-size:16px;}
  .gg .stats{grid-template-columns:1fr 1fr;}
  .gg .steps li{padding-left:60px;}
}
