/*
 * Bully Blast public frame: the header, navigation and footer (Build 298).
 * Shared by the storefront (body.bb-store), WooCommerce's framed pages (body.bb-store) and the Bully Blast theme
 * (body.bb-site). The rules up to "Build 298 additions" are the storefront's own header and footer rules, moved here
 * unchanged from store.css (only the scope selector is widened); the storefront looks exactly as before.
 * Ported from the approved Build 263 prototype's public shell (app/styles/native.css, shells.css).
 */
:is(body.bb-store,body.bb-site){--t-sidebar:#141416;--radius:6px;}
body.bb-site{--yellow:#f3ea22;--ink:#0c0c0d;}
/* ---- public shell (header / footer) ---- */
:is(.bb-store,.bb-site) .bb-pubshell{display:flex;flex-direction:column;min-height:100vh;}
:is(.bb-store,.bb-site) .bb-pubshell > .bb-outlet{flex:1 0 auto;}
:is(.bb-store,.bb-site) .bb-pub-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:22px;background:var(--t-sidebar);color:#fff;padding:0 22px;height:60px;}
:is(.bb-store,.bb-site) .bb-pub-header .brand-logo{display:flex;align-items:center;padding:0;}
:is(.bb-store,.bb-site) .bb-pub-header .brand-logo img{height:30px;width:auto;display:block;}
:is(.bb-store,.bb-site) .bb-pub-nav{display:flex;gap:4px;flex:1;}
:is(.bb-store,.bb-site) .bb-pub-nav a{color:#cfd3da;text-decoration:none;font-size:13.5px;font-weight:600;padding:8px 12px;border-radius:var(--radius);}
:is(.bb-store,.bb-site) .bb-pub-nav a:hover{color:#fff;background:rgba(255,255,255,.08);}
:is(.bb-store,.bb-site) .bb-pub-nav a.on{color:var(--ink);background:var(--yellow);}
:is(.bb-store,.bb-site) .bb-pub-header .right{margin-left:auto;display:flex;align-items:center;gap:14px;}
:is(.bb-store,.bb-site) .bb-pub-header .right .bb-cart{color:#fff;font-size:13.5px;font-weight:600;text-decoration:none;}
:is(.bb-store,.bb-site) .bb-cartn{background:var(--yellow);color:var(--ink);border-radius:20px;font-size:11px;font-weight:800;padding:1px 7px;margin-left:2px;}
:is(.bb-store,.bb-site) .bb-pub-footer{background:var(--t-sidebar);color:#9aa0aa;font-size:12.5px;text-align:left;padding:0;}
:is(.bb-store,.bb-site) .bb-pub-footer .foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;max-width:1100px;margin:0 auto;padding:34px 22px 22px;}
:is(.bb-store,.bb-site) .bb-pub-footer .foot-col h4{color:#fff;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;}
:is(.bb-store,.bb-site) .bb-pub-footer .foot-col a{display:block;color:#9aa0aa;text-decoration:none;font-size:13px;padding:4px 0;}
:is(.bb-store,.bb-site) .bb-pub-footer .foot-col a:hover{color:var(--yellow);}
:is(.bb-store,.bb-site) .bb-pub-footer .foot-base{border-top:1px solid rgba(255,255,255,.1);padding:16px 22px;text-align:center;color:#7c828c;font-size:12px;}
@media (max-width:720px){:is(.bb-store,.bb-site) .bb-pub-footer .foot-cols{grid-template-columns:repeat(2,1fr);}}
/* Build 288: the prototype hides every nav link on phones; with only working links shown there are two, so they stay */
@media (max-width:480px){:is(.bb-store,.bb-site) .bb-pub-header{gap:12px;padding:0 14px;} :is(.bb-store,.bb-site) .bb-pub-nav a{padding:8px 9px;}}

/* header: account link (WooCommerce's own account page), styled as the prototype's Sign In */
:is(.bb-store,.bb-site) .bb-pub-header .right .bb-acct{color:#fff;font-size:13px;font-weight:700;text-decoration:none;border:1.5px solid rgba(255,255,255,.28);border-radius:var(--radius);padding:6px 12px;white-space:nowrap;}
:is(.bb-store,.bb-site) .bb-pub-header .right .bb-acct:hover{border-color:#fff;}
:is(.bb-store,.bb-site) .bb-pub-header .right .bb-cart{white-space:nowrap;}
:is(.bb-store,.bb-site) .bb-pub-nav a:focus-visible,:is(.bb-store,.bb-site) .bb-pub-header .right a:focus-visible,:is(.bb-store,.bb-site) .bb-pub-footer a:focus-visible{outline:2px solid var(--yellow);outline-offset:2px;}
@media (max-width:480px){:is(.bb-store,.bb-site) .bb-pub-header .brand-logo img{height:26px;} :is(.bb-store,.bb-site) .bb-pub-header .right{gap:10px;} :is(.bb-store,.bb-site) .bb-pub-header .right .bb-acct{padding:5px 9px;font-size:12px;}}
@media (max-width:360px){:is(.bb-store,.bb-site) .bb-pub-nav a{padding:8px 6px;font-size:12.5px;}}

/* ==================================================================== Build 298 additions */
/* The full prototype navigation (drawn only once the new website is live or previewed). The prototype hides its public
   navigation on phones and offers no way to reach it; production adds a menu button in the prototype's own .bb-hb style
   that opens the same links. It is a native <details> disclosure: keyboard-operable, announces its state, needs no script. */
:is(.bb-store,.bb-site) .bb-menu{display:none;}
:is(.bb-store,.bb-site) .bb-menubtn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:36px;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius);color:#fff;font-size:17px;line-height:1;cursor:pointer;list-style:none;user-select:none;}
:is(.bb-store,.bb-site) .bb-menubtn::-webkit-details-marker{display:none;}
:is(.bb-store,.bb-site) .bb-menubtn:hover,:is(.bb-store,.bb-site) .bb-menu[open] .bb-menubtn{border-color:#fff;}
:is(.bb-store,.bb-site) .bb-menubtn:focus-visible{outline:2px solid var(--yellow);outline-offset:2px;}
:is(.bb-store,.bb-site) .bb-pub-menu{position:absolute;left:0;right:0;top:60px;z-index:39;background:var(--t-sidebar);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 18px 30px rgba(0,0,0,.35);padding:8px 14px 14px;}
:is(.bb-store,.bb-site) .bb-pub-menu a{display:block;color:#cfd3da;text-decoration:none;font-size:15px;font-weight:600;padding:12px 10px;border-radius:var(--radius);}
:is(.bb-store,.bb-site) .bb-pub-menu a:hover{color:#fff;background:rgba(255,255,255,.08);}
:is(.bb-store,.bb-site) .bb-pub-menu a.on{color:var(--ink);background:var(--yellow);}
:is(.bb-store,.bb-site) .bb-pub-menu a:focus-visible{outline:2px solid var(--yellow);outline-offset:2px;}
@media (max-width:860px){
  :is(.bb-store,.bb-site) .bb-pub-header--full .bb-pub-nav{display:none;}
  :is(.bb-store,.bb-site) .bb-pub-header--full .bb-menu{display:block;margin-left:auto;}
  :is(.bb-store,.bb-site) .bb-pub-header--full .right{margin-left:0;}
}
@media (max-width:480px){:is(.bb-store,.bb-site) .bb-pub-header--full{gap:10px;padding:0 14px;}}
:is(.bb-store,.bb-site) .bb-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--yellow);color:var(--ink);padding:8px 12px;font-weight:700;border-radius:var(--radius);text-decoration:none;}
:is(.bb-store,.bb-site) .bb-skip:focus{left:8px;}

/* Build 299: an authorised content preview's bar (never shown to visitors) */
.bb-previewbar { position: sticky; top: 0; z-index: 1001; background: #f3ea22; color: #0c0c0d; font: 600 13px/1.4 Inter, system-ui, sans-serif; padding: 9px 16px; text-align: center; }
.bb-previewbar a { color: #0c0c0d; font-weight: 800; margin-left: 8px; }

/* Build 299: Site Messaging - the prototype's homepage popup (its native.css .bb-sitepopup rules) */
.bb-sitepopup { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 24px; }
.bb-sitepopup[hidden] { display: none; }
.bb-sitepopup .bb-sp-scrim { position: absolute; inset: 0; background: rgba(12,12,13,.62); }
.bb-sitepopup .bb-sp-card { position: relative; z-index: 1; width: min(460px, 100%); max-height: calc(100vh - 48px); overflow: auto; background: #faf9f5; color: #1c1c1e; border-radius: 14px; box-shadow: 0 24px 70px rgba(0,0,0,.45); }
.bb-sitepopup .bb-sp-x { position: absolute; top: 10px; right: 10px; z-index: 2; width: 34px; height: 34px; border-radius: 50%; background: rgba(250,249,245,.94); border: none; font-size: 22px; line-height: 34px; color: #1c1c1e; cursor: pointer; padding: 0; }
.bb-sitepopup .bb-sp-x:focus-visible, .bb-sitepopup .bb-sp-cta:focus-visible { outline: 2px solid #1c1c1e; outline-offset: 2px; }
.bb-sitepopup .bb-sp-im { height: 180px; background: #1c1c1e; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bb-sitepopup .bb-sp-im img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bb-sitepopup .bb-sp-im--contain img { object-fit: contain; padding: 14px; }
.bb-sitepopup .bb-sp-bd { padding: 22px 24px 26px; }
.bb-sitepopup .bb-sp-head { margin: 0 0 8px; font: 400 26px/1.1 Anton, Inter, system-ui, sans-serif; letter-spacing: .01em; text-transform: uppercase; color: #1c1c1e; }
.bb-sitepopup .bb-sp-body { margin: 0 0 16px; font: 400 14px/1.55 Inter, system-ui, sans-serif; color: #4a4a46; }
.bb-sitepopup .bb-sp-cta { display: inline-block; background: #f3ea22; color: #1c1c1e; font: 800 13px/1 Inter, system-ui, sans-serif; padding: 12px 18px; border-radius: 8px; text-decoration: none; }
@media (prefers-reduced-motion: no-preference) { .bb-sitepopup:not([hidden]) .bb-sp-card { animation: bb-sp-in .22s ease-out; } }
@keyframes bb-sp-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* === system 301 B5: the signed-in Account menu in the public header (PUB-001) === */
:is(.bb-store,.bb-site) .bb-acctmenu{position:relative;}
:is(.bb-store,.bb-site) .bb-acctmenu > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
:is(.bb-store,.bb-site) .bb-acctmenu > summary::-webkit-details-marker{display:none;}
:is(.bb-store,.bb-site) .bb-acctmenu__list{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;background:#1c1c1e;border:1px solid rgba(255,255,255,.16);border-radius:8px;box-shadow:0 14px 30px rgba(0,0,0,.35);padding:6px;z-index:1002;display:flex;flex-direction:column;}
:is(.bb-store,.bb-site) .bb-acctmenu__list a{color:#f4f3ee;text-decoration:none;font:600 13px/1.3 Inter,system-ui,sans-serif;padding:9px 12px;border-radius:5px;}
:is(.bb-store,.bb-site) .bb-acctmenu__list a:hover,:is(.bb-store,.bb-site) .bb-acctmenu__list a:focus-visible{background:rgba(255,255,255,.1);outline:none;}
:is(.bb-store,.bb-site) .bb-acctmenu__list .bb-acctmenu__out{border-top:1px solid rgba(255,255,255,.12);margin-top:4px;padding-top:11px;color:#f3ea22;}
