/*
Theme Name: Edge Peptides
Template: kadence
Author: Edge Peptides
Description: Edge Peptides brand child theme for Kadence — RUO research-peptide storefront. Palette + typography ported from the site/index.html design reference.
Version: 1.0.1
*/

:root{
  --ep-midnight:#0D1B3E;
  --ep-graphite:#1C2333;
  --ep-ice:#4A9EC4;
  --ep-ice-dark:#3f8bad;
  --ep-steel:#8BA8BE;
  --ep-bg:#F4F6F8;
  --ep-border:#D0DAE3;
}

/* ---- Typography ---- */
body{ font-family:'Inter',sans-serif; color:var(--ep-midnight); background:var(--ep-bg); }
h1,h2,h3,h4,h5,.entry-title,.site-title,.product_title,.woocommerce-loop-product__title,.wp-block-heading{
  font-family:'Space Grotesk',sans-serif; letter-spacing:-0.01em;
}

/* ---- Logo size fix ----
   Kadence's base stylesheet ships a generic `img{height:auto;max-width:100%}`
   responsive-image rule, which beats the original inline height="68" HTML
   attribute (CSS always wins over HTML attributes). The original page CSS only
   sized `.nav-logo svg`, but the live markup is `.nav-logo img` — nothing was
   constraining it, so it rendered at native size and blew out the nav bar. */
.nav-logo img{
  height:68px !important; width:auto !important; max-width:none !important; display:block;
}
.footer-brand img{
  height:57px !important; width:auto !important; max-width:none !important; display:block;
}

/* ---- WP admin toolbar clearance ----
   The WP admin bar (logged-in view only — never shown to real visitors) is
   fixed at top:0 with a higher stacking priority than our nav, so it covers
   the top of the logo/nav while testing. Push our fixed nav down to clear it. */
body.admin-bar nav{ top:32px; }
@media screen and (max-width:782px){
  body.admin-bar nav{ top:46px; }
}

/* ---- Nav-links defensive reassertion ----
   Kadence ships several scoped line-height/padding resets on bare `a{}`
   selectors (buttons, widgets, etc.) that can leak onto plain nav links by
   tag-selector match. Force the layout values the original design relies on. */
.nav-inner{ align-items:center !important; }
.nav-links{ align-items:center !important; overflow:visible !important; }
.nav-links a{ line-height:normal !important; padding-top:0 !important; padding-bottom:4px !important; display:inline-block !important; height:auto !important; }

/* ---- Free-shipping progress bar (cart + mini-cart) ---- */
.ep-ship-bar{ background:var(--ep-bg); border:1px solid var(--ep-border); border-radius:2px; padding:12px 16px; margin:0 0 20px; font-size:13px; color:var(--ep-midnight); }
.ep-ship-bar .ep-ship-msg strong{ color:var(--ep-ice-dark); }
.ep-ship-track{ height:6px; background:var(--ep-border); border-radius:3px; margin-top:8px; overflow:hidden; }
.ep-ship-fill{ height:100%; background:var(--ep-ice); transition:width .3s ease; }
.ep-ship-unlocked{ border-color:var(--ep-ice); background:rgba(74,158,196,.08); }
.ep-ship-unlocked .ep-ship-msg{ color:var(--ep-ice-dark); font-weight:600; }

/* ---- Product trust block ---- */
.ep-trust{ list-style:none; margin:18px 0; padding:14px 18px; border:1px solid var(--ep-border); border-radius:2px; background:var(--ep-bg); }
.ep-trust li{ font-size:13px; color:var(--ep-midnight); padding:4px 0; }

/* ---- First-order popup ---- */
#ep-popup{ position:fixed; inset:0; z-index:99998; background:rgba(13,27,62,.9); display:flex; align-items:center; justify-content:center; font-family:'Inter',sans-serif; padding:20px; }
#ep-popup .ep-popup-box{ background:#fff; max-width:420px; width:100%; padding:36px 32px; border-radius:4px; text-align:center; position:relative; box-shadow:0 20px 60px rgba(0,0,0,.4); }
#ep-popup .ep-popup-close{ position:absolute; top:8px; right:14px; border:none; background:none; font-size:26px; line-height:1; color:var(--ep-steel); cursor:pointer; }
#ep-popup h2{ font-family:'Space Grotesk',sans-serif; color:var(--ep-midnight); font-size:23px; margin:0 0 10px; }
#ep-popup p{ color:#5A6B7A; font-size:14px; margin:0 0 20px; }
#ep-popup .ep-popup-form{ display:flex; flex-direction:column; gap:10px; }
#ep-popup .ep-popup-email{ padding:12px 14px; border:1px solid var(--ep-border); border-radius:2px; font-size:14px; }
#ep-popup .ep-popup-submit{ background:var(--ep-ice); color:#fff; border:none; padding:12px; border-radius:2px; font-weight:600; font-size:14px; cursor:pointer; }
#ep-popup .ep-popup-submit:hover{ background:var(--ep-ice-dark); }
#ep-popup .ep-popup-result{ margin-top:14px; font-size:14px; color:var(--ep-midnight); }
#ep-popup .ep-popup-fine{ margin-top:16px; font-size:11px; color:var(--ep-steel); }

