/* ==========================================
   GGDrop Promotional Site — Shared Stylesheet
   Project: billysheahan.com | 2026
   ========================================== */

/* --- Reset --- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

/* --- Custom Properties --- */
:root{
    --gd-bg-base:#0D0D14;
    --gd-bg-card:#161622;
    --gd-accent:#FF6B35;
    --gd-accent-light:#FF8C5A;
    --gd-text-primary:#FFFFFF;
    --gd-text-muted:#A0A0B0;
    --gd-bg-promo:#1E1E2E;
    --gd-success:#2ECC71;
    --gd-divider:#2A2A3E;
    --gd-ff-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
    --gd-ff-mono:'JetBrains Mono','Fira Code','Courier New',monospace;
    --gd-radius-s:6px;
    --gd-radius-m:8px;
    --gd-radius-l:12px;
    --gd-radius-xl:16px;
    --gd-gap-xs:0.25rem;
    --gd-gap-s:0.5rem;
    --gd-gap-m:1rem;
    --gd-gap-l:1.5rem;
    --gd-gap-xl:2rem;
    --gd-gap-2xl:3rem;
    --gd-gap-3xl:4rem;
    --gd-gap-4xl:6rem;
    --gd-max-w:1100px;
    --gd-mast-h:72px;
    --gd-ease:0.3s ease
}

/* --- Base --- */
html{scroll-behavior:smooth;scroll-padding-top:var(--gd-mast-h)}
body{font-family:var(--gd-ff-body);font-size:1rem;line-height:1.7;color:var(--gd-text-primary);background-color:var(--gd-bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block}
a{color:var(--gd-accent);text-decoration:none;transition:color var(--gd-ease)}
a:hover{color:var(--gd-accent-light)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gd-accent);outline-offset:2px;border-radius:var(--gd-radius-s)}

/* --- Utilities --- */
.gd-container{width:100%;max-width:var(--gd-max-w);margin:0 auto;padding:0 var(--gd-gap-l)}
.gd-mono{font-family:var(--gd-ff-mono)}
.gd-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* --- Typography --- */
.gd-heading{font-weight:700;font-size:1.5rem;line-height:1.3;margin-bottom:var(--gd-gap-l);color:var(--gd-text-primary)}
@media(min-width:640px){.gd-heading{font-size:1.75rem}}
@media(min-width:1024px){.gd-heading{font-size:2rem}}

/* --- Buttons --- */
.gd-btn{display:inline-flex;align-items:center;justify-content:center;padding:0.75rem 1.75rem;font-family:var(--gd-ff-body);font-size:0.9375rem;font-weight:600;border-radius:var(--gd-radius-m);border:none;cursor:pointer;transition:all var(--gd-ease);text-decoration:none;line-height:1.4;white-space:nowrap}
.gd-btn--accent{background-color:var(--gd-accent);color:#fff}
.gd-btn--accent:hover{background-color:var(--gd-accent-light);color:#fff}
.gd-btn--outline{background-color:transparent;color:var(--gd-text-primary);border:2px solid var(--gd-divider)}
.gd-btn--outline:hover{border-color:var(--gd-accent);color:var(--gd-accent)}
.gd-btn--sm{padding:0.5rem 1.125rem;font-size:0.8125rem}
.gd-btn--copied{background-color:var(--gd-success) !important}
.gd-cta-wrap{text-align:center;margin-top:var(--gd-gap-2xl)}

/* --- Header --- */
.gd-mast{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--gd-mast-h);background-color:rgba(13,13,20,0.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:background-color var(--gd-ease),border-color var(--gd-ease)}
.gd-mast--scrolled{background-color:rgba(13,13,20,0.95);border-bottom-color:var(--gd-divider)}
.gd-mast__inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--gd-max-w);margin:0 auto;padding:0 var(--gd-gap-l);height:100%;position:relative}
.gd-mast__brand{flex-shrink:0}
.gd-mast__brand img{display:block}
.gd-mast__menu{display:flex;align-items:center;gap:var(--gd-gap-xl)}
.gd-mast__nav{display:flex;gap:var(--gd-gap-xl)}
.gd-mast__link{color:var(--gd-text-muted);font-weight:500;font-size:0.9375rem;transition:color var(--gd-ease)}
.gd-mast__link:hover,.gd-mast__link--current{color:var(--gd-text-primary)}
.gd-mast__hamburger{display:none}
.gd-mast__bar{display:block;width:100%;height:2px;background-color:var(--gd-text-primary);border-radius:2px;transition:transform var(--gd-ease),opacity var(--gd-ease)}

