/* Cart, Checkout and every account endpoint share this compact Blueby hero.
   Markup/hooks: wordpress/blueby-store-pages.php. Never style payment iframes. */
.bby-commerce-hero { position:relative; overflow:hidden; background:linear-gradient(110deg,#014ABE 0%,#258DE1 65%,#57BFFE 100%); color:#fff; }
.bby-commerce-hero::before, .bby-commerce-hero::after { content:""; position:absolute; border:7px solid rgba(255,255,255,.3); border-radius:50%; width:180px; height:180px; pointer-events:none; }
.bby-commerce-hero::before { left:-130px; top:-85px; }
.bby-commerce-hero::after { right:-100px; bottom:-135px; width:260px; height:260px; }
.bby-commerce-hero__inner { max-width:1280px; margin:auto; padding:32px; min-height:232px; display:flex; align-items:center; justify-content:space-between; gap:40px; position:relative; }
.bby-commerce-hero__copy { flex:1; min-width:0; max-width:760px; }
body .bby-commerce-hero__eyebrow { margin:0 0 10px; color:#fff; font:700 12px/1.5 'Poppins',sans-serif; letter-spacing:.13em; text-transform:uppercase; }
body .bby-commerce-hero h1 { margin:0 0 12px; color:#fff !important; font:700 clamp(34px,4vw,52px)/1.08 'Fredoka',sans-serif !important; letter-spacing:-.02em; }
body .bby-commerce-hero__description { margin:0; max-width:660px; color:#fff; font:400 16px/1.6 'Poppins',sans-serif; }
.bby-commerce-hero__art { width:250px; height:168px; flex:none; position:relative; display:grid; place-items:center; }
.bby-commerce-hero__disc { display:grid; place-items:center; width:156px; height:156px; border-radius:50%; background:#fff; transform:rotate(8deg); box-shadow:12px 10px 0 rgba(1,74,190,.18); }
.bby-commerce-hero__disc img { width:136px; height:136px; }
.bby-commerce-hero__star { position:absolute; left:5px; top:0; width:44px; height:44px; transform:rotate(-12deg); }
.bby-commerce-hero__triangle { position:absolute; right:0; bottom:10px; width:32px; height:32px; transform:rotate(18deg); }

/* Remove the theme's stacked 80px margin + 32px article padding. */
body:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) #primary { margin:40px 0 64px; }
body.tax-product_cat #primary, body.tax-product_tag #primary { margin-top:32px; }
body.woocommerce-page .blueby-toolbar { padding:0 0 16px; margin-bottom:24px; }
body.woocommerce-page .blueby-toolbar .kadence-shop-top-row { width:100%; padding-bottom:0; }
body:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) .content-container.site-container { max-width:1280px; padding:0 32px; }
body:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) .entry-content-wrap { padding:0; }
body:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) #primary article.entry { box-shadow:none; border:0; margin:0; width:auto; }
body:is(.woocommerce-cart,.woocommerce-checkout) .entry-content > .alignwide { margin-left:0; margin-right:0; width:100%; max-width:100%; }
body:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-sidebar-layout { margin-bottom:0; }
body.woocommerce-cart .wc-block-cart__sidebar { background:#F5FAFF; border:1px solid #DBEAFE; border-radius:20px; padding:24px; height:fit-content; }
body.woocommerce-cart .wc-block-cart .wc-block-cart__totals-title { font:700 20px/1.4 'Poppins',sans-serif !important; text-transform:none; color:#012775; padding:0 0 12px; }
body.woocommerce-cart .wc-block-cart__submit-container a.wc-block-components-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button { background:#FB923C !important; color:#fff !important; box-shadow:0 4px 14px #FB923C40 !important; font-size:16px; }
body.woocommerce-cart .wc-block-cart__submit-container a.wc-block-components-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover { background:#F97316 !important; }

/* Empty carts need working destinations, not legacy direct-add party cards. */
.bby-empty-cart { max-width:760px; margin:0 auto; padding:40px 32px; text-align:center; background:#F5FAFF; border:1px solid #DBEAFE; border-radius:24px; }
.bby-empty-cart > img { width:112px; height:112px; margin:0 auto 20px; }
body.woocommerce-cart .bby-empty-cart h2 { margin:0 0 16px; color:#012775; font:700 34px/1.2 'Fredoka',sans-serif !important; }
body.woocommerce-cart .bby-empty-cart p { max-width:510px; margin:0 auto 24px; color:#64748B; font:400 16px/1.6 'Poppins',sans-serif; }
.bby-empty-cart__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; }
body.woocommerce-cart .bby-empty-cart__actions a.button { display:inline-flex; align-items:center; justify-content:center; margin:0; padding:14px 26px; border:2px solid transparent; border-radius:999px; background:#FB923C !important; color:#fff !important; font:700 16px/1.5 'Poppins',sans-serif; text-transform:none; }
body.woocommerce-cart .bby-empty-cart__actions a.button:hover { background:#F97316 !important; }
body.woocommerce-cart .bby-empty-cart__actions a.bby-empty-cart__secondary { background:transparent !important; color:#014ABE !important; border-color:#014ABE; box-shadow:none !important; }
body.woocommerce-cart .bby-empty-cart__actions a.bby-empty-cart__secondary:hover { background:#DBEAFE !important; }

/* Account navigation comes before content in the DOM as well as on screen. */
body.woocommerce-account .entry-content > .woocommerce:has(.account-navigation-wrap) { display:grid; grid-template-columns:250px minmax(0,1fr); align-items:start; gap:32px; }
body.woocommerce-account .entry-content > .woocommerce::before,
body.woocommerce-account .entry-content > .woocommerce::after { display:none; }
body.woocommerce-account .account-navigation-wrap { float:none; width:100%; margin:0; padding:20px; border:1px solid #DBEAFE; border-radius:20px; background:#F5FAFF; }
body.woocommerce-account .account-navigation-wrap .kadence-account-avatar { padding:0 8px 16px; margin:0 0 8px; }
body.woocommerce-account .woocommerce-MyAccount-navigation { float:none; width:100%; border:0; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { margin:0; padding:0; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul li { border:0; margin:2px 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display:block; padding:11px 14px; border:0; border-radius:10px; color:#012775; font:500 14px/1.5 'Poppins',sans-serif; text-decoration:none; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background:#014ABE; color:#fff !important; font-weight:700; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul li:not(.is-active) a:hover { background:#DBEAFE; }
body.woocommerce-account .woocommerce-MyAccount-content { float:none; width:100%; min-width:0; padding:28px; border:1px solid #E2E8F0; border-radius:20px; background:#fff; }
body.woocommerce-account .woocommerce-MyAccount-content h2 { font:700 26px/1.25 'Fredoka',sans-serif !important; color:#012775; margin-top:0; }
body.woocommerce-account .woocommerce-MyAccount-content h3 { font:700 20px/1.3 'Poppins',sans-serif !important; }
body.woocommerce-account .bby-account-welcome p { margin:0 0 24px; color:#64748B; font-size:15px; }
.bby-account-shortcuts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body.woocommerce-account .bby-account-shortcuts a { position:relative; display:flex; flex-direction:column; gap:8px; padding:22px 36px 22px 22px; background:#F5FAFF; border:1px solid #DBEAFE; border-radius:14px; text-decoration:none; }
.bby-account-shortcuts a strong { font:600 20px/1.2 'Fredoka',sans-serif; color:#012775; }
.bby-account-shortcuts a span { font:400 13px/1.6 'Poppins',sans-serif; color:#64748B; }
.bby-account-shortcuts a .bby-account-shortcut-arrow { position:absolute; right:16px; top:18px; color:#014ABE; font-size:26px; }
body.woocommerce-account .bby-account-shortcuts a:hover { border-color:#57BFFE; background:#EBF5FF; }
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register { border:1px solid #DBEAFE; border-radius:20px; background:#F5FAFF; padding:28px; }

@media (max-width:1023px) {
  .bby-commerce-hero__inner { padding:28px 24px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) .content-container.site-container { padding:0 24px; }
  body.woocommerce-account .entry-content > .woocommerce:has(.account-navigation-wrap) { grid-template-columns:210px minmax(0,1fr); gap:20px; }
  body.woocommerce-account .account-navigation-wrap { padding:12px; }
  .bby-account-shortcuts { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .bby-commerce-hero__inner { min-height:208px; padding:28px 16px; gap:16px; }
  .bby-commerce-hero__copy { max-width:none; }
  body .bby-commerce-hero h1 { font-size:34px !important; }
  body .bby-commerce-hero__description { font-size:14px; }
  body .bby-commerce-hero__eyebrow { font-size:10px; letter-spacing:.08em; }
  .bby-commerce-hero__art { width:64px; height:100px; }
  .bby-commerce-hero__disc { width:64px; height:64px; box-shadow:5px 5px 0 #014ABE30; }
  .bby-commerce-hero__disc img { width:56px; height:56px; }
  .bby-commerce-hero__star { width:20px; height:20px; left:-8px; top:-8px; }
  .bby-commerce-hero__triangle { width:16px; height:16px; right:-4px; bottom:-6px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) #primary { margin:28px 0 40px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) .content-container.site-container { padding:0 16px; }
  body.woocommerce-cart .wc-block-cart__sidebar { padding:20px; }
  body.woocommerce-account .entry-content > .woocommerce:has(.account-navigation-wrap) { grid-template-columns:1fr; gap:20px; }
  body.woocommerce-account .account-navigation-wrap .kadence-account-avatar { display:none; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul li a { padding:10px; font-size:12px; }
  body.woocommerce-account .woocommerce-MyAccount-content { padding:20px; }
}

/* Woo's mobile product cell spans columns 2–3, which creates an implicit
   fourth column for the total. Keep all three cells inside narrow phones. */
@media (max-width:480px) {
  .bby-empty-cart { padding:28px 20px; }
  .bby-empty-cart__actions a.button { width:100%; }
  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items__row { grid-template-columns:56px minmax(0,1fr) max-content; column-gap:12px; width:100%; }
  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__image { grid-column:1 !important; width:auto; padding:0; }
  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__product { grid-column:2 !important; min-width:0; }
  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__total { grid-column:3 !important; min-width:0; }
}
