/*
 * uspalcohol.com - Ultra Pure
 * Site stylesheet. Loaded by the UPA Styles plugin on every front-end page.
 *
 * TO RESKIN: change the five brand values in :root below. Nothing else needs editing.
 * After editing, bump UPA_STYLES_VER in upa-styles.php - WP Engine serves static
 * assets with a 365-day browser cache and only the version string busts it.
 */

/* ==========================================================================
   uspalcohol.com — Ultra Pure
   SWAP THESE FIVE HEX VALUES to match bulkalcohol.com exactly and the whole
   page reskins. Everything below inherits from them.
   ========================================================================== */
:root{
  --upa-navy:#16293D;      /* headings, dark sections, nav */
  --upa-navy-2:#24405C;    /* secondary navy */
  --upa-gold:#C08A2E;      /* accent, CTA, rules */
  --upa-ink:#1B2430;       /* body copy */
  --upa-mute:#5B6B7C;      /* secondary copy */
  --upa-line:#DCE3EA;
  --upa-panel:#F4F7FA;     /* clinical light panel — the pharma cue */
  --upa-panel-2:#E9EFF5;
  --upa-white:#FFFFFF;
  --upa-ok:#1B7F4B;
  --upa-warn:#9A6B00;
}
.upa{color:var(--upa-ink);font:16px/1.65 "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.upa *{box-sizing:border-box}
.upa-wrap{max-width:1140px;margin:0 auto;padding:0 24px}

/* --- anchor nav --- */
.upa-nav{position:sticky;top:0;z-index:50;background:var(--upa-navy);border-bottom:3px solid var(--upa-gold)}
.upa-nav .upa-wrap{display:flex;align-items:center;gap:26px;height:60px;overflow-x:auto}
.upa-nav a{color:#D8E2EC;text-decoration:none;font-size:13.5px;font-weight:600;letter-spacing:.02em;white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent}
.upa-nav a:hover{color:#fff;border-bottom-color:var(--upa-gold)}
.upa-nav .upa-brand{color:#fff;font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;margin-right:auto}
.upa-nav .upa-brand span{color:var(--upa-gold)}
.upa-nav .upa-tel{color:var(--upa-gold);font-weight:700;font-size:13.5px}

/* --- hero --- */
.upa-hero{background:linear-gradient(160deg,var(--upa-navy) 0%,var(--upa-navy-2) 100%);color:#fff;padding:76px 0 68px}
.upa-hero .upa-eyebrow{color:var(--upa-gold);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin:0 0 14px}
.upa-hero h1{font-size:44px;line-height:1.14;margin:0 0 18px;font-weight:700;letter-spacing:-.02em;color:#fff;max-width:20ch}
.upa-hero h1 em{font-style:normal;color:var(--upa-gold)}
.upa-hero p.upa-sub{font-size:19px;line-height:1.55;color:#C9D6E2;max-width:62ch;margin:0 0 30px}
.upa-btn{display:inline-block;background:var(--upa-gold);color:#12202F !important;padding:14px 28px;border-radius:3px;font-weight:700;text-decoration:none;font-size:15px;letter-spacing:.01em;border:2px solid var(--upa-gold)}
.upa-btn:hover{background:#D49B3C;border-color:#D49B3C}
.upa-btn-ghost{display:inline-block;background:transparent;color:#fff !important;padding:14px 28px;border:2px solid rgba(255,255,255,.42);border-radius:3px;font-weight:700;text-decoration:none;font-size:15px;margin-left:10px}
.upa-btn-ghost:hover{border-color:#fff}
.upa-hero .upa-tel-line{margin:18px 0 0;font-size:14px;color:#9FB2C4}
.upa-hero .upa-tel-line a{color:var(--upa-gold);text-decoration:none;font-weight:700}

/* --- section frame --- */
.upa-sec{padding:64px 0;border-bottom:1px solid var(--upa-line)}
.upa-sec.upa-alt{background:var(--upa-panel)}
.upa-sec.upa-dark{background:var(--upa-navy);color:#D8E2EC;border-bottom:none}
.upa-sec.upa-dark h2{color:#fff}
.upa-kicker{color:var(--upa-gold);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin:0 0 10px}
.upa-sec h2{font-size:31px;line-height:1.22;color:var(--upa-navy);margin:0 0 14px;font-weight:700;letter-spacing:-.015em;max-width:26ch}
.upa-sec h2 em{font-style:normal;color:var(--upa-gold)}
.upa-lede{font-size:17.5px;color:var(--upa-mute);max-width:74ch;margin:0 0 30px;line-height:1.6}
.upa-sec.upa-dark .upa-lede{color:#A9BCCD}
.upa-sec h3{font-size:19px;color:var(--upa-navy);margin:26px 0 8px;font-weight:700}
.upa-sec.upa-dark h3{color:#fff}
.upa-sec p{margin:0 0 14px}

/* --- grade cards --- */
.upa-grid{display:grid;gap:18px}
.upa-grid-3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.upa-grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
@media(min-width:900px){.upa-grid-2{grid-template-columns:repeat(2,1fr)}}
.upa-grid-4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.upa-card{background:var(--upa-white);border:1px solid var(--upa-line);border-top:4px solid var(--upa-gold);border-radius:4px;padding:24px 24px 26px}
.upa-card h3{margin:0 0 4px;font-size:20px;color:var(--upa-navy)}
.upa-card .upa-mono{font-family:"SFMono-Regular",Consolas,Menlo,monospace;font-size:12.5px;color:var(--upa-gold);letter-spacing:.06em;text-transform:uppercase;font-weight:700;margin:0 0 12px}
.upa-card p{font-size:14.5px;color:var(--upa-mute);margin:0 0 12px}
.upa-card ul{margin:0;padding-left:18px;font-size:14px;color:var(--upa-ink)}
.upa-card li{margin-bottom:5px}

/* --- spec tables --- */
.upa-tablewrap{overflow-x:auto;border:1px solid var(--upa-line);border-radius:4px;background:#fff}
.upa-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}
.upa-table th{background:var(--upa-navy);color:#fff;text-align:left;padding:12px 16px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.upa-table td{padding:12px 16px;border-bottom:1px solid var(--upa-line);vertical-align:top}
.upa-table tbody tr:nth-child(even) td{background:var(--upa-panel)}
.upa-table td:first-child{font-weight:600;color:var(--upa-navy)}
.upa-table .upa-num{font-family:"SFMono-Regular",Consolas,Menlo,monospace;font-size:13.5px}
.upa-cap{font-size:13px;color:var(--upa-mute);margin:10px 0 0;font-style:italic}

/* --- callouts --- */
.upa-note{border-left:4px solid var(--upa-gold);background:var(--upa-panel);padding:20px 24px;border-radius:0 4px 4px 0;margin:26px 0}
.upa-note strong{color:var(--upa-navy);display:block;margin-bottom:6px;font-size:15.5px}
.upa-note p{margin:0 0 10px;font-size:15px}.upa-note p:last-child{margin:0}
.upa-note.upa-flag{border-left-color:#B42318;background:#FDF2F0}
.upa-note.upa-flag strong{color:#B42318}

/* --- credential strip --- */
.upa-creds{display:flex;flex-wrap:wrap;gap:10px}
.upa-cred{background:#fff;border:1px solid var(--upa-line);border-radius:3px;padding:9px 15px;font-size:13px;font-weight:700;color:var(--upa-navy);letter-spacing:.02em}
.upa-sec.upa-dark .upa-cred{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:#fff}

/* --- numbered steps --- */
.upa-steps{counter-reset:s;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.upa-step{counter-increment:s;position:relative;padding-top:44px}
.upa-step::before{content:counter(s,decimal-leading-zero);position:absolute;top:0;left:0;font-size:26px;font-weight:700;color:var(--upa-gold);font-family:"SFMono-Regular",Consolas,monospace}
.upa-step h3{margin:0 0 6px;font-size:17px}
.upa-step p{font-size:14.5px;color:var(--upa-mute);margin:0}

/* --- FAQ --- */
.upa-faq details{border-bottom:1px solid var(--upa-line);padding:18px 0}
.upa-faq summary{cursor:pointer;font-weight:700;color:var(--upa-navy);font-size:16.5px;list-style:none;display:flex;gap:14px;align-items:flex-start}
.upa-faq summary::-webkit-details-marker{display:none}
.upa-faq summary::before{content:"+";color:var(--upa-gold);font-weight:700;font-size:20px;line-height:1.1;flex:none}
.upa-faq details[open] summary::before{content:"\2013"}
.upa-faq details > *:not(summary){margin-top:12px;padding-left:28px;font-size:15px;color:var(--upa-mute)}

/* --- CTA / form --- */
.upa-cta{background:var(--upa-navy);color:#fff;padding:68px 0}
.upa-cta h2{color:#fff;font-size:32px;margin:0 0 12px;max-width:24ch}
.upa-cta h2 em{font-style:normal;color:var(--upa-gold)}
.upa-cta p{color:#B4C4D3;font-size:17px;max-width:60ch;margin:0 0 26px}
.upa-formbox{background:#fff;border-radius:5px;padding:30px}
.upa-formbox h3{color:var(--upa-navy);margin:0 0 6px;font-size:20px}
.upa-formbox p.upa-formsub{color:var(--upa-mute);font-size:14.5px;margin:0 0 20px}

/* --- footer --- */
.upa-foot{background:#0F1D2B;color:#8DA2B6;padding:52px 0 30px;font-size:14px}
.upa-foot a{color:#C3D2E0;text-decoration:none}
.upa-foot a:hover{color:var(--upa-gold)}
.upa-foot h4{color:#fff;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.upa-foot ul{list-style:none;margin:0;padding:0}
.upa-foot li{margin-bottom:8px}
.upa-foot .upa-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:34px;padding-top:20px;font-size:12.5px;color:#6F869C}

@media(max-width:780px){
  .upa-hero h1{font-size:32px}
  .upa-sec h2{font-size:25px}
  .upa-sec{padding:46px 0}
  .upa-btn-ghost{margin:10px 0 0;display:block;text-align:center}
}