@media(max-width:767px){
    .gd-mast__menu{display:none;flex-direction:column;position:absolute;top:var(--gd-mast-h);left:0;right:0;background-color:rgba(13,13,20,0.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:var(--gd-gap-l);gap:var(--gd-gap-l);border-bottom:1px solid var(--gd-divider);align-items:stretch}
    .gd-mast--open .gd-mast__menu{display:flex}
    .gd-mast__nav{flex-direction:column;gap:var(--gd-gap-m)}
    .gd-mast__link{font-size:1.0625rem;padding:var(--gd-gap-s) 0}
    .gd-mast__cta{text-align:center;margin-top:var(--gd-gap-s)}
    .gd-mast__hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:6px}
    .gd-mast--open .gd-mast__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
    .gd-mast--open .gd-mast__bar:nth-child(2){opacity:0}
    .gd-mast--open .gd-mast__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* --- Hero / Showcase --- */
.gd-showcase{padding:calc(var(--gd-mast-h) + var(--gd-gap-3xl)) 0 var(--gd-gap-3xl);background:radial-gradient(ellipse at 50% 20%,rgba(255,107,53,0.07) 0%,transparent 65%),var(--gd-bg-base);text-align:center;min-height:100svh;display:flex;align-items:center}
.gd-showcase--compact{min-height:auto;padding-top:calc(var(--gd-mast-h) + var(--gd-gap-3xl));padding-bottom:var(--gd-gap-3xl)}
.gd-showcase__content{width:100%;max-width:680px;margin:0 auto}
.gd-showcase__logo{margin:0 auto var(--gd-gap-xl);width:140px;height:auto}
.gd-showcase__title{font-size:1.625rem;font-weight:700;line-height:1.25;margin-bottom:var(--gd-gap-m)}
.gd-showcase__subtitle{font-size:1.0625rem;color:var(--gd-text-muted);margin-bottom:var(--gd-gap-2xl)}
.gd-showcase__cta-group{display:flex;flex-direction:column;gap:var(--gd-gap-m);margin-top:var(--gd-gap-xl)}

@media(min-width:480px){.gd-showcase__cta-group{flex-direction:row;justify-content:center}}
@media(min-width:640px){.gd-showcase__logo{width:180px}.gd-showcase__title{font-size:2rem}}
@media(min-width:1024px){.gd-showcase{padding-top:calc(var(--gd-mast-h) + var(--gd-gap-4xl));padding-bottom:var(--gd-gap-4xl)}.gd-showcase__logo{width:200px}.gd-showcase__title{font-size:2.5rem}}

/* --- Promo Code Widget --- */
.gd-voucher{background-color:var(--gd-bg-promo);border:2px solid var(--gd-accent);border-radius:var(--gd-radius-xl);padding:var(--gd-gap-l);max-width:520px;margin:0 auto;text-align:center}
.gd-voucher__header{display:flex;align-items:center;justify-content:center;gap:var(--gd-gap-m);margin-bottom:var(--gd-gap-l);flex-wrap:wrap}
.gd-voucher__badge{font-size:0.875rem;font-weight:600;color:var(--gd-success)}
.gd-voucher__check{font-size:0.8125rem;color:var(--gd-text-muted)}
.gd-voucher__row{display:flex;gap:var(--gd-gap-m);align-items:stretch;margin-bottom:var(--gd-gap-l)}
.gd-voucher__code{flex:1;display:flex;align-items:center;justify-content:center;background-color:var(--gd-bg-base);border:1px solid var(--gd-divider);border-radius:var(--gd-radius-m);font-family:var(--gd-ff-mono);font-size:1.25rem;font-weight:700;color:var(--gd-text-primary);padding:0.75rem var(--gd-gap-m);letter-spacing:0.04em;user-select:all;-webkit-user-select:all}
.gd-voucher__copy{flex-shrink:0;min-width:120px}
.gd-voucher__offer{font-size:0.9375rem;color:var(--gd-text-primary);margin-bottom:var(--gd-gap-xs);font-weight:500}
.gd-voucher__eligibility{font-size:0.8125rem;color:var(--gd-text-muted)}

@media(min-width:480px){.gd-voucher__code{font-size:1.5rem}.gd-voucher__copy{min-width:140px}}

/* --- Intro --- */
.gd-intro{padding:var(--gd-gap-3xl) 0}
.gd-intro p{color:var(--gd-text-muted);margin-bottom:var(--gd-gap-l);max-width:800px}
.gd-intro p:last-child{margin-bottom:0}

/* --- Content Section Spacing --- */
.gd-pathway,.gd-reward-panel,.gd-intel,.gd-policy-grid,.gd-roster,.gd-value-panel,.gd-trust-signal,.gd-queries,.gd-troubleshoot{padding:var(--gd-gap-3xl) 0}
.gd-pathway p,.gd-reward-panel__text p,.gd-intel p,.gd-value-panel p,.gd-trust-signal p{color:var(--gd-text-muted);margin-bottom:var(--gd-gap-l);max-width:800px}

/* Alternating backgrounds */
.gd-pathway,.gd-intel,.gd-roster,.gd-queries{background-color:var(--gd-bg-card)}

/* --- Activation Steps --- */
.gd-pathway__lead{margin-bottom:var(--gd-gap-2xl)}
.gd-pathway__steps{display:flex;flex-direction:column;gap:var(--gd-gap-xl);margin-bottom:var(--gd-gap-xl)}
.gd-pathway__step{display:flex;gap:var(--gd-gap-l);align-items:flex-start}
.gd-pathway__marker{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;background-color:var(--gd-accent);color:#fff;font-weight:700;font-size:1.125rem;border-radius:50%;line-height:1}
.gd-pathway__detail h3{font-size:1.0625rem;font-weight:600;margin-bottom:var(--gd-gap-s);color:var(--gd-text-primary)}
.gd-pathway__detail p{margin-bottom:0}
.gd-pathway__note{border-left:3px solid var(--gd-accent);padding-left:var(--gd-gap-l);margin-top:var(--gd-gap-xl);font-size:0.9375rem;color:var(--gd-text-muted)}

/* Condensed ordered list (promo page) */
.gd-pathway--condensed p{color:var(--gd-text-muted);margin-bottom:var(--gd-gap-l);max-width:800px}
.gd-pathway__ordered{display:flex;flex-direction:column;gap:var(--gd-gap-l);list-style:none;counter-reset:gd-step;margin:var(--gd-gap-xl) 0}
.gd-pathway__ordered li{counter-increment:gd-step;padding-left:3.5rem;position:relative;color:var(--gd-text-muted);line-height:1.7}
.gd-pathway__ordered li::before{content:counter(gd-step);position:absolute;left:0;top:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:var(--gd-accent);color:#fff;font-weight:700;font-size:0.875rem;border-radius:50%}
.gd-pathway__ordered li strong{color:var(--gd-text-primary)}

/* --- Bonus Detail Tiles --- */
.gd-reward-panel__grid{display:grid;grid-template-columns:1fr;gap:var(--gd-gap-m);margin-bottom:var(--gd-gap-2xl)}
.gd-tile{background-color:var(--gd-bg-card);border:1px solid var(--gd-divider);border-radius:var(--gd-radius-l);padding:var(--gd-gap-l);display:flex;flex-direction:column;gap:var(--gd-gap-s);transition:border-color var(--gd-ease)}
.gd-tile:hover{border-color:rgba(255,107,53,0.3)}
.gd-tile__label{font-size:0.8125rem;color:var(--gd-text-muted);text-transform:uppercase;letter-spacing:0.05em;font-weight:500}
.gd-tile__value{font-size:1.0625rem;font-weight:600;color:var(--gd-text-primary)}
.gd-tag--active{color:var(--gd-success)}

@media(min-width:480px){.gd-reward-panel__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.gd-reward-panel__grid{grid-template-columns:repeat(3,1fr)}}

/* --- Data Tables --- */
.gd-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--gd-gap-xl) 0;border-radius:var(--gd-radius-l);border:1px solid var(--gd-divider)}
.gd-data-table{width:100%;border-collapse:collapse;min-width:480px}
.gd-data-table caption{text-align:left;font-size:0.8125rem;color:var(--gd-text-muted);padding:var(--gd-gap-m) var(--gd-gap-l) var(--gd-gap-s);caption-side:top}
.gd-data-table th,.gd-data-table td{padding:var(--gd-gap-m) var(--gd-gap-l);text-align:left;border-bottom:1px solid var(--gd-divider)}
.gd-data-table th{font-weight:600;font-size:0.8125rem;color:var(--gd-text-muted);text-transform:uppercase;letter-spacing:0.03em;background-color:var(--gd-bg-card)}
.gd-data-table td{font-size:0.9375rem;color:var(--gd-text-primary)}
.gd-data-table tbody tr{transition:background-color var(--gd-ease)}
.gd-data-table tbody tr:hover{background-color:rgba(255,107,53,0.04)}
.gd-data-table tbody tr:last-child td{border-bottom:none}
.gd-data-table--roster{min-width:640px}
.gd-data-table--roster td code{font-size:1rem;font-weight:700;color:var(--gd-accent)}

/* --- About / Intel --- */
.gd-intel p:last-child,.gd-value-panel p:last-child,.gd-trust-signal p:last-child{margin-bottom:0}

/* --- Policy Grid extra text --- */
.gd-policy-grid>.gd-container>p{color:var(--gd-text-muted);margin-bottom:var(--gd-gap-l);max-width:800px}
.gd-policy-grid>.gd-container>p:last-child{margin-bottom:0}

/* --- Roster extra text --- */
.gd-roster>.gd-container>p{color:var(--gd-text-muted);margin-bottom:var(--gd-gap-l);max-width:800px}

/* --- FAQ Accordion --- */
.gd-queries__list{display:flex;flex-direction:column;gap:var(--gd-gap-m)}
.gd-queries__item{background-color:var(--gd-bg-base);border:1px solid var(--gd-divider);border-radius:var(--gd-radius-l);overflow:hidden;transition:border-color var(--gd-ease)}
.gd-queries__item:hover,.gd-queries__item[open]{border-color:var(--gd-accent)}
.gd-queries__trigger{display:flex;align-items:center;justify-content:space-between;padding:var(--gd-gap-l);font-weight:600;font-size:0.9375rem;color:var(--gd-text-primary);cursor:pointer;list-style:none;gap:var(--gd-gap-m);line-height:1.4}
.gd-queries__trigger::-webkit-details-marker{display:none}
.gd-queries__trigger::marker{display:none;content:""}
.gd-queries__trigger::after{content:'+';font-size:1.375rem;font-weight:400;color:var(--gd-accent);flex-shrink:0;width:28px;text-align:center;transition:transform var(--gd-ease)}
.gd-queries__item[open] .gd-queries__trigger::after{content:'−'}
.gd-queries__content{padding:0 var(--gd-gap-l) var(--gd-gap-l);animation:gd-slide-in 0.3s ease}
.gd-queries__content p{color:var(--gd-text-muted);margin:0;line-height:1.7}
@keyframes gd-slide-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

@media(min-width:640px){.gd-queries__trigger{font-size:1rem}}

/* --- Last Updated / Freshness --- */
.gd-freshness{padding:var(--gd-gap-2xl) 0;border-top:1px solid var(--gd-divider)}
.gd-freshness__date{font-size:0.875rem;color:var(--gd-text-muted);text-align:center}

/* --- Troubleshooting --- */
.gd-troubleshoot>.gd-container>p{color:var(--gd-text-muted);margin-bottom:var(--gd-gap-l);max-width:800px}
.gd-troubleshoot__list{list-style:none;display:flex;flex-direction:column;gap:var(--gd-gap-l);margin:var(--gd-gap-xl) 0}
.gd-troubleshoot__list li{color:var(--gd-text-muted);padding-left:var(--gd-gap-l);border-left:3px solid var(--gd-divider);transition:border-color var(--gd-ease);line-height:1.7}
.gd-troubleshoot__list li:hover{border-left-color:var(--gd-accent)}
.gd-troubleshoot__list li strong{color:var(--gd-text-primary)}
.gd-troubleshoot__list li code{background-color:var(--gd-bg-promo);padding:0.15em 0.4em;border-radius:var(--gd-radius-s);font-size:0.9em}

/* --- Footer --- */
.gd-foundation{background-color:var(--gd-bg-card);border-top:1px solid var(--gd-divider);padding:var(--gd-gap-3xl) 0 var(--gd-gap-xl)}
.gd-foundation__columns{display:grid;grid-template-columns:1fr;gap:var(--gd-gap-2xl);margin-bottom:var(--gd-gap-3xl)}
.gd-foundation__col p{color:var(--gd-text-muted);font-size:0.875rem;margin-top:var(--gd-gap-m)}
.gd-foundation__col h3{font-size:0.9375rem;font-weight:600;margin-bottom:var(--gd-gap-m);color:var(--gd-text-primary)}
.gd-foundation__col nav{display:flex;flex-direction:column;gap:var(--gd-gap-s)}
.gd-foundation__col nav a{color:var(--gd-text-muted);font-size:0.875rem;transition:color var(--gd-ease)}
.gd-foundation__col nav a:hover{color:var(--gd-accent)}
.gd-foundation__disclaimer{border-top:1px solid var(--gd-divider);border-bottom:1px solid var(--gd-divider);padding:var(--gd-gap-xl) 0;margin-bottom:var(--gd-gap-xl);text-align:center}
.gd-foundation__warn-text{font-weight:600;font-size:1rem;color:var(--gd-accent);margin-bottom:var(--gd-gap-m)}
.gd-foundation__disclaimer p{color:var(--gd-text-muted);font-size:0.8125rem;margin-bottom:var(--gd-gap-m)}
.gd-foundation__disclaimer p:last-of-type{margin-bottom:0}
.gd-foundation__disclaimer a{font-weight:500}
.gd-foundation__org-badges{display:flex;align-items:center;justify-content:center;gap:var(--gd-gap-l);margin-top:var(--gd-gap-l);flex-wrap:wrap}
.gd-foundation__legal{text-align:center}
.gd-foundation__legal p{font-size:0.75rem;color:var(--gd-text-muted);margin-bottom:var(--gd-gap-xs)}

@media(min-width:768px){.gd-foundation__columns{grid-template-columns:2fr 1fr 1fr}}

/* --- Scroll to Top --- */
.gd-rise-btn{position:fixed;bottom:var(--gd-gap-xl);right:var(--gd-gap-xl);width:46px;height:46px;display:flex;align-items:center;justify-content:center;background-color:var(--gd-accent);color:#fff;border:none;border-radius:50%;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity var(--gd-ease),visibility var(--gd-ease),transform var(--gd-ease),background-color var(--gd-ease);z-index:900;box-shadow:0 4px 16px rgba(0,0,0,0.35)}
.gd-rise-btn:hover{background-color:var(--gd-accent-light)}
.gd-rise-btn--visible{opacity:1;visibility:visible;transform:translateY(0)}

/* --- Legal Pages --- */
.gd-legal{padding:calc(var(--gd-mast-h) + var(--gd-gap-3xl)) 0 var(--gd-gap-3xl)}
.gd-legal__title{font-size:1.75rem;font-weight:700;margin-bottom:var(--gd-gap-s)}
.gd-legal__updated{font-size:0.875rem;color:var(--gd-text-muted);margin-bottom:var(--gd-gap-3xl)}
.gd-legal h2{font-size:1.125rem;font-weight:600;margin-top:var(--gd-gap-2xl);margin-bottom:var(--gd-gap-m);color:var(--gd-text-primary)}
.gd-legal p,.gd-legal li{color:var(--gd-text-muted);margin-bottom:var(--gd-gap-m);max-width:800px;line-height:1.7}
.gd-legal ul{list-style:disc;padding-left:var(--gd-gap-xl);margin-bottom:var(--gd-gap-m)}
.gd-legal ul li{margin-bottom:var(--gd-gap-s)}

@media(min-width:768px){.gd-legal__title{font-size:2.25rem}.gd-legal h2{font-size:1.25rem}}

/* --- Mobile full-width buttons --- */
@media(max-width:479px){
    .gd-showcase__cta-group .gd-btn,.gd-cta-wrap .gd-btn{width:100%}
}

/* --- Print --- */
@media print{
    .gd-mast,.gd-rise-btn{display:none !important}
    body{background:#fff;color:#000}
    .gd-voucher{border-color:#333}
    .gd-showcase{min-height:auto;background:none}
}