/* =========================================================
   RED DOT GEEK — Master stylesheet
   Consolidated from 01-home through 08-404 HTML mockups.
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Bangers&family=Comic+Neue:ital,wght@0,400;0,700;1,400&display=swap');

:root{
  --black:#111;
  --yellow:#FFE600;
  --red:#E53935;
  --cream:#fff9e6;
  --dot:#f0d080;
  --border:4px solid #111;
  --shadow:5px 5px 0 #111;
  --head:'Bangers',cursive;
  --body:'Comic Neue',cursive;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:var(--body);
  background:var(--cream);
  background-image:radial-gradient(circle,var(--dot) 1px,transparent 1px);
  background-size:14px 14px;
  color:var(--black);
}
a{color:var(--red);text-decoration:none;}
a:hover{color:var(--black);}
img{max-width:100%;height:auto;}

.site{border:var(--border);max-width:1200px;margin:20px auto;overflow:hidden;background:var(--cream);}

/* ---------- HEADER ---------- */
.site-header{background:var(--black);border-bottom:var(--border);position:sticky;top:0;z-index:100;}
.topbar{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 1.5rem;gap:1rem;}
.logo{font-family:var(--head);font-size:30px;letter-spacing:4px;color:var(--yellow);text-shadow:3px 3px 0 var(--red);text-decoration:none;}
.logo span{color:var(--red);text-shadow:3px 3px 0 var(--yellow);}
.nav{display:flex;list-style:none;padding:0;margin:0;}
.nav a{font-family:var(--head);font-size:14px;letter-spacing:1.5px;color:var(--yellow);text-decoration:none;padding:0 14px;height:60px;display:flex;align-items:center;border-left:2px solid #333;transition:background .15s,color .15s;}
.nav a:hover,.nav a.active,.nav .current-menu-item > a,.nav .current_page_item > a{background:var(--yellow);color:var(--black);}
.cart-btn{font-family:var(--head);font-size:14px;letter-spacing:1px;color:var(--yellow);border:3px solid var(--yellow);padding:6px 14px;display:flex;align-items:center;gap:8px;text-decoration:none;transition:background .15s;}
.cart-btn:hover{background:var(--yellow);color:var(--black);}
.cart-count{background:var(--red);color:#fff;border-radius:50%;width:22px;height:22px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--yellow);}

/* ---------- TICKER ---------- */
.ticker{background:var(--yellow);border-bottom:3px solid var(--black);padding:9px 1.5rem;display:flex;gap:2.5rem;overflow:hidden;}
.tick-item{font-family:var(--head);font-size:14px;letter-spacing:2px;white-space:nowrap;display:flex;align-items:center;gap:8px;}
.tick-dot{width:7px;height:7px;background:var(--red);border-radius:50%;}

/* ---------- BREADCRUMB ---------- */
.breadcrumb,.woocommerce-breadcrumb{font-family:var(--head);font-size:13px;letter-spacing:1px;padding:1rem 2rem .5rem;color:var(--black);}
.breadcrumb a,.woocommerce-breadcrumb a{color:var(--red);}
.breadcrumb span,.woocommerce-breadcrumb .separator{color:#aaa;}

/* ---------- HERO (front page) ---------- */
.hero{display:grid;grid-template-columns:1fr 1fr;border-bottom:var(--border);min-height:400px;}
.hero-left{background:var(--red);border-right:var(--border);padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;}
.hero-left::before{content:'';position:absolute;top:-30px;left:-30px;width:160px;height:160px;background:var(--yellow);border-radius:50%;opacity:.12;}
.burst{position:absolute;top:14px;right:14px;width:80px;height:80px;background:var(--yellow);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);display:flex;align-items:center;justify-content:center;}
.burst-txt{font-family:var(--head);font-size:11px;color:var(--black);text-align:center;line-height:1.2;}
.eyebrow{font-family:var(--head);font-size:12px;letter-spacing:3px;color:var(--yellow);background:var(--black);display:inline-block;padding:2px 12px;margin-bottom:.75rem;}
.hero-title{font-family:var(--head);font-size:76px;line-height:.88;letter-spacing:2px;color:#fff;text-shadow:5px 5px 0 var(--black),-2px -2px 0 var(--black),2px -2px 0 var(--black),-2px 2px 0 var(--black);margin-bottom:1rem;}
.speech{background:#fff;border:3px solid var(--black);border-radius:16px 16px 16px 0;padding:10px 16px;font-size:14px;font-style:italic;color:var(--black);position:relative;margin-bottom:1.5rem;max-width:320px;line-height:1.5;}
.speech::after{content:'';position:absolute;bottom:-14px;left:20px;border:7px solid transparent;border-top-color:var(--black);}
.speech::before{content:'';position:absolute;bottom:-9px;left:21px;border:6px solid transparent;border-top-color:#fff;z-index:1;}
.btn{font-family:var(--head);font-size:18px;letter-spacing:2px;padding:10px 28px;background:var(--yellow);color:var(--black);border:3px solid var(--black);cursor:pointer;box-shadow:5px 5px 0 var(--black);display:inline-block;text-decoration:none;transition:transform .1s,box-shadow .1s;}
.btn:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--black);color:var(--black);}
.hero-right{display:grid;grid-template-columns:1fr 1fr;}
.hero-cover{border-right:var(--border);border-bottom:var(--border);overflow:hidden;position:relative;display:block;text-decoration:none;}
.hero-cover:nth-child(even){border-right:none;}
.hero-cover:nth-child(3),.hero-cover:nth-child(4){border-bottom:none;}
.cover-art{width:100%;aspect-ratio:2/3;display:flex;align-items:center;justify-content:center;transition:transform .25s;background:#1a1a2e;}
.cover-art img{width:100%;height:100%;object-fit:cover;}
.hero-cover:hover .cover-art{transform:scale(1.05);}
.c-label{position:absolute;bottom:0;left:0;right:0;background:var(--black);color:var(--yellow);font-family:var(--head);font-size:11px;letter-spacing:2px;padding:5px 8px;}

/* ---------- GENRE / SECTION ---------- */
.genre-section{padding:2rem;border-bottom:var(--border);}
.section-title{font-family:var(--head);font-size:36px;letter-spacing:2px;text-shadow:3px 3px 0 var(--yellow);margin-bottom:1.25rem;}
.genres-row{display:flex;gap:10px;flex-wrap:wrap;}
.chip{font-family:var(--head);font-size:15px;letter-spacing:2px;padding:6px 18px;border:3px solid var(--black);background:var(--cream);color:var(--black);text-decoration:none;box-shadow:3px 3px 0 var(--black);transition:transform .1s,box-shadow .1s,background .1s;display:inline-block;}
.chip:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--black);background:var(--yellow);color:var(--black);}
.chip.active{background:var(--black);color:var(--yellow);box-shadow:3px 3px 0 var(--red);}

/* ---------- DIVIDER ---------- */
.panel-div{display:flex;align-items:center;gap:12px;padding:8px 2rem;}
.panel-div::before,.panel-div::after{content:'';flex:1;height:3px;background:var(--black);}
.div-label{font-family:var(--head);font-size:20px;letter-spacing:2px;color:var(--red);white-space:nowrap;}

/* ---------- PRODUCT GRID (shared) ---------- */
.picks-section,.shop-main,.related-section,.popular-section{padding:2rem;}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;}
.see-all{font-family:var(--head);font-size:14px;letter-spacing:1px;color:var(--red);text-decoration:underline;}

.products,
ul.products{display:grid !important;grid-template-columns:repeat(5,1fr);gap:16px;list-style:none;padding:0;margin:0;}
.shop-main .products,.shop-main ul.products,
.related-grid,
.related-section .products,
.related-section ul.products{grid-template-columns:repeat(4,1fr);}
.popular-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}

