/*
Theme Name: BookGiftShop Velocity
Theme URI: https://bookgiftshop.com/
Author: WRONCE
Author URI: https://wronce.com/
Description: High-impact editorial WooCommerce theme for BookGiftShop with CSS 3D books, seasonal catalogs, cinematic motion and gift-first merchandising.
Version: 2.2.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: bookgiftshop-velocity
Tags: e-commerce, woocommerce, custom-logo, custom-menu, featured-images, accessibility-ready
*/

:root{
  --bgs-bg:#101315;
  --bgs-bg-2:#161a1d;
  --bgs-panel:#1a1e21;
  --bgs-ink:#f4f3ee;
  --bgs-muted:#a9aaab;
  --bgs-line:rgba(244,243,238,.16);
  --bgs-red:#ef2b25;
  --bgs-red-2:#ff4a3f;
  --bgs-paper:#f1f0ea;
  --bgs-paper-2:#d9d8d2;
  --bgs-black:#080a0b;
  --bgs-max:1480px;
  --bgs-gutter:clamp(20px,4vw,64px);
  --bgs-radius:2px;
  --bgs-shadow:0 35px 90px rgba(0,0,0,.55);
  --bgs-font-display:Arial Black,Arial,Helvetica,sans-serif;
  --bgs-font-ui:Inter,Arial,Helvetica,sans-serif;
  --bgs-font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bgs-bg)}
