/* GLP1ReviewGuide.com — shared styles for policy pages, pre-landers and the consent banner.
   Tokens match main.css (homepage). Self-contained: pages only need this file + Google Fonts. */
:root{--ink:#1F1B2E;--plum:#0000FF;--plum-d:#0000FF;--plum-s:#E8E8FF;--cream:#FBF7F2;--coral:#E8604C;--coral-d:#C94A37;--sage:#2E8A63;--rust:#C0533A;--line:#E6DFD6;--muted:#615B6B;--gold:#FFD27A;
--disp:"Fraunces",Georgia,"Times New Roman",serif;--body:"DM Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 var(--body)}
img{max-width:100%;height:auto;display:block}
a{color:var(--plum)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
.w{max-width:1120px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:100}
.skip:focus{left:10px}

/* disclosure bar + nav */
.adnote{margin:0;background:var(--ink);color:#D9D3E3;text-align:center;font-size:13px;padding:7px 14px}
.adnote a{color:#fff}
.adnote b{color:#fff;letter-spacing:.06em;text-transform:uppercase;font-size:12px;border:1px solid #6d6680;border-radius:4px;padding:1px 6px;margin-right:6px}
.nav{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.nav .w{display:flex;justify-content:space-between;align-items:center;min-height:64px;gap:16px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font:600 20px var(--disp)}
.brand b{color:var(--plum);font-weight:700}
.brand small{font:500 13px var(--body);color:var(--muted);margin-left:1px}
.nav nav{display:flex;gap:22px}
.nav nav a{color:var(--ink);text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap}
.nav nav a:hover{color:var(--plum)}
@media(max-width:680px){.nav nav a:not(:first-child){display:none}.brand{font-size:18px}}

/* buttons */
.cta{display:block;text-align:center;background:var(--coral);color:#fff;text-decoration:none;font:700 17px var(--body);padding:14px 20px;border-radius:999px;border:0;cursor:pointer;transition:background .15s}
.cta:hover{background:var(--coral-d)}
.cta.inline{display:inline-block;padding:15px 30px}
.btn_dark,.btn_line{display:inline-block;text-decoration:none;font:700 16px var(--body);padding:12px 22px;border-radius:999px;border:2px solid var(--ink);cursor:pointer;text-align:center}
.btn_dark{background:var(--ink);color:#fff}
.btn_dark:hover{background:var(--plum);border-color:var(--plum)}
.btn_line{color:var(--ink);background:transparent}
.btn_line:hover{background:#fff}

/* legal / prose pages */
.page_head{padding:44px 0 20px;border-bottom:1px solid var(--line);background:#fff}
.kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--plum)}
.page_head h1{font:700 clamp(32px,4.4vw,46px)/1.1 var(--disp);margin:0 0 10px;letter-spacing:-.01em}
.page_head .dek{font-size:18px;color:var(--muted);margin:0;max-width:62ch}
.updated{font-size:14px;color:var(--muted);margin:12px 0 0}
.legal_wrap{display:grid;grid-template-columns:230px 1fr;gap:44px;padding:36px 20px 50px}
.legal_wrap>*{min-width:0}
.toc{position:sticky;top:84px;align-self:start;font-size:14.5px}
.toc p{font-weight:700;margin:0 0 8px}
.toc ol{margin:0;padding-left:18px}
.toc li{margin-bottom:6px}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{color:var(--plum);text-decoration:underline}
.prose{max-width:740px}
.prose h2{font:700 26px/1.2 var(--disp);margin:34px 0 10px}
.prose h2:first-child{margin-top:0}
.prose h3{font:700 19px/1.3 var(--body);margin:22px 0 6px}
.prose p,.prose li{max-width:70ch}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin-bottom:6px}
.prose table{width:100%;border-collapse:collapse;font-size:15px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:12px 0 18px}
.prose th,.prose td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.prose thead th{background:var(--plum-s);font-size:14px}
.prose tr:last-child td{border-bottom:0}
.tbl{overflow-x:auto}
.tbl table{min-width:560px}
.callout{background:#fff;border:1px solid var(--line);border-left:5px solid var(--plum);border-radius:14px;padding:14px 18px;margin:16px 0;font-size:15.5px}
.callout.warn{border-left-color:var(--coral)}
.callout p{margin:0 0 6px}.callout p:last-child{margin:0}
.linklike{background:none;border:0;padding:0;font:inherit;color:var(--plum);text-decoration:underline;cursor:pointer}
.todo{background:#FFF6D6;border:1px dashed #D9A400;border-radius:4px;padding:0 4px;font-size:.95em}
@media(max-width:860px){.legal_wrap{grid-template-columns:minmax(0,1fr);gap:20px}.toc{position:static;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px}}

/* forms (privacy choices) */
.choice{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin:18px 0}
.choice h2{margin-top:0}
.switch_row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line)}
.switch_row:first-of-type{border-top:0}
.switch_row p{margin:2px 0 0;font-size:14.5px;color:var(--muted)}
.switch{position:relative;flex:none;width:52px;height:30px}
.switch input{opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0;cursor:pointer;z-index:1}
.switch span{position:absolute;inset:0;background:#C6C6E6;border-radius:999px;transition:background .15s}
.switch span::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.switch input:checked+span{background:var(--plum)}
.switch input:checked+span::after{transform:translateX(22px)}
.switch input:disabled+span{opacity:.55;cursor:not-allowed}
.switch input:focus-visible+span{outline:3px solid var(--coral);outline-offset:2px}
.status{display:none;margin:12px 0 0;padding:10px 14px;border-radius:10px;background:#E6F4EC;color:#1D5E41;font-weight:700;font-size:15px}
.status.show{display:block}
.gpc{display:none;margin:0 0 14px;padding:10px 14px;border-radius:10px;background:var(--plum-s);font-size:15px}
.gpc.show{display:block}
.form_grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.form_grid label{display:flex;flex-direction:column;gap:4px;font-size:14.5px;font-weight:700}
.form_grid .full{grid-column:1/-1}
.form_grid input,.form_grid select,.form_grid textarea{min-width:0;max-width:100%;font:16px var(--body);padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
@media(max-width:600px){.form_grid{grid-template-columns:minmax(0,1fr)}.form_grid input,.form_grid select,.form_grid textarea{max-width:100%;min-width:0}}

/* team bios */
.people{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.person{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;grid-template-columns:96px 1fr;gap:18px}
.person h2{font:700 22px var(--disp);margin:0}
.person .role{margin:2px 0 8px;color:var(--coral-d);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.04em}
.person p{margin:0 0 8px;font-size:15.5px}
.photo_slot{width:96px;height:96px;border-radius:50%;border:2px dashed #C6C6E6;display:grid;place-items:center;text-align:center;font-size:11.5px;color:var(--muted);line-height:1.3;padding:6px}
@media(max-width:760px){.people{grid-template-columns:1fr}}

/* footer */
.foot{background:#fff;border-top:1px solid var(--line);padding:40px 0 30px;font-size:14.5px;margin-top:10px}
.foot_grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:30px}
.foot h4{margin:0 0 10px;font-size:15px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:6px}
.foot li a{color:var(--ink)}
.foot p{color:var(--muted)}
.foot .pc{display:inline-flex;align-items:center;gap:6px}
.foot button.linklike{background:none;border:0;padding:0;font:inherit;color:var(--ink);text-decoration:underline;cursor:pointer}
.foot_legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px;font-size:12.5px;margin:0}
@media(max-width:720px){.foot_grid{grid-template-columns:1fr}}

/* ===== Pre-landers (advertorial + listicle) ===== */
.lander{max-width:760px;margin:0 auto;padding:28px 20px 10px}
.adlabel{display:inline-block;font:700 11.5px var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid #C6C6E6;border-radius:4px;padding:2px 8px;margin:0 0 14px}
.lander h1{font:700 clamp(30px,4.6vw,44px)/1.12 var(--disp);margin:0 0 14px;letter-spacing:-.012em}
.lander .dek{font-size:19px;color:var(--muted);margin:0 0 18px}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:22px}
.meta .av{width:36px;height:36px;border-radius:50%;background:var(--plum-s);border:2px dashed #C6C6E6;flex:none}
.meta b{color:var(--ink)}
.meta details{font-size:13.5px}
.meta summary{cursor:pointer;color:var(--plum);font-weight:700}
.meta details p{margin:6px 0 0;max-width:60ch}
.lander p{margin:0 0 16px}
.lander h2{font:700 clamp(23px,3vw,29px)/1.2 var(--disp);margin:34px 0 12px}
.lander h3{font:700 20px/1.3 var(--disp);margin:0 0 6px}
.img-slot{border:2px dashed #C6C6E6;border-radius:16px;background:#fff;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:13.5px;line-height:1.45;padding:18px;aspect-ratio:16/9;margin:6px 0 20px}
.img-slot b{display:block;color:var(--ink);font-size:14.5px;margin-bottom:4px}
.img-slot.sq{aspect-ratio:1/1;max-width:340px}
figure{margin:0 0 20px}
figcaption{font-size:13px;color:var(--muted);margin-top:-12px}
.pull{border-left:4px solid var(--plum);background:#fff;border-radius:0 14px 14px 0;padding:14px 18px;margin:20px 0;font:600 20px/1.4 var(--disp)}
.pull cite{display:block;font:500 13px var(--body);color:var(--muted);font-style:normal;margin-top:6px}
.steps{list-style:none;counter-reset:s;padding:0;margin:14px 0 22px;display:grid;gap:12px}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px 16px 66px;position:relative}
.steps li::before{content:counter(s);position:absolute;left:16px;top:16px;width:36px;height:36px;border-radius:12px;background:var(--plum);color:#fff;display:grid;place-items:center;font:700 18px var(--disp)}
.steps b{display:block;margin-bottom:2px}
.cmp{width:100%;border-collapse:collapse;font-size:15px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:6px 0 22px}
.cmp th,.cmp td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cmp thead th{background:var(--plum-s);font-size:14px}
.cmp tr:last-child td{border-bottom:0}
.cmp .yes{color:var(--sage);font-weight:700}
.cmp .no{color:var(--rust);font-weight:700}
.box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin:22px 0}
.box.plum{background:var(--plum-d);color:#fff;border:0}
.box.plum h2,.box.plum h3{color:#fff;margin-top:0}
.box.plum p{color:#DCDCFF}
.box.plum .cta{background:#fff;color:var(--plum-d)}
.box.plum .cta:hover{background:var(--plum-s)}
.checks{list-style:none;padding:0;margin:0 0 14px}
.checks li{position:relative;padding-left:28px;margin-bottom:8px}
.checks li::before{content:"";position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;background:var(--sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.checks.q li::before{background:var(--coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ctext x='10' y='15' font-family='Arial' font-weight='700' font-size='14' fill='%23fff' text-anchor='middle'%3E%3F%3C/text%3E%3C/svg%3E") center/14px no-repeat}
.cta_block{text-align:center;margin:26px 0}
.cta_block .fine{font-size:13px;color:var(--muted);margin:10px 0 0}
.isi{background:#fff;border:1px solid var(--line);border-left:5px solid var(--coral);border-radius:14px;padding:16px 20px;margin:30px 0;font-size:14.5px;line-height:1.55}
.isi h2{font:700 18px var(--body)!important;margin:0 0 8px!important;letter-spacing:.02em;text-transform:uppercase}
.isi p{margin:0 0 8px}
.isi ul{margin:0 0 8px;padding-left:20px}
.refs{font-size:13.5px;color:var(--muted);border-top:1px solid var(--line);margin-top:30px;padding-top:16px}
.refs h2{font:700 16px var(--body)!important;margin:0 0 8px!important;color:var(--ink)}
.refs ol{padding-left:20px;margin:0}
.refs li{margin-bottom:5px}
sup a{text-decoration:none;font-size:12px;font-weight:700}
.byline_card{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin:28px 0}
.byline_card .photo_slot{width:80px;height:80px}
.byline_card p{margin:0 0 4px;font-size:15px}
.by_label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
/* listicle */
.item{display:grid;grid-template-columns:56px 1fr;gap:16px;margin:30px 0}
.item .n{width:56px;height:56px;border-radius:16px;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 26px var(--disp)}
.item h2{margin:6px 0 10px!important}
.item p:last-child{margin-bottom:0}
@media(max-width:560px){.item{grid-template-columns:minmax(0,1fr);gap:8px}.item .n{width:44px;height:44px;font-size:21px;border-radius:12px}}
.sticky_cta{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:none;box-shadow:0 -6px 20px -10px rgba(31,27,46,.35)}
.sticky_cta .cta{max-width:520px;margin:0 auto;padding:12px 18px;font-size:16px}
.sticky_cta.show{display:block}
body.has-banner .sticky_cta{display:none}

/* ===== Consent banner ===== */
.gr-cc{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;max-width:760px;margin:0 auto;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px -20px rgba(31,27,46,.45);padding:20px 22px;font:15px/1.5 var(--body)}
.gr-cc{max-height:88vh;overflow-y:auto}
.gr-cc[hidden]{display:none}
.gr-cc h2{font:700 19px var(--disp);margin:0 0 6px}
.gr-cc p{margin:0 0 14px;color:var(--muted)}
.gr-cc p a{color:var(--plum)}
.gr-cc .gr-cc-actions{display:flex;flex-wrap:wrap;gap:10px}
.gr-cc button{font:700 15px var(--body);border-radius:999px;padding:11px 18px;cursor:pointer;border:2px solid var(--ink);background:#fff;color:var(--ink);flex:1 1 150px}
.gr-cc button.gr-primary{background:var(--ink);color:#fff}
.gr-cc button.gr-primary:hover{background:var(--plum);border-color:var(--plum)}
.gr-cc button:hover{background:var(--cream)}
.gr-cc .gr-cc-prefs{border-top:1px solid var(--line);margin:4px 0 14px;padding-top:6px}
.gr-cc .gr-cc-prefs[hidden]{display:none}
.gr-cc .switch_row p{font-size:13.5px;margin:0}
.gr-cc .switch_row b{font-size:15px}
.gr-cc .gr-note{font-size:13px;background:var(--plum-s);border-radius:10px;padding:8px 12px;margin:0 0 12px;color:var(--ink)}
@media(max-width:560px){.gr-cc{left:0;right:0;bottom:0;border-radius:16px 16px 0 0;padding:14px 14px calc(12px + env(safe-area-inset-bottom));font-size:14px;line-height:1.45;max-height:70vh}.gr-cc h2{font-size:17px;margin-bottom:4px}.gr-cc p{font-size:13.5px;margin-bottom:10px}.gr-cc button{flex:1 1 calc(50% - 5px);font-size:14px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta,.switch span,.switch span::after{transition:none}}