.product-card,
ul.products li.product{
  border:3px solid var(--black);background:#fff;box-shadow:var(--shadow);
  transition:transform .12s,box-shadow .12s;position:relative;cursor:pointer;
  list-style:none;margin:0;padding:0;
}
.product-card:hover,
ul.products li.product:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--black);}
.prod-cover,
ul.products li.product .pc-cover{aspect-ratio:2/3;display:flex;align-items:center;justify-content:center;border-bottom:3px solid var(--black);overflow:hidden;background:#1a1a2e;}
.prod-cover img,
ul.products li.product .pc-cover img{width:100%;height:100%;object-fit:cover;}
.prod-info{padding:10px;}
.prod-title{font-family:var(--head);font-size:15px;letter-spacing:1px;color:var(--black);margin-bottom:2px;line-height:1.2;}
.prod-author{font-size:11px;color:#666;margin-bottom:8px;font-style:italic;}
.prod-footer{display:flex;align-items:center;justify-content:space-between;}
.prod-price,
ul.products li.product .price{font-family:var(--head);font-size:17px;letter-spacing:1px;color:var(--red);}
.prod-price del,.price del{color:#aaa;font-size:14px;margin-right:4px;}
.add-btn,
.prod-footer .button{font-family:var(--head);font-size:14px;letter-spacing:1px;min-width:30px;height:30px;border:2px solid var(--black);background:var(--yellow);color:var(--black);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:2px 2px 0 var(--black);transition:transform .1s;padding:0 10px;text-decoration:none;line-height:1;white-space:nowrap;}
/* The literal "+" button stays a square. */
.add-btn{width:30px;padding:0 0 2px 0;font-size:18px;}
.add-btn:hover,
.prod-footer .button:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--black);color:var(--black);background:var(--yellow);}
.badge{position:absolute;top:-2px;right:-2px;background:var(--red);color:#fff;font-family:var(--head);font-size:11px;letter-spacing:1px;padding:2px 8px;border:2px solid var(--black);z-index:2;}
.badge-sale,
ul.products li.product .onsale{
  background:#1565C0;
  position:absolute;top:-2px;right:-2px;color:#fff;font-family:var(--head);
  font-size:11px;letter-spacing:1px;padding:2px 8px;border:2px solid var(--black);z-index:2;
  min-height:auto;line-height:1.4;
}

/* ---------- SHOP / ARCHIVE ---------- */
.shop-head{padding:1rem 2rem 1.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--black);flex-wrap:wrap;gap:1rem;}
.shop-title{font-family:var(--head);font-size:48px;letter-spacing:2px;text-shadow:4px 4px 0 var(--yellow);}
.shop-controls{display:flex;align-items:center;gap:1rem;}
.results-count,.woocommerce-result-count{font-size:13px;color:#666;margin:0;}
.sort-select,.woocommerce-ordering select{font-family:var(--head);font-size:14px;letter-spacing:1px;border:3px solid var(--black);padding:6px 12px;background:#fff;cursor:pointer;box-shadow:3px 3px 0 var(--black);}
.shop-layout{display:grid;grid-template-columns:220px 1fr;gap:0;}

/* ---------- SIDEBAR / WIDGETS ---------- */
.sidebar{border-right:var(--border);padding:1.5rem;background:#fff;}
.widget{margin-bottom:1.5rem;border:3px solid var(--black);padding:1rem;background:var(--cream);box-shadow:4px 4px 0 var(--black);}
.widget-title,.widget h2,.widget h3{font-family:var(--head);font-size:20px;letter-spacing:2px;text-shadow:2px 2px 0 var(--yellow);border-bottom:3px solid var(--black);padding-bottom:8px;margin-bottom:10px;}
.filter-list,.widget ul{list-style:none;display:flex;flex-direction:column;gap:6px;padding:0;margin:0;}
.filter-list li,.widget ul li{display:flex;align-items:center;justify-content:space-between;}
.filter-list a,.widget ul li a{font-family:var(--head);font-size:14px;letter-spacing:1px;color:var(--black);text-decoration:none;transition:color .15s;}
.filter-list a:hover,.filter-list a.active,.widget ul li a:hover{color:var(--red);}
.filter-count{font-size:11px;color:#888;font-family:var(--body);}
.price-range{display:flex;flex-direction:column;gap:8px;}
.price-range input[type=range]{width:100%;accent-color:var(--red);}
.price-vals{display:flex;justify-content:space-between;font-family:var(--head);font-size:14px;}
.apply-btn{font-family:var(--head);font-size:14px;letter-spacing:1px;padding:6px 14px;background:var(--black);color:var(--yellow);border:2px solid var(--black);cursor:pointer;box-shadow:2px 2px 0 var(--black);transition:transform .1s;}
.apply-btn:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--black);}

/* ---------- PAGINATION ---------- */
.pagination,
nav.woocommerce-pagination ul{display:flex !important;gap:8px;justify-content:center;padding:2rem 0 0;flex-wrap:wrap;list-style:none;border:none !important;}
nav.woocommerce-pagination ul li{border:none !important;margin:0;}
.page-btn,
nav.woocommerce-pagination ul li a,
nav.woocommerce-pagination ul li span{font-family:var(--head);font-size:17px;letter-spacing:1px;border:3px solid var(--black);padding:6px 16px;background:#fff;color:var(--black);text-decoration:none;box-shadow:3px 3px 0 var(--black);transition:transform .1s,box-shadow .1s;display:inline-block;}
.page-btn:hover,
nav.woocommerce-pagination ul li a:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--black);background:var(--yellow);color:var(--black);}
.page-btn.current,
nav.woocommerce-pagination ul li span.current{background:var(--black);color:var(--yellow);}

/* ---------- SINGLE PRODUCT ---------- */
.product-layout,
.single-product div.product{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:var(--border);}
.product-gallery,
.single-product .woocommerce-product-gallery{border-right:var(--border);padding:2rem;display:flex;flex-direction:column;gap:1rem;background:#fff;width:auto !important;float:none !important;}
.main-image{border:3px solid var(--black);overflow:hidden;cursor:zoom-in;position:relative;}
.main-image svg,.main-image img{width:100%;height:auto;display:block;}
.thumbnails{display:flex;gap:10px;}
.thumb{border:3px solid var(--black);cursor:pointer;overflow:hidden;width:80px;height:80px;display:flex;align-items:center;justify-content:center;transition:box-shadow .1s;flex-shrink:0;}
.thumb:hover,.thumb.active{box-shadow:4px 4px 0 var(--black);}
.thumb.active{border-color:var(--red);}
.product-details,
.single-product div.product .summary{padding:2rem;display:flex;flex-direction:column;gap:1rem;width:auto !important;float:none !important;}
.product-badge{display:inline-block;background:var(--red);color:#fff;font-family:var(--head);font-size:13px;letter-spacing:2px;padding:3px 12px;border:2px solid var(--black);align-self:flex-start;}
.product-title,
.single-product .product_title{font-family:var(--head);font-size:52px;letter-spacing:2px;text-shadow:4px 4px 0 var(--yellow);line-height:.9;}
.product-meta{display:flex;gap:1rem;flex-wrap:wrap;}
.meta-item{font-size:13px;color:#666;}
.meta-item strong{font-family:var(--head);font-size:14px;letter-spacing:1px;color:var(--black);}
.stars,.woocommerce-product-rating{display:flex;align-items:center;gap:6px;}
.star{color:var(--yellow);font-size:18px;text-shadow:1px 1px 0 var(--black);}
.star.empty{color:#ccc;text-shadow:none;}
.review-count{font-size:13px;color:#888;}
.product-price,
.single-product .summary > .price,
.single-product .summary p.price{font-family:var(--head);font-size:44px;letter-spacing:2px;color:var(--red);margin:0;}
.product-desc,
.single-product .woocommerce-product-details__short-description{font-size:15px;line-height:1.7;color:#333;border-left:4px solid var(--yellow);padding-left:1rem;font-style:italic;}
.product-options,
.single-product form.cart{display:flex;flex-direction:column;gap:10px;align-items:flex-start;}
.qty-row{display:flex;align-items:center;gap:1rem;}
.qty-label{font-family:var(--head);font-size:16px;letter-spacing:1px;}
.qty-ctrl{display:flex;align-items:center;gap:0;border:3px solid var(--black);}
.qty-btn{font-family:var(--head);font-size:20px;width:36px;height:36px;background:var(--cream);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.qty-btn:hover{background:var(--yellow);}
.qty-input,
.single-product form.cart .quantity input.qty{font-family:var(--head);font-size:18px;width:50px;height:36px;border:none;border-left:3px solid var(--black);border-right:3px solid var(--black);text-align:center;background:#fff;}
.atc-btn,
.single-product form.cart button.single_add_to_cart_button{font-family:var(--head);font-size:22px;letter-spacing:2px;padding:12px 32px;background:var(--red);color:#fff;border:3px solid var(--black);cursor:pointer;box-shadow:5px 5px 0 var(--black);transition:transform .1s,box-shadow .1s;display:inline-flex;align-items:center;gap:10px;align-self:flex-start;}
.atc-btn:hover,
.single-product form.cart button.single_add_to_cart_button:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--black);background:var(--red);color:#fff;}
.product-tags,.product_meta{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:#666;}
.tag,.product_meta a{font-family:var(--head);font-size:13px;letter-spacing:1px;padding:3px 10px;border:2px solid var(--black);background:#fff;color:var(--black);box-shadow:2px 2px 0 var(--black);text-decoration:none;}

/* Tabs */
.product-tabs,
.woocommerce-tabs{border-bottom:var(--border);}
.tab-nav,
.woocommerce-tabs ul.tabs{display:flex;border-bottom:3px solid var(--black);background:#fff;list-style:none;padding:0;margin:0;}
.woocommerce-tabs ul.tabs li{margin:0;padding:0;border:none;background:transparent;}
.tab-btn,
.woocommerce-tabs ul.tabs li a{font-family:var(--head);font-size:18px;letter-spacing:2px;padding:14px 24px;background:transparent;border:none;border-right:2px solid #333;cursor:pointer;color:#888;transition:background .15s,color .15s;text-decoration:none;display:block;}
.tab-btn:hover,
.woocommerce-tabs ul.tabs li a:hover{background:var(--cream);}
.tab-btn.active,
.woocommerce-tabs ul.tabs li.active a{background:var(--black);color:var(--yellow);}
.tab-content,
.woocommerce-Tabs-panel{padding:2rem;background:#fff;display:none;}
.tab-content.active{display:block;}
.woocommerce-Tabs-panel{display:block;}

/* Reviews */
.review-card,
.commentlist li.comment{border:3px solid var(--black);padding:1rem;margin-bottom:1rem;background:var(--cream);box-shadow:3px 3px 0 var(--black);list-style:none;}
.reviewer,.commentlist .meta strong{font-family:var(--head);font-size:16px;letter-spacing:1px;}
.review-date{font-size:12px;color:#888;margin-bottom:6px;}
.review-text{font-size:14px;line-height:1.6;font-style:italic;}

/* ---------- PAGE TITLE BAR (cart, checkout, my account) ---------- */
.page-title-bar{padding:1rem 2rem 1.5rem;border-bottom:3px solid var(--black);background:#fff;}
.page-title{font-family:var(--head);font-size:52px;letter-spacing:2px;text-shadow:4px 4px 0 var(--yellow);}
.notice,
.woocommerce-info,
.woocommerce-message{margin:1rem 2rem;border:3px solid var(--black);padding:12px 16px;box-shadow:4px 4px 0 var(--black);background:var(--yellow);font-family:var(--head);font-size:16px;letter-spacing:1px;display:flex;align-items:center;gap:10px;color:var(--black);}
.woocommerce-error{margin:1rem 2rem;border:3px solid var(--black);padding:12px 16px;box-shadow:4px 4px 0 var(--black);background:var(--red);color:#fff;font-family:var(--head);font-size:16px;letter-spacing:1px;list-style:none;}

/* ---------- CART ---------- */
.cart-wrap{padding:2rem;display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start;}
.cart-table,
table.shop_table.cart{width:100%;border-collapse:collapse;border:3px solid var(--black);background:#fff;}
.cart-table th,
table.shop_table.cart th{font-family:var(--head);font-size:16px;letter-spacing:2px;background:var(--black);color:var(--yellow);padding:12px 14px;text-align:left;border-right:2px solid #333;}
.cart-table th:last-child,
table.shop_table.cart th:last-child{border-right:none;}
.cart-table td,
table.shop_table.cart td{padding:14px;border:2px solid #ddd;vertical-align:middle;}
.cart-table tr:hover td,
table.shop_table.cart tr:hover td{background:#fffdf0;}
.item-img,
table.shop_table.cart td.product-thumbnail img{width:70px;height:70px;display:block;border:2px solid var(--black);object-fit:cover;}
.item-img{display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.item-cell{display:flex;align-items:center;gap:14px;}
.item-name,
table.shop_table.cart td.product-name a{font-family:var(--head);font-size:16px;letter-spacing:1px;color:var(--black);text-decoration:none;}
.item-meta{font-size:12px;color:#888;margin-top:2px;font-style:italic;}
.item-price,
table.shop_table.cart td.product-price,
table.shop_table.cart td.product-subtotal{font-family:var(--head);font-size:18px;letter-spacing:1px;color:var(--red);}
table.shop_table.cart td.product-quantity .qty-ctrl{border:2px solid var(--black);}
table.shop_table.cart td.product-quantity .qty-btn{width:30px;height:30px;font-size:18px;}
table.shop_table.cart td.product-quantity input.qty{font-family:var(--head);font-size:16px;width:44px;height:30px;border:none;border-left:2px solid var(--black);border-right:2px solid var(--black);text-align:center;}
.remove-btn,
table.shop_table.cart .product-remove a.remove{font-family:var(--head);font-size:14px;color:var(--red) !important;border:2px solid var(--red);padding:4px 10px;background:transparent;cursor:pointer;transition:background .15s,color .15s;display:inline-block;text-decoration:none;width:auto;height:auto;border-radius:0;}
.remove-btn:hover,
table.shop_table.cart .product-remove a.remove:hover{background:var(--red);color:#fff !important;}

.coupon-row,
.cart_totals .coupon{display:flex;gap:10px;margin-top:1.5rem;align-items:center;flex-wrap:wrap;}
.coupon-row input,
.coupon input.input-text{font-family:var(--head);font-size:15px;letter-spacing:1px;border:3px solid var(--black);padding:9px 14px;background:#fff;width:220px;}
.coupon-row input:focus,
.coupon input.input-text:focus{outline:none;box-shadow:4px 4px 0 var(--yellow);}
.coupon-btn,
button[name="apply_coupon"],
button[name="update_cart"]{font-family:var(--head);font-size:15px;letter-spacing:1px;padding:9px 20px;background:var(--black);color:var(--yellow);border:3px solid var(--black);cursor:pointer;box-shadow:3px 3px 0 #555;transition:transform .1s;}
.coupon-btn:hover{transform:translate(1px,1px);}

.cart-totals,
.cart_totals{border:3px solid var(--black);background:#fff;box-shadow:var(--shadow);padding:0 !important;}
.cart_totals h2,
.totals-title{font-family:var(--head);font-size:24px;letter-spacing:2px;background:var(--black);color:var(--yellow);padding:12px 16px;text-shadow:2px 2px 0 var(--red);margin:0;}
.totals-body,
.cart_totals table.shop_table{padding:1.25rem;border:none !important;}
.cart_totals table.shop_table tr{border-bottom:2px solid #eee;}
.cart_totals table.shop_table th{background:transparent;color:var(--black);font-family:var(--head);font-size:16px;letter-spacing:1px;padding:8px 0;border-right:none;}
.cart_totals table.shop_table td{padding:8px 0;font-family:var(--head);font-size:18px;letter-spacing:1px;color:var(--red);border:none;text-align:right;}
.cart_totals .order-total td,
.cart_totals .order-total th{font-size:22px;}
.totals-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:2px solid #eee;font-size:15px;}
.totals-row:last-child{border-bottom:none;}
.totals-label{font-family:var(--head);font-size:16px;letter-spacing:1px;}
.totals-val{font-family:var(--head);font-size:18px;letter-spacing:1px;color:var(--red);}
.totals-row.grand .totals-label{font-size:22px;}
.totals-row.grand .totals-val{font-size:26px;}
.shipping-note{font-size:12px;color:#888;font-style:italic;margin-top:4px;}
.checkout-btn,
.wc-proceed-to-checkout a.checkout-button{font-family:var(--head);font-size:20px;letter-spacing:2px;padding:14px;background:var(--red);color:#fff !important;border:3px solid var(--black);cursor:pointer;box-shadow:5px 5px 0 var(--black);width:100%;margin-top:1.25rem;transition:transform .1s,box-shadow .1s;display:block;text-align:center;text-decoration:none;}
.checkout-btn:hover,
.wc-proceed-to-checkout a.checkout-button:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--black);color:#fff !important;}
.continue-link{display:block;text-align:center;font-family:var(--head);font-size:14px;letter-spacing:1px;color:var(--red);margin-top:10px;text-decoration:underline;text-underline-offset:3px;}

/* ---------- CHECKOUT ---------- */
.login-notice,
.woocommerce-form-login-toggle .woocommerce-info{margin:1rem 2rem;border:3px solid var(--black);padding:12px 16px;background:var(--yellow);font-size:14px;line-height:1.6;box-shadow:none;}
.login-notice strong{font-family:var(--head);letter-spacing:1px;}
.checkout-wrap,
form.checkout.woocommerce-checkout{padding:2rem;display:grid;grid-template-columns:1fr 380px;gap:2rem;align-items:start;}
form.checkout #customer_details{grid-column:1;}
form.checkout #order_review_heading,
form.checkout #order_review{grid-column:2;}
form.checkout #order_review_heading{display:none;}
.form-section{margin-bottom:2rem;}
.section-heading,
form.checkout h3,
form.woocommerce-checkout h3#order_review_heading{font-family:var(--head);font-size:28px;letter-spacing:2px;text-shadow:2px 2px 0 var(--yellow);border-bottom:3px solid var(--black);padding-bottom:8px;margin-bottom:1.25rem;}
.form-row-checkout{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.form-row-checkout.full{grid-template-columns:1fr;}
.form-group{display:flex;flex-direction:column;gap:4px;}
form.checkout .form-row{margin:0 0 1rem;padding:0;}
form.checkout .form-row label{font-family:var(--head);font-size:15px;letter-spacing:1px;display:block;margin-bottom:4px;}
.req,abbr.required{color:var(--red);text-decoration:none;}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],select,textarea,
form.checkout .input-text,
form.checkout select{font-family:var(--body);font-size:15px;border:3px solid var(--black);padding:9px 12px;background:#fff;color:var(--black);width:100%;}
input:focus,select:focus,textarea:focus{outline:none;box-shadow:4px 4px 0 var(--yellow);}
.checkbox-row{display:flex;align-items:center;gap:10px;margin:8px 0;}
.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--red);flex-shrink:0;}
.checkbox-row label{font-family:var(--head);font-size:14px;letter-spacing:1px;margin:0;}

.payment-methods,
.woocommerce-checkout #payment ul.payment_methods{display:flex;flex-direction:column;gap:10px;margin-bottom:1.25rem;list-style:none;padding:0;background:transparent;border:none;}
.payment-option,
.woocommerce-checkout #payment ul.payment_methods li{border:3px solid var(--black);padding:14px;background:#fff;cursor:pointer;transition:box-shadow .1s;display:flex;flex-direction:column;gap:8px;}
.payment-option.selected,
.woocommerce-checkout #payment ul.payment_methods li input:checked + label{box-shadow:4px 4px 0 var(--yellow);}
.payment-label{display:flex;align-items:center;gap:10px;font-family:var(--head);font-size:16px;letter-spacing:1px;}
.payment-label input[type=radio]{width:18px;height:18px;accent-color:var(--red);}
.card-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:4px;}
.card-icons{display:flex;gap:6px;align-items:center;}
.card-icon{background:var(--black);color:var(--yellow);font-family:var(--head);font-size:10px;letter-spacing:1px;padding:3px 8px;border-radius:3px;}

.order-summary,
.woocommerce-checkout-review-order{border:3px solid var(--black);background:#fff;box-shadow:var(--shadow);}
.summary-title,
.woocommerce-checkout-review-order::before{display:none;}
.order-summary .summary-title{display:block;font-family:var(--head);font-size:22px;letter-spacing:2px;background:var(--black);color:var(--yellow);padding:12px 16px;text-shadow:2px 2px 0 var(--red);}
.summary-body{padding:1.25rem;}
.order-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:2px solid #eee;}
.item-name-qty{display:flex;gap:8px;align-items:baseline;}
.item-qty-badge{background:var(--red);color:#fff;font-family:var(--head);font-size:12px;padding:1px 7px;border-radius:10px;}
.item-name-txt{font-family:var(--head);font-size:14px;letter-spacing:1px;}
.item-line-price{font-family:var(--head);font-size:16px;color:var(--red);}
.summary-totals{padding-top:10px;}
.sum-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #eee;}
.sum-row.grand{border-bottom:none;padding-top:10px;}
.sum-label{font-family:var(--head);font-size:15px;letter-spacing:1px;}
.sum-val{font-family:var(--head);font-size:17px;color:var(--red);}
.sum-row.grand .sum-label{font-size:22px;}
.sum-row.grand .sum-val{font-size:26px;}
.place-order-btn,
.woocommerce-checkout #payment #place_order{font-family:var(--head);font-size:22px;letter-spacing:2px;padding:14px;background:var(--red);color:#fff !important;border:3px solid var(--black);cursor:pointer;box-shadow:5px 5px 0 var(--black);width:100%;margin-top:1.25rem;transition:transform .1s,box-shadow .1s;display:block;text-align:center;text-decoration:none;}
.place-order-btn:hover,
.woocommerce-checkout #payment #place_order:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--black);color:#fff !important;}
.secure-note{text-align:center;font-size:12px;color:#888;margin-top:10px;font-style:italic;}

.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{padding:8px 0;font-size:14px;border-bottom:1px solid #eee;text-align:left;}
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td{font-family:var(--head);font-size:15px;letter-spacing:1px;}
.woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout-review-order-table tfoot tr:last-child td{font-size:22px;color:var(--red);border-bottom:none;}

/* ---------- ORDER CONFIRMATION ---------- */
.confirm-hero{background:var(--red);border-bottom:var(--border);padding:3rem 2rem;text-align:center;position:relative;overflow:hidden;}
.confirm-hero::before{content:'';position:absolute;top:-60px;left:-60px;width:200px;height:200px;background:var(--yellow);border-radius:50%;opacity:.12;}
.confirm-hero::after{content:'';position:absolute;bottom:-60px;right:-60px;width:200px;height:200px;background:var(--yellow);border-radius:50%;opacity:.1;}
.kapow{font-family:var(--head);font-size:90px;line-height:.85;letter-spacing:4px;color:#fff;text-shadow:8px 8px 0 var(--black),-2px -2px 0 var(--black),2px -2px 0 var(--black),-2px 2px 0 var(--black);position:relative;z-index:1;}
.confirm-subtitle{font-family:var(--head);font-size:28px;letter-spacing:3px;color:var(--yellow);text-shadow:3px 3px 0 var(--black);margin-top:.5rem;position:relative;z-index:1;}
.confirm-msg{background:#fff;border:3px solid var(--black);border-radius:16px;padding:12px 20px;font-size:15px;font-style:italic;color:var(--black);display:inline-block;margin-top:1.25rem;position:relative;z-index:1;max-width:480px;}
.order-info-bar{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:var(--border);background:#fff;}
.info-cell{padding:1.25rem;border-right:3px solid var(--black);text-align:center;}
.info-cell:last-child{border-right:none;}
.info-label{font-family:var(--head);font-size:12px;letter-spacing:2px;color:#888;text-transform:uppercase;margin-bottom:4px;}
.info-val{font-family:var(--head);font-size:20px;letter-spacing:1px;color:var(--black);}
.info-val.red{color:var(--red);}
.confirm-wrap{padding:2rem;display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start;}
.order-section{border:3px solid var(--black);background:#fff;box-shadow:var(--shadow);}
.order-section-title{font-family:var(--head);font-size:22px;letter-spacing:2px;background:var(--black);color:var(--yellow);padding:12px 16px;}
.order-items{padding:1rem;}
.order-item-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:2px solid #eee;}
.order-item-row:last-child{border-bottom:none;}
.order-item-img{width:64px;height:64px;border:2px solid var(--black);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.order-item-img img{width:100%;height:100%;object-fit:cover;}
.order-item-name{font-family:var(--head);font-size:16px;letter-spacing:1px;}
.order-item-meta{font-size:12px;color:#888;font-style:italic;margin-top:2px;}
.order-item-price{font-family:var(--head);font-size:18px;color:var(--red);margin-left:auto;flex-shrink:0;}
.addr-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.addr-cell{padding:1.25rem;border-right:3px solid var(--black);}
.addr-cell:last-child{border-right:none;}
.addr-title{font-family:var(--head);font-size:16px;letter-spacing:1px;text-shadow:1px 1px 0 var(--yellow);margin-bottom:8px;}
.addr-text{font-size:14px;line-height:1.7;color:#333;}
.confirm-totals{border:3px solid var(--black);background:#fff;box-shadow:var(--shadow);}
.confirm-totals-title{font-family:var(--head);font-size:22px;letter-spacing:2px;background:var(--black);color:var(--yellow);padding:12px 16px;}
.confirm-totals .totals-body{padding:1.25rem;}
.tot-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:2px solid #eee;font-size:14px;}
.tot-row:last-child{border-bottom:none;padding-top:12px;}
.tot-label{font-family:var(--head);font-size:15px;letter-spacing:1px;}
.tot-val{font-family:var(--head);font-size:17px;color:var(--red);}
.tot-row.grand .tot-label{font-size:22px;}
.tot-row.grand .tot-val{font-size:26px;}
.cta-section{padding:0 1.25rem 1.25rem;}
.cta-btn{font-family:var(--head);font-size:18px;letter-spacing:2px;padding:12px;border:3px solid var(--black);cursor:pointer;box-shadow:4px 4px 0 var(--black);width:100%;margin-top:10px;text-align:center;display:block;transition:transform .1s,box-shadow .1s;text-decoration:none;}
.cta-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--black);}
.cta-btn-shop{background:var(--yellow);color:var(--black);}
.cta-btn-shop:hover{color:var(--black);}
.cta-btn-account{background:var(--black);color:var(--yellow);}
.cta-btn-account:hover{color:var(--yellow);}
.next-steps{padding:0 1.25rem 1.25rem;}
.next-title{font-family:var(--head);font-size:18px;letter-spacing:1px;margin-bottom:10px;border-bottom:2px solid #eee;padding-bottom:6px;}
.step{display:flex;gap:10px;margin-bottom:10px;align-items:flex-start;}
.step-num{font-family:var(--head);font-size:14px;background:var(--yellow);border:2px solid var(--black);width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.step-text{font-size:13px;color:#444;line-height:1.5;}

/* ---------- MY ACCOUNT ---------- */
.account-layout,
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px 1fr;}
.woocommerce-account .woocommerce-MyAccount-navigation,
.account-nav{border-right:var(--border);background:#fff;width:auto !important;float:none !important;}
.account-avatar{padding:1.5rem;border-bottom:3px solid var(--black);text-align:center;}
.avatar-circle{width:70px;height:70px;border-radius:50%;background:var(--black);border:3px solid var(--yellow);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;}
.avatar-initials{font-family:var(--head);font-size:28px;letter-spacing:2px;color:var(--yellow);}
.avatar-name{font-family:var(--head);font-size:16px;letter-spacing:1px;color:var(--black);}
.avatar-member{font-size:12px;color:#888;font-style:italic;}
.account-menu,
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;}
.account-menu li a,
.woocommerce-MyAccount-navigation ul li a{font-family:var(--head);font-size:16px;letter-spacing:1.5px;color:var(--black);text-decoration:none;padding:14px 1.25rem;display:flex;align-items:center;gap:10px;border-bottom:2px solid #eee;transition:background .15s,color .15s;}
.account-menu li a:hover,.account-menu li a.active,
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a{background:var(--yellow);color:var(--black);}
.account-menu li a.logout,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--red);}
.account-menu li a.logout:hover,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{background:var(--red);color:#fff;}
.menu-icon{font-size:16px;}

.woocommerce-MyAccount-content,
.account-main{padding:2rem;width:auto !important;float:none !important;}
.welcome-burst{background:var(--red);border:3px solid var(--black);padding:1.25rem 1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow);position:relative;overflow:hidden;}
.welcome-burst::before{content:'';position:absolute;top:-20px;right:-20px;width:80px;height:80px;background:var(--yellow);border-radius:50%;opacity:.2;}
.welcome-text{font-family:var(--head);font-size:26px;letter-spacing:2px;color:#fff;text-shadow:2px 2px 0 var(--black);}
.welcome-sub{font-size:14px;color:#ffcdd2;margin-top:4px;}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;}
.dash-card{border:3px solid var(--black);background:#fff;padding:1rem;box-shadow:3px 3px 0 var(--black);text-align:center;}
.dash-num{font-family:var(--head);font-size:40px;letter-spacing:2px;color:var(--red);}
.dash-label{font-family:var(--head);font-size:14px;letter-spacing:1px;color:#888;}
.orders-table,
table.woocommerce-orders-table,
table.account-orders-table{width:100%;border-collapse:collapse;border:3px solid var(--black);}
.orders-table th,
table.woocommerce-orders-table th,
table.account-orders-table th{font-family:var(--head);font-size:14px;letter-spacing:2px;background:var(--black);color:var(--yellow);padding:10px 12px;text-align:left;border-right:2px solid #333;}
.orders-table th:last-child{border-right:none;}
.orders-table td,
table.woocommerce-orders-table td,
table.account-orders-table td{padding:12px;border:2px solid #ddd;font-size:14px;vertical-align:middle;}
.status-badge{font-family:var(--head);font-size:12px;letter-spacing:1px;padding:3px 10px;border:2px solid var(--black);display:inline-block;}
.status-completed{background:#e8f5e9;color:#2e7d32;}
.status-processing{background:#fff3e0;color:#e65100;}
.status-shipped{background:#e3f2fd;color:#1565c0;}
.order-link{font-family:var(--head);font-size:13px;letter-spacing:1px;color:var(--red);text-decoration:underline;text-underline-offset:3px;border:none;background:transparent;cursor:pointer;}
.addresses-grid,
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.address-card,
.woocommerce-Address{border:3px solid var(--black);padding:1.25rem;background:#fff;box-shadow:var(--shadow);position:relative;}
.addr-card-title,
.woocommerce-Address-title h3{font-family:var(--head);font-size:20px;letter-spacing:1px;text-shadow:2px 2px 0 var(--yellow);margin-bottom:10px;}
.addr-card-text,
.woocommerce-Address address{font-size:14px;line-height:1.8;color:#333;font-style:normal;}
.edit-addr-btn,
.woocommerce-Address-title .edit{font-family:var(--head);font-size:13px;letter-spacing:1px;margin-top:12px;padding:5px 16px;background:var(--cream);border:3px solid var(--black);cursor:pointer;box-shadow:2px 2px 0 var(--black);transition:transform .1s;text-decoration:none;color:var(--black);display:inline-block;}
.edit-addr-btn:hover,
.woocommerce-Address-title .edit:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--black);color:var(--black);}
.account-form{max-width:560px;}
.form-row-account{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.save-btn,
.woocommerce-Button.button[type=submit]{font-family:var(--head);font-size:18px;letter-spacing:2px;padding:10px 28px;background:var(--red);color:#fff !important;border:3px solid var(--black);cursor:pointer;box-shadow:4px 4px 0 var(--black);transition:transform .1s,box-shadow .1s;margin-top:.5rem;text-decoration:none;display:inline-block;}
.save-btn:hover,
.woocommerce-Button.button[type=submit]:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--black);}

/* Login / register forms */
.woocommerce-form-login,
.woocommerce-form-register{border:3px solid var(--black);background:#fff;padding:1.5rem;box-shadow:var(--shadow);max-width:480px;}
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row{margin-bottom:1rem;}

/* ---------- 404 ---------- */
.error-page{min-height:520px;display:flex;align-items:center;justify-content:center;padding:3rem 2rem;}
.error-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:900px;}
.error-art{position:relative;}
.explosion{width:100%;max-width:340px;}
.error-code{font-family:var(--head);font-size:120px;line-height:.85;color:var(--red);text-shadow:8px 8px 0 var(--black),-2px -2px 0 var(--black),2px -2px 0 var(--black),-2px 2px 0 var(--black);}
.error-title{font-family:var(--head);font-size:52px;letter-spacing:2px;color:var(--black);text-shadow:4px 4px 0 var(--yellow);margin-bottom:1rem;}
.error-speech{background:#fff;border:3px solid var(--black);border-radius:16px 16px 16px 0;padding:14px 18px;font-size:15px;font-style:italic;color:var(--black);position:relative;margin-bottom:1.5rem;max-width:380px;line-height:1.5;}
.error-speech::after{content:'';position:absolute;bottom:-14px;left:20px;border:7px solid transparent;border-top-color:var(--black);}
.error-speech::before{content:'';position:absolute;bottom:-9px;left:21px;border:6px solid transparent;border-top-color:#fff;z-index:1;}
.error-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:1.5rem;}
.btn-red{background:var(--red);color:#fff;}
.btn-red:hover{color:#fff;}
.btn-yellow{background:var(--yellow);color:var(--black);}
.btn-yellow:hover{color:var(--black);}
.error-search{display:flex;gap:0;max-width:380px;}
.error-search input{font-family:var(--head);font-size:15px;letter-spacing:1px;border:3px solid var(--black);border-right:none;padding:9px 14px;background:#fff;flex:1;}
.error-search input:focus{outline:none;box-shadow:0 0 0 3px var(--yellow);}
.search-btn{font-family:var(--head);font-size:15px;letter-spacing:1px;padding:9px 18px;background:var(--black);color:var(--yellow);border:3px solid var(--black);cursor:pointer;white-space:nowrap;transition:background .15s;}
.search-btn:hover{background:var(--red);}
.popular-section{padding:2rem;border-top:var(--border);background:#fff;}
.popular-title{font-family:var(--head);font-size:30px;letter-spacing:2px;text-shadow:3px 3px 0 var(--yellow);margin-bottom:1.25rem;}
.pop-card{border:3px solid var(--black);background:var(--cream);box-shadow:3px 3px 0 var(--black);transition:transform .1s,box-shadow .1s;cursor:pointer;text-decoration:none;display:block;}
.pop-card:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--black);}
.pop-cover{aspect-ratio:2/3;display:flex;align-items:center;justify-content:center;border-bottom:3px solid var(--black);overflow:hidden;background:#1a1a2e;}
.pop-cover img{width:100%;height:100%;object-fit:cover;}
.pop-info{padding:8px 10px;}
.pop-title{font-family:var(--head);font-size:14px;letter-spacing:1px;color:var(--black);}
.pop-price{font-family:var(--head);font-size:14px;color:var(--red);}

/* ---------- GENERIC PAGE / POST ---------- */
.page-content,
.entry-content{padding:2rem;line-height:1.7;font-size:16px;}
.page-content h1,.entry-content h1{font-family:var(--head);font-size:48px;letter-spacing:2px;text-shadow:3px 3px 0 var(--yellow);margin-bottom:1rem;}
.page-content h2,.entry-content h2{font-family:var(--head);font-size:32px;letter-spacing:2px;margin:1.5rem 0 1rem;text-shadow:2px 2px 0 var(--yellow);}
.page-content h3,.entry-content h3{font-family:var(--head);font-size:24px;letter-spacing:1px;margin:1rem 0 .5rem;}
.page-content p,.entry-content p{margin-bottom:1rem;}
.page-content a,.entry-content a{text-decoration:underline;text-underline-offset:3px;}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--black);border-top:var(--border);}
.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:2rem 1.75rem;flex-wrap:wrap;}
.f-logo{font-family:var(--head);font-size:28px;letter-spacing:4px;color:var(--yellow);text-shadow:3px 3px 0 var(--red);margin-bottom:6px;}
.f-logo span{color:var(--red);}
.f-tagline{font-size:13px;font-style:italic;color:#777;}
.f-links{display:flex;flex-direction:column;gap:6px;list-style:none;padding:0;margin:0;}
.f-links a{font-family:var(--head);font-size:14px;letter-spacing:1px;color:#777;text-decoration:none;}
.f-links a:hover{color:var(--yellow);}
.footer-bottom{display:flex;justify-content:space-between;padding:1rem 1.75rem;border-top:2px solid #333;font-size:12px;color:#555;flex-wrap:wrap;gap:8px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:960px){
  .hero{grid-template-columns:1fr;}
  .hero-left{border-right:none;border-bottom:var(--border);}
  .products,ul.products,.shop-main .products,.shop-main ul.products{grid-template-columns:repeat(3,1fr);}
  .related-grid,.popular-grid{grid-template-columns:repeat(3,1fr);}
  .shop-layout,.account-layout,.woocommerce-account .woocommerce{grid-template-columns:1fr;}
  .sidebar,.account-nav,.woocommerce-account .woocommerce-MyAccount-navigation{border-right:none;border-bottom:var(--border);}
  .product-layout,.single-product div.product{grid-template-columns:1fr;}
  .product-gallery,.single-product .woocommerce-product-gallery{border-right:none;border-bottom:var(--border);}
  .cart-wrap,.checkout-wrap,form.checkout.woocommerce-checkout,.confirm-wrap{grid-template-columns:1fr;}
  form.checkout #order_review_heading,form.checkout #order_review{grid-column:1;}
  .order-info-bar{grid-template-columns:repeat(2,1fr);}
  .info-cell:nth-child(2){border-right:none;}
  .addr-grid,.addresses-grid,.woocommerce-Addresses{grid-template-columns:1fr;}
  .error-inner{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .topbar{flex-wrap:wrap;height:auto;padding:.75rem 1rem;}
  .nav{order:3;width:100%;justify-content:center;flex-wrap:wrap;}
  .nav a{height:44px;border-left:none;border-top:2px solid #333;}
  .products,ul.products,.shop-main .products,.shop-main ul.products,
  .related-grid,.popular-grid{grid-template-columns:repeat(2,1fr);}
  .hero-title{font-size:54px;}
  .product-title,.single-product .product_title,.page-title,.shop-title{font-size:36px;}
  .kapow{font-size:60px;}
  .dashboard-grid{grid-template-columns:1fr;}
}

/* ============================================================
   WooCommerce loop override patch
   Defeats default float/width/margin/img-height rules from
   woocommerce.css that would otherwise squash our grid cards.
   ============================================================ */
ul.products{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:16px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.shop-main ul.products,
.related ul.products,
.related-section ul.products{
  grid-template-columns:repeat(4,1fr) !important;
}

ul.products li.product{
  width:auto !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  clear:none !important;
  min-width:0;          /* lets long titles wrap inside the grid track */
}

/* Image container fills the cell; image fills the container. */
ul.products li.product .pc-cover{
  width:100% !important;
  display:block;
  position:relative;
}
ul.products li.product img,
ul.products li.product .pc-cover img,
ul.products li.product a img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 !important;
  box-shadow:none !important;
}

/* Clamp absurdly long titles so one bad product doesn't blow up
   the whole row's height. Full title still shows on the PDP. */
ul.products li.product .prod-title{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  word-break:break-word;
  overflow-wrap:anywhere;
  min-height:2.4em;
}

/* Responsive grid override (also !important so we win the cascade). */
@media (max-width:960px){
  ul.products,
  .shop-main ul.products{grid-template-columns:repeat(3,1fr) !important;}
}
@media (max-width:600px){
  ul.products,
  .shop-main ul.products{grid-template-columns:repeat(2,1fr) !important;}
}