body{margin:0;background:var(--bgs-bg);color:var(--bgs-ink);font-family:var(--bgs-font-ui);line-height:1.55;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.18;background-image:radial-gradient(rgba(255,255,255,.18) .55px,transparent .7px);background-size:5px 5px;mix-blend-mode:soft-light}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button{color:inherit}
::selection{background:var(--bgs-red);color:white}
.bgs-container{width:min(calc(100% - (var(--bgs-gutter)*2)),var(--bgs-max));margin-inline:auto}
.bgs-mono{font-family:var(--bgs-font-mono);text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.bgs-kicker{display:flex;align-items:center;gap:12px;color:#dfe0dc;font-family:var(--bgs-font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.bgs-kicker:before{content:"";width:28px;height:2px;background:var(--bgs-red)}
.bgs-section{position:relative;padding:clamp(76px,9vw,150px) 0;border-top:1px solid var(--bgs-line)}
.bgs-section-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:36px;align-items:end;margin-bottom:46px}
.bgs-section-head h2{font-family:var(--bgs-font-display);font-size:clamp(3rem,6.7vw,7.5rem);line-height:.82;letter-spacing:-.075em;text-transform:uppercase;margin:16px 0 0;max-width:1000px}
.bgs-section-head p{margin:0;color:var(--bgs-muted);font-size:clamp(1rem,1.45vw,1.28rem);max-width:520px}
.bgs-outline-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid var(--bgs-line);padding:10px 0;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.bgs-outline-link:after{content:"↗";font-size:18px;color:var(--bgs-red)}

/* Scroll progress */
#bgs-scroll-progress{position:fixed;left:0;top:0;width:0;height:3px;background:var(--bgs-red);z-index:10001;box-shadow:0 0 24px rgba(239,43,37,.65)}

/* Header */
.bgs-site-header{position:relative;z-index:1000;border-bottom:1px solid var(--bgs-line);background:rgba(16,19,21,.84);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.bgs-site-header.is-sticky{position:sticky;top:0}
.bgs-header-inner{height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.bgs-brand{display:flex;justify-content:center;align-items:center;font-family:var(--bgs-font-display);font-size:21px;letter-spacing:-.065em;white-space:nowrap}
.bgs-brand .gift{color:var(--bgs-red)}
.bgs-brand img{max-height:42px;width:auto}
.bgs-nav-left{display:flex;align-items:center;gap:28px}
.bgs-nav-left ul{display:flex;list-style:none;padding:0;margin:0;gap:27px}
.bgs-nav-left a,.bgs-header-action{font-family:var(--bgs-font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#e8e8e3}
.bgs-nav-left a:hover{color:var(--bgs-red)}
.bgs-header-actions{justify-self:end;display:flex;align-items:center;gap:19px}
.bgs-search-trigger{appearance:none;background:none;border:0;padding:10px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}
.bgs-cart-pill{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--bgs-line);font-size:12px;transition:.25s ease}
.bgs-cart-pill:hover{border-color:var(--bgs-red);transform:rotate(8deg)}
.bgs-mobile-toggle{display:none;background:none;border:1px solid var(--bgs-line);padding:10px 12px;cursor:pointer}

/* Search overlay */
.bgs-search-overlay{position:fixed;inset:0;z-index:12000;background:rgba(8,10,11,.97);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.25s ease}
.bgs-search-overlay.is-open{opacity:1;visibility:visible}
.bgs-search-overlay-inner{width:min(900px,calc(100% - 40px));position:relative}
.bgs-search-overlay input[type=search]{width:100%;border:0;border-bottom:2px solid var(--bgs-ink);background:transparent;color:var(--bgs-ink);font-family:var(--bgs-font-display);font-size:clamp(2.8rem,7vw,7rem);letter-spacing:-.06em;padding:20px 60px 22px 0;outline:none}
.bgs-search-overlay input::placeholder{color:#4e5254}
.bgs-search-close{position:absolute;right:0;top:30px;border:0;background:none;font-size:34px;cursor:pointer}
.bgs-search-hint{margin-top:18px;color:var(--bgs-muted);font-family:var(--bgs-font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.09em}

/* Hero */
.bgs-hero{position:relative;min-height:min(930px,calc(100vh - 78px));display:flex;align-items:center;overflow:hidden;background:
radial-gradient(circle at 81% 62%,rgba(239,43,37,.24),transparent 15%),
radial-gradient(circle at 78% 55%,rgba(255,255,255,.055),transparent 36%),
linear-gradient(145deg,#111416 0%,#171b1e 45%,#111416 100%)}
.bgs-hero:after{content:"";position:absolute;left:0;right:0;bottom:-65px;height:160px;background:linear-gradient(to bottom,rgba(255,255,255,.02),rgba(239,43,37,.18),rgba(255,255,255,.03));filter:blur(28px);transform:skewY(-1deg);pointer-events:none}
.bgs-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);gap:30px;align-items:center;padding:90px 0 110px}
.bgs-hero-copy{position:relative;z-index:5}
.bgs-hero h1{font-family:var(--bgs-font-display);font-size:clamp(4.5rem,8.65vw,10rem);line-height:.82;letter-spacing:-.085em;text-transform:uppercase;margin:26px 0 28px;max-width:920px}
.bgs-hero h1 .red{color:var(--bgs-red);display:block}
.bgs-hero-copy>p{max-width:600px;color:#c5c6c3;font-size:clamp(1rem,1.45vw,1.3rem);margin:0 0 34px}
.bgs-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.bgs-btn{position:relative;display:inline-flex;min-height:58px;align-items:center;justify-content:center;padding:0 26px;border:1px solid var(--bgs-paper);background:var(--bgs-paper);color:#111;font-size:13px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;overflow:hidden;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.bgs-btn:before{content:"";position:absolute;inset:0;background:var(--bgs-red);transform:translateY(102%);transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.bgs-btn span{position:relative;z-index:1}
.bgs-btn:hover{color:#fff;border-color:var(--bgs-red);transform:translateY(-2px)}
.bgs-btn:hover:before{transform:translateY(0)}
.bgs-btn--ghost{background:transparent;color:var(--bgs-ink);border-color:var(--bgs-line)}
.bgs-btn--ghost:before{background:#252a2d}
.bgs-hero-index{position:absolute;left:0;bottom:-62px;color:#6f7375}

/* CSS 3D book */
.bgs-hero-visual{position:relative;min-height:650px;display:grid;place-items:center;perspective:1500px;isolation:isolate}
.bgs-orbit{position:absolute;width:min(75vw,570px);aspect-ratio:1;border:1px solid rgba(255,255,255,.16);border-radius:50%;transform:rotateX(70deg) rotateZ(-12deg);animation:bgs-orbit 18s linear infinite}
.bgs-orbit:after,.bgs-orbit:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--bgs-red);box-shadow:0 0 22px rgba(239,43,37,.9)}
.bgs-orbit:after{left:8%;top:25%}.bgs-orbit:before{right:14%;bottom:21%;background:var(--bgs-paper);box-shadow:0 0 18px rgba(255,255,255,.6)}
.bgs-book-scene{position:relative;width:390px;height:560px;transform-style:preserve-3d;transform:rotateX(var(--rx,-4deg)) rotateY(var(--ry,-12deg)) rotateZ(2deg);transition:transform .12s linear;filter:drop-shadow(0 48px 58px rgba(0,0,0,.48));z-index:3}
.bgs-book{position:absolute;inset:0;transform-style:preserve-3d}
.bgs-book-front,.bgs-book-back{position:absolute;inset:0;background:var(--bgs-paper);color:#101214;border:1px solid #b7b8b3;overflow:hidden;backface-visibility:hidden}
.bgs-book-front{transform:translateZ(28px);display:flex;flex-direction:column;padding:28px 28px 24px;background:linear-gradient(138deg,#f2f1eb,#d9dad7)}
.bgs-book-front:after{content:"";position:absolute;inset:12px;border:1px solid #a2a39f;pointer-events:none}
.bgs-book-cover-image{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;opacity:.96;z-index:1}
.bgs-book-cover-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.3),transparent 22%,transparent 70%,rgba(0,0,0,.08));z-index:2;pointer-events:none}
.bgs-book-label,.bgs-book-title,.bgs-book-meta{position:relative;z-index:3}
.bgs-book-label{font-family:var(--bgs-font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.bgs-book-title{margin:auto 0;font-family:var(--bgs-font-display);font-size:clamp(2.6rem,4vw,4.4rem);line-height:.82;letter-spacing:-.08em;text-transform:uppercase}
.bgs-book-meta{font-family:var(--bgs-font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.bgs-book-spine{position:absolute;left:0;top:0;width:56px;height:100%;transform-origin:left center;transform:rotateY(90deg) translateX(-28px);background:linear-gradient(90deg,#d7d6d0,#ef2b25 88%);border:1px solid #9d9d99}
.bgs-book-pages{position:absolute;right:0;top:7px;width:56px;height:calc(100% - 14px);transform-origin:right center;transform:rotateY(90deg) translateX(28px);background:repeating-linear-gradient(90deg,#eee 0 1px,#bbb 1px 2px,#f4f4f1 2px 5px)}
.bgs-book-back{transform:rotateY(180deg) translateZ(28px);background:#d6d5d0}
.bgs-book-accent{position:absolute;right:-23px;top:35px;width:100%;height:100%;background:var(--bgs-red);transform:translateZ(-17px);z-index:-1}
.bgs-book-floor{position:absolute;width:520px;height:180px;border-radius:50%;background:radial-gradient(ellipse,rgba(239,43,37,.35),rgba(0,0,0,.42) 52%,transparent 72%);filter:blur(20px);bottom:5px;transform:rotateX(78deg);z-index:0}
.bgs-floating-tag{position:absolute;z-index:8;border:1px solid var(--bgs-line);background:rgba(13,15,16,.72);backdrop-filter:blur(12px);padding:13px 16px;font-family:var(--bgs-font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#d7d8d5;animation:bgs-float 5s ease-in-out infinite}
.bgs-floating-tag.tag-a{left:1%;top:25%}.bgs-floating-tag.tag-b{right:0;bottom:18%;animation-delay:-2.4s}

/* Intro ticker */
.bgs-ticker{overflow:hidden;border-top:1px solid var(--bgs-line);border-bottom:1px solid var(--bgs-line);background:var(--bgs-paper);color:#111}
.bgs-ticker-track{display:flex;width:max-content;animation:bgs-marquee 28s linear infinite}
.bgs-ticker-item{display:flex;align-items:center;gap:24px;white-space:nowrap;padding:18px 22px;font-family:var(--bgs-font-display);font-size:clamp(1.45rem,2.3vw,2.6rem);letter-spacing:-.05em;text-transform:uppercase}
.bgs-ticker-item:after{content:"✦";color:var(--bgs-red);font-size:.75em}

/* Collection cards */
.bgs-collection-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.bgs-collection-card{position:relative;min-height:410px;border:1px solid var(--bgs-line);overflow:hidden;background:#161a1c;isolation:isolate;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .25s ease}
.bgs-collection-card:nth-child(1){grid-column:span 5}.bgs-collection-card:nth-child(2){grid-column:span 4}.bgs-collection-card:nth-child(3){grid-column:span 3}.bgs-collection-card:nth-child(4){grid-column:span 3}.bgs-collection-card:nth-child(5){grid-column:span 4}.bgs-collection-card:nth-child(6){grid-column:span 5}
.bgs-collection-card:hover{transform:translateY(-7px);border-color:rgba(239,43,37,.65)}
.bgs-collection-card-bg{position:absolute;inset:0;background:
radial-gradient(circle at 80% 20%,rgba(239,43,37,.25),transparent 28%),
linear-gradient(135deg,#1a1f22,#101315 72%);z-index:-2}
.bgs-collection-card:after{content:"";position:absolute;inset:auto -30% -35% 16%;height:65%;background:linear-gradient(100deg,transparent,rgba(239,43,37,.2),transparent);filter:blur(18px);transform:rotate(-12deg);z-index:-1}
.bgs-collection-content{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:space-between}
.bgs-collection-number{font-family:var(--bgs-font-mono);font-size:10px;letter-spacing:.1em;color:#929697}
.bgs-collection-content h3{font-family:var(--bgs-font-display);font-size:clamp(2.4rem,4vw,5.1rem);line-height:.86;letter-spacing:-.07em;text-transform:uppercase;margin:0;max-width:90%}
.bgs-collection-content p{color:#bbbdbb;max-width:410px;margin:14px 0 0;font-size:.95rem}
.bgs-collection-arrow{position:absolute;right:22px;top:22px;width:46px;height:46px;border:1px solid var(--bgs-line);display:grid;place-items:center;font-size:22px;transition:.25s ease}
.bgs-collection-card:hover .bgs-collection-arrow{background:var(--bgs-red);border-color:var(--bgs-red);transform:rotate(45deg)}
.bgs-mini-book{position:absolute;right:8%;bottom:-10%;width:130px;height:190px;background:var(--bgs-paper);box-shadow:18px 14px 0 var(--bgs-red),0 20px 50px rgba(0,0,0,.45);transform:rotate(-10deg) skewY(1deg);border:1px solid #aaa;opacity:.96}
.bgs-mini-book:before{content:"BOOKGIFTSHOP";position:absolute;left:14px;top:14px;color:#111;font-family:var(--bgs-font-mono);font-size:7px;letter-spacing:.1em}.bgs-mini-book:after{content:"COLLECTION";position:absolute;left:14px;bottom:18px;color:#111;font-family:var(--bgs-font-display);font-size:18px;line-height:.85;letter-spacing:-.05em}

/* Featured collection */
.bgs-feature-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:720px;border:1px solid var(--bgs-line);background:#131719}
.bgs-feature-copy{padding:clamp(34px,5vw,78px);display:flex;flex-direction:column;justify-content:center}
.bgs-feature-copy h2{font-family:var(--bgs-font-display);font-size:clamp(4rem,7vw,8rem);line-height:.82;letter-spacing:-.08em;text-transform:uppercase;margin:24px 0}
.bgs-feature-copy h2 span{color:var(--bgs-red);display:block}
.bgs-feature-copy p{color:var(--bgs-muted);max-width:520px;font-size:1.1rem}
.bgs-feature-products{position:relative;overflow:hidden;padding:clamp(30px,4vw,60px);background:linear-gradient(150deg,#1f2427,#101315)}
.bgs-book-stack{height:100%;min-height:600px;position:relative;perspective:1200px;display:flex;align-items:center;justify-content:center}
.bgs-stack-card{position:absolute;width:240px;aspect-ratio:2/3;background:var(--bgs-paper);box-shadow:var(--bgs-shadow);transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.7,.2,1);overflow:visible}
.bgs-stack-card img{width:100%;height:100%;object-fit:cover;display:block}
.bgs-stack-card:after{content:"";position:absolute;right:-17px;top:7px;width:17px;height:calc(100% - 14px);background:repeating-linear-gradient(#eee 0 2px,#a7a7a3 2px 3px);transform:skewY(42deg);transform-origin:left top}
.bgs-stack-card:nth-child(1){transform:translate3d(-190px,30px,0) rotateZ(-13deg) rotateY(9deg)}
.bgs-stack-card:nth-child(2){transform:translate3d(35px,-45px,70px) rotateZ(5deg) rotateY(-8deg);z-index:3}
.bgs-stack-card:nth-child(3){transform:translate3d(195px,90px,-20px) rotateZ(13deg) rotateY(-13deg)}
.bgs-book-stack:hover .bgs-stack-card:nth-child(1){transform:translate3d(-225px,13px,0) rotateZ(-16deg) rotateY(13deg)}
.bgs-book-stack:hover .bgs-stack-card:nth-child(2){transform:translate3d(25px,-65px,100px) rotateZ(2deg) rotateY(-2deg)}
.bgs-book-stack:hover .bgs-stack-card:nth-child(3){transform:translate3d(225px,78px,-20px) rotateZ(17deg) rotateY(-17deg)}
.bgs-stack-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:28px;color:#111;text-align:center;font-family:var(--bgs-font-display);font-size:28px;line-height:.9;text-transform:uppercase;background:linear-gradient(145deg,#f1f0eb,#d3d4d0)}

/* WooCommerce */
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:30px;color:var(--bgs-muted)}
.woocommerce .woocommerce-ordering select{background:#171b1e;color:#fff;border:1px solid var(--bgs-line);padding:12px 14px}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 16px;margin:0!important}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;padding:0!important;background:transparent;border:0;perspective:1100px}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block;position:relative}
.woocommerce ul.products li.product a img{width:100%!important;margin:0 0 16px!important;aspect-ratio:2/3;object-fit:cover;background:var(--bgs-paper);box-shadow:12px 10px 0 rgba(239,43,37,.9),0 20px 50px rgba(0,0,0,.3);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease;transform-origin:center bottom}
.woocommerce ul.products li.product:hover a img{transform:rotateY(-8deg) rotateX(3deg) translateY(-8px);box-shadow:18px 14px 0 rgba(239,43,37,.95),0 32px 60px rgba(0,0,0,.5)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--bgs-font-display);font-size:clamp(1.25rem,1.6vw,1.75rem)!important;line-height:.95;letter-spacing:-.045em;text-transform:uppercase;padding:0!important;margin:17px 0 9px!important}
.woocommerce ul.products li.product .price{color:#ddd!important;font-family:var(--bgs-font-mono);font-size:12px!important;letter-spacing:.08em}
.woocommerce ul.products li.product .button{margin-top:12px!important;background:transparent!important;color:#fff!important;border:1px solid var(--bgs-line)!important;border-radius:0!important;text-transform:uppercase;letter-spacing:.08em;font-size:10px!important;padding:12px 14px!important;transition:.25s ease}
.woocommerce ul.products li.product .button:hover{background:var(--bgs-red)!important;border-color:var(--bgs-red)!important}
.woocommerce span.onsale{background:var(--bgs-red)!important;color:white!important;border-radius:0!important;min-height:0!important;line-height:1!important;padding:9px 10px!important;font-family:var(--bgs-font-mono);font-size:9px!important;text-transform:uppercase;letter-spacing:.08em;left:10px!important;top:10px!important}
.bgs-shop-shell{padding:80px 0 120px}
.woocommerce-products-header{margin-bottom:55px}
.woocommerce-products-header__title,.bgs-page-title{font-family:var(--bgs-font-display);font-size:clamp(4rem,8vw,9rem);line-height:.82;letter-spacing:-.08em;text-transform:uppercase;margin:0 0 24px}
.woocommerce-pagination ul.page-numbers{border:0!important;display:flex!important;gap:8px;margin-top:50px!important}
.woocommerce-pagination ul.page-numbers li{border:0!important}.woocommerce-pagination ul.page-numbers a,.woocommerce-pagination ul.page-numbers span{border:1px solid var(--bgs-line)!important;background:transparent!important;color:#fff!important;padding:12px 16px!important}.woocommerce-pagination ul.page-numbers .current{background:var(--bgs-red)!important;border-color:var(--bgs-red)!important}

/* Single product */
.single-product .bgs-content-wrap{padding:70px 0 120px}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.86fr);gap:clamp(38px,6vw,100px);align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none!important;width:auto!important}
.woocommerce div.product div.images{position:sticky;top:110px;perspective:1200px}
.woocommerce div.product div.images img{box-shadow:22px 16px 0 var(--bgs-red),0 40px 90px rgba(0,0,0,.42);transition:.35s ease}
.woocommerce div.product div.images:hover img{transform:rotateY(-4deg) rotateX(2deg)}
.woocommerce div.product .product_title{font-family:var(--bgs-font-display);font-size:clamp(3.8rem,6vw,7.2rem);line-height:.84;letter-spacing:-.075em;text-transform:uppercase;margin:0 0 20px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:#fff!important;font-family:var(--bgs-font-mono);font-size:14px!important;letter-spacing:.08em;text-transform:uppercase}
.woocommerce-product-details__short-description{color:var(--bgs-muted);font-size:1.08rem;margin:30px 0}
.woocommerce div.product form.cart{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0!important}
.woocommerce .quantity .qty{height:54px;background:#15191b;color:#fff;border:1px solid var(--bgs-line);border-radius:0!important}
.woocommerce div.product form.cart .button{min-height:54px;border-radius:0!important;background:var(--bgs-red)!important;text-transform:uppercase;letter-spacing:.08em;font-size:11px!important;padding:0 26px!important}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:60px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;border-bottom:1px solid var(--bgs-line)}.woocommerce div.product .woocommerce-tabs ul.tabs:before{display:none!important}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important;border-radius:0!important;margin:0 20px 0 0!important;padding:0!important}.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none!important}.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:14px 0!important;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--bgs-red)!important}
.related.products{grid-column:1/-1;margin-top:70px}.related.products>h2{font-family:var(--bgs-font-display);font-size:clamp(3rem,5vw,5.5rem);text-transform:uppercase;letter-spacing:-.06em}

/* Gift fields plugin */
.bgs-gift-box{margin:28px 0;border:1px solid var(--bgs-line);padding:20px;background:#14181a}
.bgs-gift-box>label{display:flex;align-items:center;gap:10px;font-family:var(--bgs-font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.bgs-gift-fields{display:grid;gap:15px;margin-top:20px}.bgs-gift-fields p{margin:0}.bgs-gift-fields label{display:block;margin-bottom:7px;color:#b8bab8;font-size:12px}.bgs-gift-fields input,.bgs-gift-fields textarea{width:100%;border:1px solid var(--bgs-line);background:#0e1112;color:#fff;border-radius:0;padding:13px 14px;outline:none}.bgs-gift-fields input:focus,.bgs-gift-fields textarea:focus{border-color:var(--bgs-red)}

/* Journal */
.bgs-journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bgs-line);border:1px solid var(--bgs-line)}
.bgs-journal-card{background:var(--bgs-bg);padding:28px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s ease}.bgs-journal-card:hover{background:#191e21}.bgs-journal-card .index{font-family:var(--bgs-font-mono);font-size:10px;color:#74787a}.bgs-journal-card h3{font-family:var(--bgs-font-display);font-size:clamp(2rem,3vw,3.6rem);line-height:.9;letter-spacing:-.055em;text-transform:uppercase;margin:30px 0 20px}.bgs-journal-card p{color:var(--bgs-muted);margin:0}.bgs-journal-card .read{font-family:var(--bgs-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--bgs-red)}

/* Newsletter */
.bgs-newsletter{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--bgs-line);min-height:430px;overflow:hidden}.bgs-newsletter-copy{padding:clamp(34px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.bgs-newsletter-copy h2{font-family:var(--bgs-font-display);font-size:clamp(3.4rem,5vw,6.2rem);line-height:.85;letter-spacing:-.07em;text-transform:uppercase;margin:20px 0}.bgs-newsletter-form{background:var(--bgs-red);color:#fff;display:flex;align-items:center;padding:clamp(34px,5vw,70px)}.bgs-newsletter-form form{width:100%}.bgs-newsletter-form input[type=email]{width:100%;background:transparent;color:#fff;border:0;border-bottom:2px solid rgba(255,255,255,.8);font-family:var(--bgs-font-display);font-size:clamp(2rem,4vw,4.5rem);letter-spacing:-.05em;padding:16px 0;outline:none}.bgs-newsletter-form input::placeholder{color:rgba(255,255,255,.55)}.bgs-newsletter-form button{margin-top:22px;background:#fff;color:#111;border:0;padding:16px 22px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;cursor:pointer}

/* Footer */
.bgs-site-footer{border-top:1px solid var(--bgs-line);padding:70px 0 28px;background:#0b0d0e}
.bgs-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px}.bgs-footer-brand{font-family:var(--bgs-font-display);font-size:clamp(2rem,3vw,3.6rem);letter-spacing:-.07em}.bgs-footer-brand span{color:var(--bgs-red)}.bgs-site-footer h4{font-family:var(--bgs-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#777;margin:0 0 16px}.bgs-site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}.bgs-site-footer li,.bgs-site-footer p{color:#b1b3b1;font-size:.92rem}.bgs-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:55px;padding-top:24px;border-top:1px solid var(--bgs-line);color:#6f7273;font-family:var(--bgs-font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em}

/* Generic content */
.bgs-content-wrap{padding:80px 0 120px}.bgs-entry{max-width:900px}.bgs-entry h1{font-family:var(--bgs-font-display);font-size:clamp(4rem,8vw,8rem);line-height:.83;letter-spacing:-.07em;text-transform:uppercase}.bgs-entry h2,.bgs-entry h3{font-family:var(--bgs-font-display);letter-spacing:-.045em;text-transform:uppercase}.bgs-entry p{color:#c5c6c3}.bgs-entry a{color:var(--bgs-red)}

/* Reveal effects */
[data-bgs-reveal]{opacity:0;transform:translateY(35px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}[data-bgs-reveal].is-visible{opacity:1;transform:none}
[data-bgs-tilt]{transform-style:preserve-3d;will-change:transform}

@keyframes bgs-orbit{to{transform:rotateX(70deg) rotateZ(348deg)}}
@keyframes bgs-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes bgs-marquee{to{transform:translateX(-50%)}}

@media(max-width:1100px){
  .bgs-hero-grid{grid-template-columns:1fr .8fr}.bgs-book-scene{width:310px;height:455px}.bgs-hero-visual{min-height:520px}.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.bgs-feature-split{grid-template-columns:1fr}.bgs-feature-products{min-height:650px}
}
@media(max-width:900px){
  .bgs-header-inner{grid-template-columns:auto 1fr auto}.bgs-nav-left{display:none}.bgs-brand{justify-self:start}.bgs-mobile-toggle{display:block}.bgs-header-actions .bgs-search-trigger .label{display:none}
  .bgs-mobile-nav{display:none;position:absolute;left:0;right:0;top:78px;background:#101315;border-bottom:1px solid var(--bgs-line);padding:24px var(--bgs-gutter)}.bgs-mobile-nav.is-open{display:block}.bgs-mobile-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:18px}.bgs-mobile-nav a{font-family:var(--bgs-font-display);font-size:2rem;text-transform:uppercase;letter-spacing:-.04em}
  .bgs-hero{min-height:auto}.bgs-hero-grid{grid-template-columns:1fr;padding-top:70px}.bgs-hero-visual{min-height:560px}.bgs-hero-copy{max-width:760px}.bgs-section-head{grid-template-columns:1fr}.bgs-collection-card:nth-child(n){grid-column:span 6}.bgs-journal-grid{grid-template-columns:1fr 1fr}.bgs-newsletter{grid-template-columns:1fr}.woocommerce div.product{grid-template-columns:1fr}.woocommerce div.product div.images{position:relative;top:auto}.bgs-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  :root{--bgs-gutter:16px}.bgs-header-inner{height:68px}.bgs-mobile-nav{top:68px}.bgs-brand{font-size:18px}.bgs-header-actions{gap:8px}.bgs-cart-pill{width:34px;height:34px}
  .bgs-hero-grid{padding:52px 0 80px}.bgs-hero h1{font-size:clamp(4rem,19vw,6.2rem)}.bgs-hero-copy>p{font-size:1rem}.bgs-hero-actions{display:grid;grid-template-columns:1fr}.bgs-btn{width:100%}.bgs-hero-visual{min-height:470px}.bgs-book-scene{width:245px;height:360px}.bgs-book-front{padding:21px}.bgs-book-title{font-size:2.45rem}.bgs-orbit{width:380px}.bgs-floating-tag{display:none}.bgs-book-floor{width:360px}
  .bgs-section{padding:72px 0}.bgs-section-head h2{font-size:clamp(3rem,15vw,5.2rem)}.bgs-collection-grid{grid-template-columns:1fr}.bgs-collection-card:nth-child(n){grid-column:auto;min-height:350px}.bgs-mini-book{width:100px;height:150px}
  .bgs-feature-copy h2{font-size:clamp(3.6rem,17vw,5.7rem)}.bgs-book-stack{min-height:470px}.bgs-stack-card{width:160px}.bgs-stack-card:nth-child(1){transform:translate3d(-110px,30px,0) rotateZ(-13deg)}.bgs-stack-card:nth-child(2){transform:translate3d(15px,-35px,70px) rotateZ(5deg)}.bgs-stack-card:nth-child(3){transform:translate3d(105px,75px,-20px) rotateZ(13deg)}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.05rem!important}.woocommerce div.product .product_title{font-size:clamp(3.5rem,16vw,5rem)}
  .bgs-journal-grid{grid-template-columns:1fr}.bgs-journal-card{min-height:300px}.bgs-newsletter-form input[type=email]{font-size:2.2rem}.bgs-footer-grid{grid-template-columns:1fr}.bgs-footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}[data-bgs-reveal]{opacity:1!important;transform:none!important}.bgs-book-scene{transform:rotateY(-8deg)!important}}

/* v2.1 navigation polish */
.bgs-mobile-nav{display:none}
.bgs-desktop-menu{align-items:center}
.bgs-menu-has-dropdown{position:relative}
.bgs-menu-dropdown-trigger{appearance:none;border:0;background:transparent;color:#e8e8e3;padding:18px 0;font-family:var(--bgs-font-mono);font-size:10px;line-height:1;letter-spacing:.1em;text-transform:uppercase;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:7px}
.bgs-menu-dropdown-trigger span{color:var(--bgs-red);font-size:13px;transition:transform .2s ease}
.bgs-menu-has-dropdown:hover .bgs-menu-dropdown-trigger span,.bgs-menu-has-dropdown:focus-within .bgs-menu-dropdown-trigger span{transform:rotate(45deg)}
.bgs-menu-dropdown{position:absolute;top:calc(100% + 12px);left:-18px;width:220px;padding:10px;background:rgba(12,15,17,.98);border:1px solid var(--bgs-line);box-shadow:0 24px 80px rgba(0,0,0,.38);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s ease;z-index:1100}
.bgs-menu-has-dropdown:hover .bgs-menu-dropdown,.bgs-menu-has-dropdown:focus-within .bgs-menu-dropdown{opacity:1;visibility:visible;transform:none}
.bgs-menu-dropdown a{display:flex!important;align-items:center;justify-content:space-between;padding:12px 11px;border-bottom:1px solid rgba(255,255,255,.065);font-size:10px!important}
.bgs-menu-dropdown a:last-child{border-bottom:0}.bgs-menu-dropdown a:after{content:'↗';color:var(--bgs-red);opacity:.65}

.bgs-mobile-toggle{width:42px;height:42px;padding:0;border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:var(--bgs-ink)}
.bgs-mobile-toggle span{display:block;width:17px;height:1.5px;background:currentColor;transition:transform .25s ease,opacity .2s ease,width .2s ease;transform-origin:center}
.bgs-mobile-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.bgs-mobile-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;width:0}
.bgs-mobile-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

@media(max-width:900px){
  .bgs-mobile-toggle{display:flex}
  .bgs-mobile-nav{display:block;position:fixed;left:0;right:0;top:78px;height:calc(100dvh - 78px);background:rgba(12,15,17,.985);border-bottom:0;padding:34px var(--bgs-gutter) 50px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .25s ease,visibility .25s ease,transform .3s cubic-bezier(.2,.75,.2,1);overflow:auto;z-index:999}
  .bgs-mobile-nav.is-open{display:block;opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .bgs-mobile-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
  .bgs-mobile-nav li{border-bottom:1px solid var(--bgs-line)}
  .bgs-mobile-nav a{display:flex;align-items:center;justify-content:space-between;padding:17px 0;font-family:var(--bgs-font-display);font-size:clamp(2rem,9vw,3.5rem);line-height:.95;text-transform:uppercase;letter-spacing:-.055em;color:var(--bgs-ink)}
  .bgs-mobile-nav a:after{content:'↗';font-family:var(--bgs-font-mono);font-size:13px;color:var(--bgs-red);letter-spacing:0}
  body.bgs-menu-open{overflow:hidden}
}
@media(max-width:650px){.bgs-mobile-nav{top:68px;height:calc(100dvh - 68px)}}

/* v2.2 readability, cache-safe mobile menu and editable storefront polish */
#bgs-mobile-navigation[hidden]{display:none!important}

.bgs-section-head p{
  color:#c7c8c5;
  line-height:1.65;
}

.bgs-collection-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.bgs-collection-card:nth-child(n){grid-column:auto}
.bgs-collection-card{
  min-height:380px;
}
.bgs-collection-content{
  padding:26px;
}
.bgs-collection-copy{
  position:relative;
  z-index:3;
  padding-right:4px;
}
.bgs-collection-content h3{
  max-width:100%;
  font-size:clamp(2rem,2.75vw,3.2rem);
  line-height:.9;
  letter-spacing:-.055em;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
.bgs-collection-content p{
  max-width:90%;
  margin-top:13px;
  color:#d0d1ce;
  font-size:.92rem;
  line-height:1.55;
}
.bgs-mini-book{
  top:78px;
  right:25px;
  bottom:auto;
  width:88px;
  height:132px;
  opacity:.62;
  transform:rotate(-9deg) skewY(1deg) translateZ(0);
  box-shadow:12px 10px 0 rgba(239,43,37,.9),0 18px 38px rgba(0,0,0,.38);
}
.bgs-mini-book:before{font-size:5px;left:9px;top:10px}
.bgs-mini-book:after{font-size:12px;left:9px;bottom:12px}

.bgs-feature-copy h2{
  text-wrap:balance;
  overflow-wrap:normal;
}
.bgs-feature-copy p,
.bgs-newsletter-copy p,
.bgs-journal-card p{
  color:#c7c8c5;
  line-height:1.65;
}

@media(max-width:1180px){
  .bgs-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bgs-collection-content h3{font-size:clamp(2.2rem,4.2vw,3.6rem)}
}
@media(max-width:900px){
  .bgs-collection-card:nth-child(n){grid-column:auto}
  .bgs-mobile-nav[hidden]{display:none!important}
  .bgs-mobile-nav:not([hidden]){display:block}
}
@media(max-width:650px){
  .bgs-collection-grid{grid-template-columns:1fr}
  .bgs-collection-card{min-height:330px}
  .bgs-collection-content{padding:22px}
  .bgs-collection-content h3{font-size:clamp(2.35rem,12vw,3.7rem);max-width:100%}
  .bgs-collection-content p{max-width:100%;padding-right:74px}
  .bgs-mini-book{width:72px;height:108px;top:74px;right:18px}
}