/* ---- Header site-title duplication fix ----
   Kadence's header builder renders the site-title text ("Edge Peptides") next
   to the custom logo by default on every page that uses its default header
   template (i.e. every page except the homepage — front-page.php has its own
   fully custom nav and never touches this markup). The logo image already
   carries the full wordmark, so the separate text is a visible duplicate.
   `.has-logo-image` is the class Kadence itself adds to `.brand` once a
   custom logo is set — scoping to it means this only fires when a logo is
   actually present (the text would still show as intended fallback if not). */
.brand.has-logo-image .site-title-wrap{ display:none; }

/* ---- Header (dark) ---- */
#masthead,.site-header-wrap,.site-main-header-wrap,.site-top-header-wrap,.site-header-row-container-inner{
  background:var(--ep-midnight);
}
.site-header .header-navigation a,.site-header .site-title a,.site-branding a,#masthead a{ color:#fff; }
.site-header .header-navigation a:hover{ color:var(--ep-ice); }

/* ---- Links & accent ---- */
a{ color:var(--ep-ice); }
a:hover{ color:var(--ep-ice-dark); }

/* ---- Buttons ---- */
.button,button,input[type="submit"],.wp-block-button__link,
.woocommerce a.button,.woocommerce button.button,.woocommerce .button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  background:var(--ep-ice); border:1px solid var(--ep-ice); color:#fff; border-radius:2px;
  font-family:'Inter',sans-serif; font-weight:600; letter-spacing:0.02em;
}
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover{
  background:var(--ep-ice-dark); border-color:var(--ep-ice-dark);
}

/* ---- Prices ---- */
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.price{
  color:var(--ep-midnight); font-family:'Space Grotesk',sans-serif; font-weight:700;
}

/* ---- Product cards ---- */
.woocommerce ul.products li.product{ border:1px solid var(--ep-border); border-radius:2px; padding-bottom:8px; background:#fff; transition:box-shadow .2s,transform .2s; }
.woocommerce ul.products li.product:hover{ box-shadow:0 10px 30px rgba(13,27,62,.12); transform:translateY(-3px); }

/* ---- RUO top bar ---- */
.ep-ruo-bar{ background:var(--ep-graphite); color:var(--ep-steel); text-align:center; font-size:12px; padding:8px 16px; letter-spacing:.02em; }
.ep-ruo-bar strong{ color:#fff; }

/* ---- Footer RUO disclaimer ---- */
.ep-footer-ruo{ background:var(--ep-midnight); color:var(--ep-steel); text-align:center; font-size:11px; line-height:1.7; padding:24px 16px; }
.ep-footer-ruo strong{ color:#fff; }

/* ---- Category archive hero (Popular Peptides, Bioregulators, etc.) ---- */
.ep-cat-hero{ background:var(--ep-midnight); text-align:center; padding:56px 24px 48px; margin:0 0 32px; }
.ep-cat-hero-eyebrow{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ep-ice); margin-bottom:14px; }
.ep-cat-hero-title{ font-family:'Space Grotesk',sans-serif; font-size:32px; font-weight:700; color:#fff; margin-bottom:12px; }
.ep-cat-hero-sub{ color:var(--ep-steel); font-size:15px; line-height:1.6; max-width:520px; margin:0 auto; }

/* ---- Bulk pricing table (product page) ---- */
.ep-bulk-table{ margin:20px 0; border:1px solid var(--ep-border); border-radius:2px; overflow:hidden; max-width:360px; }
.ep-bulk-table-label{ background:var(--ep-midnight); color:#fff; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; padding:8px 14px; }
.ep-bulk-table table{ width:100%; border-collapse:collapse; font-size:13px; }
.ep-bulk-table th{ background:var(--ep-bg); color:var(--ep-midnight); text-align:left; padding:8px 14px; font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:.03em; }
.ep-bulk-table td{ padding:8px 14px; border-top:1px solid var(--ep-border); color:var(--ep-midnight); }
.ep-bulk-table tr:nth-child(2) td{ font-weight:700; }
