/*
Theme Name: One Pound Crisps
Theme URI: https://onepoundcrisps.com
Author: Designed By Stu
Author URI: https://designedbystu.com
Description: Bold, bright, conversion-optimised WooCommerce theme for One Pound Crisps.
Version: 1.0.0
License: GPL v2 or later
Text Domain: opc-theme
WC requires at least: 7.0
WC tested up to: 9.0
*/

:root {
  --opc-yellow:#F9C500;
  --opc-red:#E61B0A;
  --opc-dark:#111111;
  --opc-orange:#FF6A00;
  --opc-cream:#FFF9E8;
  --opc-navy:#0F1E35;
  --opc-green:#00A651;
  --opc-white:#ffffff;
  --opc-grey:#f4f4f4;
  --opc-text:#333333;
  --opc-border:#e0e0e0;
  --opc-radius:16px;
  --opc-radius-sm:10px;
  --opc-shadow:0 2px 12px rgba(0,0,0,.06);
  --opc-shadow-hover:0 12px 30px rgba(0,0,0,.12);
  --opc-max:1300px;
  --opc-font-head:'Fredoka One',cursive;
  --opc-font-body:'Nunito',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--opc-font-body);color:var(--opc-text);background:#fff;margin:0;padding:0}
img{max-width:100%;height:auto}
a{text-decoration:none}
ul{list-style:none;padding:0;margin:0}
h1,h2,h3,h4,h5,h6{font-family:var(--opc-font-head);line-height:1.1;color:var(--opc-dark);margin:0 0 12px}
p{line-height:1.7;margin:0 0 12px}

.opc-container{max-width:var(--opc-max);margin:0 auto;padding:0 20px}
.opc-section{padding:60px 20px}
.opc-section-inner{max-width:var(--opc-max);margin:0 auto}

/* ANNOUNCEMENT BAR */
.opc-ann-bar{background:var(--opc-red);color:#fff;text-align:center;padding:9px 16px;font-size:13px;font-weight:800;letter-spacing:.3px}
.opc-ann-bar a{color:var(--opc-yellow)}

/* HEADER */
.opc-header{background:#fff;border-bottom:3px solid var(--opc-yellow);position:sticky;top:0;z-index:200;box-shadow:var(--opc-shadow)}
.opc-header-inner{max-width:var(--opc-max);margin:0 auto;padding:0 20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;height:72px}
.opc-logo{font-family:var(--opc-font-head);font-size:26px;color:var(--opc-red);display:flex;align-items:center;gap:8px}
.opc-logo img{height:50px;width:auto}
.opc-logo-badge{background:var(--opc-yellow);color:var(--opc-dark);padding:2px 8px;border-radius:4px;font-size:14px}
.opc-search{position:relative}
.opc-search input{width:100%;padding:11px 44px 11px 16px;border:2.5px solid var(--opc-border);border-radius:30px;font-family:var(--opc-font-body);font-size:14px;outline:none;transition:border-color .2s}
.opc-search input:focus{border-color:var(--opc-yellow)}
.opc-search button{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;color:#999}
.opc-header-actions{display:flex;align-items:center;gap:12px}
.opc-header-icon{display:flex;flex-direction:column;align-items:center;color:var(--opc-text);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;gap:2px}
.opc-basket-btn{background:var(--opc-yellow);color:var(--opc-dark);padding:10px 18px;border-radius:25px;display:flex;align-items:center;gap:8px;font-weight:900;font-size:14px;transition:all .2s}
.opc-basket-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(249,197,0,.4);color:var(--opc-dark)}
.opc-basket-count{background:var(--opc-red);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}
.opc-mobile-toggle{display:none;background:none;border:2px solid var(--opc-border);border-radius:8px;padding:8px 10px;font-size:20px;cursor:pointer;color:var(--opc-dark)}

/* NAVIGATION — targets both WP default menu output and custom fallback */
.opc-nav{background:var(--opc-red)}
.opc-nav-inner{max-width:var(--opc-max);margin:0 auto;padding:0 20px;display:flex}

/* WP nav menu ul reset */
.opc-nav-inner ul,.opc-nav-inner ul.menu{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0;width:100%}

/* Top-level nav items */
.opc-nav-inner ul > li,
.opc-nav-inner ul.menu > li.menu-item,
.opc-nav-item{position:relative;list-style:none}

/* Top-level nav links */
.opc-nav-inner ul > li > a,
.opc-nav-inner ul.menu > li.menu-item > a,
.opc-nav-link{display:flex;align-items:center;gap:5px;color:#fff;padding:14px 18px;font-family:var(--opc-font-body);font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.4px;transition:background .2s;white-space:nowrap;cursor:pointer;line-height:1}

.opc-nav-inner ul > li > a:hover,
.opc-nav-inner ul.menu > li.menu-item:hover > a,
.opc-nav-inner ul.menu > li.current-menu-item > a,
.opc-nav-inner ul.menu > li.current-menu-ancestor > a,
.opc-nav-link:hover,
.opc-nav-link.current{background:rgba(0,0,0,.2);color:#fff}

/* Sale item highlight */
.opc-nav-inner ul.menu > li.menu-item.sale > a,
.opc-nav-link.sale{color:var(--opc-yellow)}

/* Has-children indicator */
.opc-nav-inner ul.menu > li.menu-item-has-children > a::after{content:'▾';margin-left:4px;font-size:10px;opacity:.7}

/* DROPDOWN — WP sub-menu */
.opc-nav-inner ul.menu > li.menu-item > ul.sub-menu,
.opc-dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;border-top:3px solid var(--opc-yellow);box-shadow:0 12px 40px rgba(0,0,0,.15);min-width:220px;z-index:300;list-style:none;padding:6px 0;margin:0}

.opc-nav-inner ul.menu > li.menu-item:hover > ul.sub-menu,
.opc-nav-item:hover .opc-dropdown{display:block}

/* Dropdown items */
.opc-nav-inner ul.menu > li.menu-item > ul.sub-menu > li > a,
.opc-dropdown a{display:block;padding:10px 22px;color:var(--opc-text);font-family:var(--opc-font-body);font-size:14px;font-weight:600;border-bottom:1px solid #f5f5f5;transition:all .2s;white-space:nowrap}

.opc-nav-inner ul.menu > li.menu-item > ul.sub-menu > li:last-child > a{border-bottom:none}

.opc-nav-inner ul.menu > li.menu-item > ul.sub-menu > li > a:hover,
.opc-dropdown a:hover{background:var(--opc-cream);color:var(--opc-red);padding-left:28px}

/* MEGA MENU — add class "mega" to a top-level WP menu item */
.opc-nav-inner ul.menu > li.mega > ul.sub-menu{width:700px;display:none;grid-template-columns:repeat(3,1fr);gap:0;left:0}
.opc-nav-inner ul.menu > li.mega:hover > ul.sub-menu{display:grid}
.opc-nav-inner ul.menu > li.mega > ul.sub-menu > li{border-right:1px solid #f0f0f0}
.opc-nav-inner ul.menu > li.mega > ul.sub-menu > li:last-child{border-right:none}
.opc-nav-inner ul.menu > li.mega > ul.sub-menu > li > a{font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--opc-red);padding:16px 22px 8px;background:none}
.opc-nav-inner ul.menu > li.mega > ul.sub-menu > li > a:hover{background:none;padding-left:22px;text-decoration:underline}
.opc-nav-inner ul.menu > li.mega > ul.sub-menu > li ul{position:static;display:block;box-shadow:none;border:none;padding:0 0 12px;min-width:0}
.opc-nav-inner ul.menu > li.mega > ul.sub-menu > li ul li a{padding:6px 22px;font-size:13px;font-weight:600;border-bottom:none}

/* Mobile nav override */
@media(max-width:768px){
    .opc-nav{display:none}
    .opc-nav.open{display:block}
    .opc-nav-inner{padding:0}
    .opc-nav-inner ul,.opc-nav-inner ul.menu{flex-direction:column;width:100%}
    .opc-nav-inner ul.menu > li.menu-item > ul.sub-menu{display:block;position:static;box-shadow:none;border-top:none;border-left:4px solid rgba(255,255,255,.2);background:rgba(0,0,0,.2);min-width:0;padding:0}
    .opc-nav-inner ul.menu > li.menu-item > ul.sub-menu > li > a{color:rgba(255,255,255,.85);border-bottom-color:rgba(255,255,255,.1);padding:10px 30px;font-size:13px}
    .opc-nav-inner ul.menu > li.mega > ul.sub-menu{display:block;grid-template-columns:none}
    .opc-nav-inner ul.menu > li.mega:hover > ul.sub-menu{display:block}
    .opc-nav-inner ul > li > a,.opc-nav-inner ul.menu > li.menu-item > a{padding:13px 20px;border-bottom:1px solid rgba(255,255,255,.15)}
}

/* TRUST BAR */
.opc-trust{background:var(--opc-navy);color:#fff;padding:10px 20px}
.opc-trust-inner{max-width:var(--opc-max);margin:0 auto;display:flex;justify-content:center;gap:36px;flex-wrap:wrap}
.opc-trust-item{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700}

/* BUTTONS */
.opc-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:30px;font-family:var(--opc-font-body);font-weight:900;font-size:15px;cursor:pointer;border:none;transition:all .2s;text-decoration:none;line-height:1}
.opc-btn-primary{background:var(--opc-yellow);color:var(--opc-dark)}
.opc-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(249,197,0,.4);color:var(--opc-dark)}
.opc-btn-red{background:var(--opc-red);color:#fff}
.opc-btn-red:hover{background:#c41000;transform:translateY(-2px);box-shadow:0 6px 20px rgba(230,27,10,.3);color:#fff}
.opc-btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.4)}
.opc-btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.1);color:#fff}
.opc-btn-white{background:#fff;color:var(--opc-dark)}
.opc-btn-white:hover{background:var(--opc-cream);color:var(--opc-dark)}

/* SECTION HEADERS */
.opc-section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;flex-wrap:wrap;gap:10px}
.opc-section-title{font-family:var(--opc-font-head);font-size:clamp(22px,4vw,36px);color:var(--opc-dark);margin:0 0 4px}
.opc-section-sub{color:#777;font-size:15px;margin:0}
.opc-see-all{color:var(--opc-red);font-weight:800;font-size:14px;display:flex;align-items:center;gap:4px;white-space:nowrap}
.opc-see-all:hover{text-decoration:underline;color:var(--opc-red)}

/* BREADCRUMB */
.opc-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:#999;flex-wrap:wrap;padding:16px 0}
.opc-breadcrumb a{color:#999;font-weight:600;transition:color .2s}
.opc-breadcrumb a:hover{color:var(--opc-red)}
.woocommerce-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:#999;flex-wrap:wrap;padding:16px 0;max-width:var(--opc-max);margin:0 auto}
.woocommerce-breadcrumb a{color:#999;font-weight:600}
.woocommerce-breadcrumb a:hover{color:var(--opc-red)}

/* PRODUCT CARDS */
.opc-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.opc-product-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.opc-product-card{background:#fff;border-radius:var(--opc-radius);overflow:hidden;border:2px solid transparent;transition:all .25s;box-shadow:var(--opc-shadow);position:relative}
.opc-product-card:hover{transform:translateY(-4px);box-shadow:var(--opc-shadow-hover);border-color:var(--opc-yellow)}
.opc-product-image{position:relative;overflow:hidden;background:var(--opc-grey);aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.opc-product-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.opc-product-card:hover .opc-product-image img{transform:scale(1.05)}
.opc-badge{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;z-index:2}
.opc-badge-sale{background:var(--opc-red);color:#fff}
.opc-badge-new{background:var(--opc-green);color:#fff}
.opc-badge-hot{background:var(--opc-orange);color:#fff}
.opc-wishlist{position:absolute;top:12px;right:12px;background:#fff;border:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.1);font-size:16px;transition:all .2s;z-index:2}
.opc-wishlist:hover,.opc-wishlist.active{background:var(--opc-red);color:#fff}
.opc-product-info{padding:14px 16px 16px}
.opc-product-brand{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--opc-red);letter-spacing:.8px;margin-bottom:4px}
.opc-product-title{font-size:13px;font-weight:700;color:var(--opc-dark);line-height:1.3;margin-bottom:8px;font-family:var(--opc-font-body)}
.opc-product-title a{color:inherit}
.opc-product-rating{display:flex;align-items:center;gap:5px;margin-bottom:8px}
.opc-stars{color:var(--opc-yellow);font-size:13px;letter-spacing:-1px}
.opc-rating-count{font-size:12px;color:#999;font-weight:600}
.opc-product-price{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.opc-product-price .price{font-family:var(--opc-font-head);font-size:22px;color:var(--opc-dark)}
.opc-product-price ins{text-decoration:none;font-family:var(--opc-font-head);font-size:22px;color:var(--opc-dark)}
.opc-product-price del{font-size:13px;color:#999;font-weight:600}
.opc-price-save{font-size:11px;background:var(--opc-green);color:#fff;padding:2px 8px;border-radius:10px;font-weight:800}
.opc-btn-add{width:100%;background:var(--opc-red);color:#fff;border:none;padding:11px;border-radius:var(--opc-radius-sm);font-family:var(--opc-font-body);font-weight:900;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}
.opc-btn-add:hover{background:#c41000;transform:translateY(-1px)}
.opc-btn-add:disabled{background:#ccc;cursor:not-allowed;transform:none}

/* CATEGORY CARDS */
.opc-cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.opc-cat-card{background:#fff;border-radius:var(--opc-radius);padding:20px 12px;text-align:center;border:2px solid transparent;transition:all .25s;box-shadow:var(--opc-shadow);display:block;color:var(--opc-text)}
.opc-cat-card:hover{transform:translateY(-4px);border-color:var(--opc-yellow);box-shadow:0 8px 24px rgba(249,197,0,.2);color:var(--opc-text)}
.opc-cat-img{width:80px;height:80px;object-fit:cover;border-radius:50%;margin-bottom:10px}
.opc-cat-icon{font-size:40px;margin-bottom:10px;display:block}
.opc-cat-name{font-weight:800;font-size:13px;line-height:1.2;color:var(--opc-dark)}
.opc-cat-count{font-size:11px;color:#999;font-weight:600;margin-top:3px}

/* HERO */
.opc-hero{background:linear-gradient(135deg,var(--opc-red) 0%,#c41000 40%,var(--opc-dark) 100%);padding:70px 20px;position:relative;overflow:hidden}
.opc-hero::before{content:'';position:absolute;top:-50%;right:-5%;width:600px;height:600px;background:var(--opc-yellow);border-radius:50%;opacity:.06;pointer-events:none}
.opc-hero-inner{max-width:var(--opc-max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;position:relative;z-index:1}
.opc-hero-badge{background:var(--opc-yellow);color:var(--opc-dark);display:inline-block;padding:6px 16px;border-radius:25px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}
.opc-hero h1{color:#fff;margin-bottom:18px;font-size:clamp(28px,5vw,52px)}
.opc-hero h1 em{color:var(--opc-yellow);font-style:normal}
.opc-hero p{color:rgba(255,255,255,.85);font-size:17px;margin-bottom:28px}
.opc-hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.opc-hero-stats{display:flex;gap:24px;margin-top:32px;flex-wrap:wrap}
.opc-hero-stat strong{display:block;font-family:var(--opc-font-head);font-size:28px;color:var(--opc-yellow)}
.opc-hero-stat span{font-size:12px;color:rgba(255,255,255,.7);font-weight:700;text-transform:uppercase}
.opc-hero-image{display:flex;justify-content:center;align-items:center}
.opc-hero-blob{width:380px;height:380px;background:var(--opc-yellow);border-radius:60% 40% 50% 45%/45% 55% 45% 55%;display:flex;align-items:center;justify-content:center;font-size:140px;animation:blob-float 6s ease-in-out infinite;box-shadow:0 20px 60px rgba(0,0,0,.3)}
@keyframes blob-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-20px) rotate(3deg)}}
.opc-hero-img{border-radius:20px;max-width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3)}

/* PROMO STRIP */
.opc-promo-strip{background:var(--opc-yellow);padding:50px 20px}
.opc-promo-inner{max-width:var(--opc-max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.opc-promo-copy h2{font-family:var(--opc-font-head);font-size:clamp(24px,4vw,40px);color:var(--opc-dark);margin-bottom:10px}
.opc-promo-copy p{font-size:16px;color:#555;margin-bottom:24px}
.opc-promo-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.opc-promo-mini{border-radius:14px;padding:22px;color:#fff;display:block;position:relative;overflow:hidden;transition:transform .2s}
.opc-promo-mini:hover{transform:translateY(-3px);color:#fff}
.opc-promo-mini.red{background:var(--opc-red)}
.opc-promo-mini.navy{background:var(--opc-navy)}
.opc-promo-mini.orange{background:var(--opc-orange)}
.opc-promo-mini.green{background:var(--opc-green)}
.opc-pm-icon{font-size:32px;margin-bottom:8px;display:block}
.opc-promo-mini h3{font-family:var(--opc-font-head);font-size:18px;margin-bottom:4px;color:#fff}
.opc-promo-mini p{font-size:13px;opacity:.85;margin:0;color:#fff}

/* BRANDS STRIP */
.opc-brands-strip{padding:40px 20px;background:var(--opc-cream)}
.opc-brands-title{text-align:center;font-family:var(--opc-font-head);font-size:20px;color:#999;margin-bottom:24px;text-transform:uppercase;letter-spacing:1px}
.opc-brands-logos{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;max-width:var(--opc-max);margin:0 auto}
.opc-brand-pill{background:#fff;border:2px solid var(--opc-border);border-radius:30px;padding:9px 20px;font-weight:800;font-size:13px;color:#555;transition:all .2s}
.opc-brand-pill:hover{border-color:var(--opc-red);color:var(--opc-red)}

/* REVIEWS */
.opc-reviews-section{background:var(--opc-navy);padding:60px 20px}
.opc-reviews-section .opc-section-title{color:#fff}
.opc-reviews-section .opc-section-sub{color:rgba(255,255,255,.6)}
.opc-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:var(--opc-max);margin:36px auto 0}
.opc-review-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--opc-radius);padding:24px}
.opc-review-stars{color:var(--opc-yellow);font-size:18px;margin-bottom:12px}
.opc-review-text{color:rgba(255,255,255,.85);font-size:14px;line-height:1.6;margin-bottom:16px}
.opc-review-author{display:flex;align-items:center;gap:10px}
.opc-review-avatar{width:36px;height:36px;border-radius:50%;background:var(--opc-yellow);display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--opc-dark);font-size:14px;flex-shrink:0}
.opc-review-name{color:#fff;font-weight:700;font-size:14px}
.opc-review-date{color:rgba(255,255,255,.4);font-size:12px}

/* NEWSLETTER */
.opc-newsletter{background:var(--opc-red);padding:60px 20px;text-align:center}
.opc-newsletter h2{color:#fff;margin-bottom:10px}
.opc-newsletter p{color:rgba(255,255,255,.85);font-size:16px;margin-bottom:28px}
.opc-newsletter-form{display:flex;gap:12px;justify-content:center;max-width:500px;margin:0 auto}
.opc-newsletter-form input{flex:1;padding:14px 20px;border-radius:30px;border:none;font-family:var(--opc-font-body);font-size:15px;outline:none}
.opc-newsletter-form button{white-space:nowrap}

/* SHOP / CATEGORY */
.opc-cat-banner{background:linear-gradient(135deg,var(--opc-red),#c41000);padding:40px 20px}
.opc-cat-banner-inner{max-width:var(--opc-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.opc-cat-banner h1{color:#fff;margin:0 0 8px}
.opc-cat-banner p{color:rgba(255,255,255,.8);margin:0}
.opc-cat-hero-icon{font-size:80px;line-height:1;flex-shrink:0}
.opc-shop-layout{max-width:var(--opc-max);margin:0 auto;padding:30px 20px;display:grid;grid-template-columns:260px 1fr;gap:30px}
.opc-sidebar{background:#fff;border-radius:var(--opc-radius);padding:24px;box-shadow:var(--opc-shadow);align-self:start;position:sticky;top:140px}
.opc-widget{margin-bottom:28px}
.opc-widget:last-child{margin-bottom:0}
.opc-widget-title{font-family:var(--opc-font-head);font-size:18px;color:var(--opc-dark);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--opc-yellow)}
.opc-filter-list li{padding:4px 0}
.opc-filter-list label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:600;color:#555;transition:color .2s}
.opc-filter-list label:hover{color:var(--opc-red)}
.opc-filter-list input[type="checkbox"]{accent-color:var(--opc-red);width:16px;height:16px;flex-shrink:0}
.opc-filter-count{margin-left:auto;background:var(--opc-grey);color:#999;font-size:11px;padding:2px 7px;border-radius:10px;font-weight:700}
.opc-shop-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.opc-shop-count{font-size:15px;font-weight:700;color:#555;margin:0}
.opc-shop-count p{margin:0}
.opc-shop-sort select{padding:9px 14px;border:2px solid var(--opc-border);border-radius:8px;font-family:var(--opc-font-body);font-size:14px;font-weight:700;outline:none;cursor:pointer;transition:border-color .2s}
.opc-shop-sort select:focus{border-color:var(--opc-yellow)}
.opc-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.opc-filter-tag{background:var(--opc-cream);border:1px solid var(--opc-yellow);color:var(--opc-dark);padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px}
.opc-filter-tag button{background:none;border:none;cursor:pointer;color:#999;font-size:14px;line-height:1;padding:0}
.opc-pagination{display:flex;justify-content:center;gap:8px;margin-top:40px;flex-wrap:wrap}
.opc-pagination .page-numbers{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;border:2px solid var(--opc-border);color:#555;transition:all .2s}
.opc-pagination .current,.opc-pagination .page-numbers:hover{background:var(--opc-red);border-color:var(--opc-red);color:#fff}
.opc-no-results{text-align:center;padding:60px 20px}
.opc-no-results .emoji{font-size:60px;margin-bottom:16px}

/* SINGLE PRODUCT */
.opc-product-page{max-width:var(--opc-max);margin:0 auto;padding:30px 20px}
.opc-product-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-bottom:60px}
.opc-gallery{position:sticky;top:140px}
.opc-main-image{background:var(--opc-grey);border-radius:20px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;margin-bottom:12px;border:2px solid var(--opc-border);overflow:hidden;position:relative}
.opc-main-image img{width:100%;height:100%;object-fit:contain}
.opc-sale-badge-big{position:absolute;top:20px;left:20px;background:var(--opc-red);color:#fff;font-size:16px;font-weight:900;padding:8px 16px;border-radius:30px;z-index:2}
.opc-thumb-row{display:flex;gap:10px;flex-wrap:wrap}
.opc-thumb{width:70px;height:70px;background:var(--opc-grey);border-radius:10px;border:2px solid var(--opc-border);cursor:pointer;overflow:hidden;transition:border-color .2s}
.opc-thumb:hover,.opc-thumb.active{border-color:var(--opc-yellow)}
.opc-thumb img{width:100%;height:100%;object-fit:cover}
.opc-product-detail{padding-top:10px}
.opc-brand-link{color:var(--opc-red);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:1px;display:block;margin-bottom:8px}
.opc-product-detail h1{font-size:clamp(22px,3vw,32px);margin-bottom:12px}
.opc-rating-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.opc-rating-bar .opc-stars{font-size:18px}
.opc-reviews-link{color:var(--opc-red);font-size:14px;font-weight:700}
.opc-price-block{background:var(--opc-cream);border-radius:14px;padding:20px;margin-bottom:20px;border:2px solid var(--opc-yellow)}
.opc-price-block .price{font-family:var(--opc-font-head);font-size:40px;color:var(--opc-dark);line-height:1}
.opc-price-block ins{text-decoration:none;font-family:var(--opc-font-head);font-size:40px;color:var(--opc-dark)}
.opc-price-block del{font-size:18px;color:#999;font-weight:600;margin-left:8px}
.opc-saving-badge{background:var(--opc-green);color:#fff;font-size:13px;font-weight:900;padding:4px 12px;border-radius:20px;display:inline-block;margin-top:8px}
.opc-per-item{font-size:13px;color:#777;margin-top:6px}
.opc-product-perks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.opc-perk{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#555}
.opc-qty-row{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.opc-qty-control{display:flex;align-items:center;border:2px solid var(--opc-border);border-radius:var(--opc-radius-sm);overflow:hidden;flex-shrink:0}
.opc-qty-control button{width:40px;height:48px;border:none;background:var(--opc-grey);cursor:pointer;font-size:20px;font-weight:700;transition:background .2s;font-family:var(--opc-font-body)}
.opc-qty-control button:hover{background:var(--opc-yellow)}
.opc-qty-control input{width:50px;height:48px;border:none;text-align:center;font-family:var(--opc-font-body);font-weight:900;font-size:18px;outline:none}
.opc-btn-atc{flex:1;min-width:160px;background:var(--opc-red);color:#fff;border:none;padding:14px 20px;border-radius:var(--opc-radius-sm);font-family:var(--opc-font-body);font-weight:900;font-size:16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}
.opc-btn-atc:hover{background:#c41000;transform:translateY(-2px);box-shadow:0 6px 20px rgba(230,27,10,.3)}
.opc-btn-wishlist-lg{width:52px;height:52px;border:2px solid var(--opc-border);border-radius:var(--opc-radius-sm);background:#fff;cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}
.opc-btn-wishlist-lg:hover{border-color:var(--opc-red);background:var(--opc-red);color:#fff}
.opc-delivery-banner{background:#f0fff4;border:2px solid var(--opc-green);border-radius:12px;padding:14px 18px;margin-bottom:20px;font-size:14px;font-weight:700;color:var(--opc-green)}
.opc-delivery-box{background:#fff;border:2px solid var(--opc-border);border-radius:14px;padding:16px;margin-bottom:20px}
.opc-delivery-box h4{font-family:var(--opc-font-head);font-size:16px;margin-bottom:12px}
.opc-delivery-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f5f5f5;font-size:14px;font-weight:600}
.opc-delivery-row:last-child{border-bottom:none}
.opc-delivery-row .free{color:var(--opc-green);font-weight:800}

/* PRODUCT TABS */
.opc-tabs{margin-top:60px}
.opc-tab-nav{display:flex;border-bottom:3px solid var(--opc-border);margin-bottom:30px;flex-wrap:wrap}
.opc-tab-btn{padding:14px 24px;font-family:var(--opc-font-body);font-weight:800;font-size:15px;background:none;border:none;cursor:pointer;color:#999;border-bottom:3px solid transparent;margin-bottom:-3px;transition:all .2s}
.opc-tab-btn.active,.opc-tab-btn:hover{color:var(--opc-red);border-bottom-color:var(--opc-red)}
.opc-tab-panel{display:none}
.opc-tab-panel.active{display:block}
.opc-tab-panel h3{font-family:var(--opc-font-head);font-size:22px;margin-bottom:12px}
.opc-tab-panel p,.opc-tab-panel li{font-size:15px;line-height:1.75;color:#555;margin-bottom:8px}
.opc-tab-panel ul{padding-left:20px;list-style:disc}
.opc-spec-table{width:100%;border-collapse:collapse;margin-top:16px}
.opc-spec-table tr:nth-child(even){background:var(--opc-grey)}
.opc-spec-table td{padding:10px 16px;font-size:14px;font-weight:600;border-bottom:1px solid var(--opc-border)}
.opc-spec-table td:first-child{font-weight:800;color:var(--opc-dark);width:40%}

/* BLOG */
.opc-blog-header{background:linear-gradient(135deg,var(--opc-navy),#1a3a5c);padding:60px 20px;text-align:center}
.opc-blog-header h1{color:#fff;margin-bottom:10px}
.opc-blog-header p{color:rgba(255,255,255,.7);font-size:17px;margin:0}
.opc-blog-cats-bar{background:#fff;border-bottom:2px solid var(--opc-border)}
.opc-blog-cats-inner{max-width:var(--opc-max);margin:0 auto;padding:0 20px;display:flex;overflow-x:auto}
.opc-blog-cat{padding:14px 20px;font-weight:800;font-size:14px;color:#999;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s;display:block}
.opc-blog-cat:hover,.opc-blog-cat.current{color:var(--opc-red);border-bottom-color:var(--opc-red)}
.opc-blog-layout{max-width:var(--opc-max);margin:0 auto;padding:40px 20px;display:grid;grid-template-columns:1fr 320px;gap:40px}
.opc-article-card{background:#fff;border-radius:var(--opc-radius);overflow:hidden;box-shadow:var(--opc-shadow);transition:all .25s;display:block;color:var(--opc-text);margin-bottom:24px}
.opc-article-card:hover{transform:translateY(-3px);box-shadow:var(--opc-shadow-hover);color:var(--opc-text)}
.opc-article-card.featured{display:grid;grid-template-columns:1fr 1fr}
.opc-article-image{background:linear-gradient(135deg,var(--opc-red),var(--opc-orange));min-height:200px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.opc-article-image img{width:100%;height:100%;object-fit:cover}
.opc-article-cat-tag{position:absolute;top:14px;left:14px;background:var(--opc-yellow);color:var(--opc-dark);padding:5px 12px;border-radius:20px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}
.opc-article-body{padding:24px}
.opc-article-meta{display:flex;gap:10px;margin-bottom:10px;font-size:12px;color:#999;font-weight:700;flex-wrap:wrap}
.opc-article-body h2{font-family:var(--opc-font-head);font-size:22px;color:var(--opc-dark);margin-bottom:10px;line-height:1.2}
.opc-article-body p{color:#666;font-size:14px;line-height:1.6;margin-bottom:14px}
.opc-read-more{color:var(--opc-red);font-weight:800;font-size:14px}
.opc-blog-sidebar{align-self:start;position:sticky;top:140px}
.opc-sidebar-widget{background:#fff;border-radius:var(--opc-radius);padding:20px;margin-bottom:20px;box-shadow:var(--opc-shadow)}
.opc-sidebar-widget .opc-widget-title{font-family:var(--opc-font-head);font-size:18px;color:var(--opc-dark);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--opc-yellow)}
.opc-popular-post{display:flex;gap:12px;margin-bottom:14px;align-items:center;color:var(--opc-text)}
.opc-popular-thumb{width:56px;height:56px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--opc-grey)}
.opc-popular-thumb img{width:100%;height:100%;object-fit:cover}
.opc-popular-post h4{font-size:13px;font-weight:700;color:var(--opc-dark);line-height:1.3;margin-bottom:3px;font-family:var(--opc-font-body)}
.opc-popular-post span{font-size:11px;color:#999;font-weight:600}
.opc-tag-cloud{display:flex;gap:8px;flex-wrap:wrap}
.opc-tag{background:var(--opc-cream);border:1px solid var(--opc-yellow);color:var(--opc-dark);padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;transition:background .2s}
.opc-tag:hover{background:var(--opc-yellow);color:var(--opc-dark)}

/* SINGLE POST */
.opc-post-header{background:linear-gradient(135deg,var(--opc-navy),#1a3a5c);padding:60px 20px;text-align:center}
.opc-post-category{background:var(--opc-yellow);color:var(--opc-dark);display:inline-block;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px}
.opc-post-header h1{color:#fff;max-width:800px;margin:0 auto 16px}
.opc-post-meta{color:rgba(255,255,255,.6);font-size:14px;font-weight:700}
.opc-post-layout{max-width:var(--opc-max);margin:0 auto;padding:40px 20px;display:grid;grid-template-columns:1fr 320px;gap:40px}
.opc-post-content{background:#fff;border-radius:var(--opc-radius);padding:40px;box-shadow:var(--opc-shadow)}
.opc-post-content h2{font-family:var(--opc-font-head);font-size:26px;color:var(--opc-dark);margin:28px 0 12px}
.opc-post-content p{font-size:16px;line-height:1.75;color:#444;margin-bottom:18px}
.opc-post-content ul,.opc-post-content ol{padding-left:24px;margin-bottom:18px}
.opc-post-content li{font-size:16px;line-height:1.75;color:#444;margin-bottom:6px}
.opc-post-content img{border-radius:12px;margin:20px 0}
.opc-blockquote{background:var(--opc-cream);border-left:4px solid var(--opc-yellow);padding:20px 24px;border-radius:0 12px 12px 0;margin:24px 0;font-style:italic;font-size:17px;color:#555;font-weight:700}
.opc-post-author{display:flex;gap:16px;align-items:center;background:var(--opc-grey);border-radius:14px;padding:20px;margin-top:30px}
.opc-author-avatar{width:60px;height:60px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--opc-yellow);display:flex;align-items:center;justify-content:center;font-size:24px}
.opc-author-info h4{font-weight:900;margin-bottom:4px;font-size:15px;font-family:var(--opc-font-body)}
.opc-author-info p{font-size:13px;color:#777;line-height:1.5;margin:0}
.opc-post-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:2px solid var(--opc-border)}
.opc-cta-box{background:var(--opc-cream);border:2px solid var(--opc-yellow);border-radius:14px;padding:24px;margin:24px 0;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.opc-cta-box-icon{font-size:48px;flex-shrink:0}
.opc-cta-box h3{font-family:var(--opc-font-head);font-size:20px;margin-bottom:6px}
.opc-cta-box p{font-size:14px;color:#666;margin-bottom:12px}

/* STATIC PAGES */
.opc-page-hero{padding:50px 20px;text-align:center}
.opc-page-hero.red{background:linear-gradient(135deg,var(--opc-red),#c41000)}
.opc-page-hero.navy{background:linear-gradient(135deg,var(--opc-navy),#1a3a5c)}
.opc-page-hero h1{color:#fff;margin-bottom:10px}
.opc-page-hero p{color:rgba(255,255,255,.8);font-size:17px;margin:0}
.opc-page-content{max-width:900px;margin:40px auto 80px;padding:0 20px}
.opc-info-card{background:#fff;border-radius:var(--opc-radius);padding:32px;margin-bottom:24px;box-shadow:var(--opc-shadow);border:2px solid transparent;transition:border-color .2s}
.opc-info-card:hover{border-color:var(--opc-yellow)}
.opc-info-card h2{font-family:var(--opc-font-head);font-size:24px;margin-bottom:14px}
.opc-info-card p,.opc-info-card li{font-size:15px;line-height:1.75;color:#555}
.opc-info-card ul{padding-left:20px;list-style:disc;margin-top:8px}
.opc-info-card a{color:var(--opc-red);font-weight:700}
.opc-delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}
.opc-delivery-option{background:var(--opc-cream);border:2px solid var(--opc-yellow);border-radius:14px;padding:24px;text-align:center}
.opc-delivery-option .do-icon{font-size:36px;margin-bottom:10px;display:block}
.opc-delivery-option h3{font-family:var(--opc-font-head);font-size:18px;margin-bottom:6px}
.opc-delivery-price{font-family:var(--opc-font-head);font-size:26px;color:var(--opc-red);margin:8px 0;display:block}
.opc-delivery-option.free .opc-delivery-price{color:var(--opc-green)}
.opc-delivery-option p{font-size:13px;color:#666;margin:0}
.opc-page-cta{background:var(--opc-red);color:#fff;border-radius:var(--opc-radius);padding:32px;text-align:center;margin-top:10px}
.opc-page-cta h2{color:#fff;margin-bottom:10px}
.opc-page-cta p{color:rgba(255,255,255,.85);margin-bottom:20px}

/* FOOTER */
.opc-footer{background:var(--opc-navy);color:#fff}
.opc-footer-top{padding:60px 20px 40px}
.opc-footer-inner{max-width:var(--opc-max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.opc-footer-brand h3{font-family:var(--opc-font-head);font-size:26px;color:#fff;margin-bottom:12px}
.opc-footer-brand p{color:rgba(255,255,255,.6);font-size:14px;line-height:1.7;margin-bottom:20px}
.opc-social-links{display:flex;gap:10px}
.opc-social-btn{width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .2s;color:#fff;cursor:pointer}
.opc-social-btn:hover{background:var(--opc-yellow);color:var(--opc-dark)}
.opc-footer-col h4{font-family:var(--opc-font-head);font-size:17px;color:#fff;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}
.opc-footer-col a,.opc-footer-col li{display:block;color:rgba(255,255,255,.6);font-size:14px;font-weight:600;padding:4px 0;transition:color .2s}
.opc-footer-col a:hover{color:var(--opc-yellow)}
.opc-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px}
.opc-footer-bottom-inner{max-width:var(--opc-max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.opc-footer-bottom p{color:rgba(255,255,255,.4);font-size:13px;font-weight:600;margin:0}
.opc-footer-bottom a{color:rgba(255,255,255,.4)}
.opc-payment-icons{display:flex;gap:8px;flex-wrap:wrap}
.opc-payment-icon{background:rgba(255,255,255,.08);border-radius:5px;padding:5px 10px;font-size:11px;font-weight:800;color:rgba(255,255,255,.5)}

/* WOOCOMMERCE NOTICES */
.woocommerce-message,.woocommerce-error,.woocommerce-info{border-radius:var(--opc-radius-sm)!important;font-family:var(--opc-font-body)!important;font-weight:700!important;padding:14px 20px!important}
.woocommerce-message{border-top-color:var(--opc-green)!important}
.woocommerce-error{border-top-color:var(--opc-red)!important}
.woocommerce-message .button,.woocommerce-info .button{background:var(--opc-yellow)!important;color:var(--opc-dark)!important;font-weight:900!important;border-radius:20px!important;border:none!important;padding:8px 18px!important;font-family:var(--opc-font-body)!important}

/* RESPONSIVE */
@media(max-width:1024px){
  .opc-product-grid{grid-template-columns:repeat(3,1fr)}
  .opc-cat-grid{grid-template-columns:repeat(4,1fr)}
  .opc-hero-inner{grid-template-columns:1fr}
  .opc-hero-image{display:none}
  .opc-footer-inner{grid-template-columns:1fr 1fr;gap:28px}
  .opc-promo-inner{grid-template-columns:1fr}
}
@media(max-width:768px){
  .opc-header-inner{grid-template-columns:auto auto}
  .opc-search{display:none}
  .opc-mobile-toggle{display:block}
  .opc-product-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .opc-product-grid-3{grid-template-columns:repeat(2,1fr)}
  .opc-cat-grid{grid-template-columns:repeat(3,1fr)}
  .opc-shop-layout{grid-template-columns:1fr}
  .opc-sidebar{display:none;position:static}
  .opc-product-layout{grid-template-columns:1fr;gap:30px}
  .opc-gallery{position:static}
  .opc-blog-layout{grid-template-columns:1fr}
  .opc-blog-sidebar{display:none}
  .opc-post-layout{grid-template-columns:1fr}
  .opc-reviews-grid{grid-template-columns:1fr}
  .opc-article-card.featured{grid-template-columns:1fr}
  .opc-delivery-grid{grid-template-columns:1fr}
  .opc-trust-inner{gap:16px;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
}
@media(max-width:480px){
  .opc-product-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .opc-cat-grid{grid-template-columns:repeat(2,1fr)}
  .opc-section{padding:40px 16px}
  .opc-footer-inner{grid-template-columns:1fr}
  .opc-hero h1{font-size:28px}
  .opc-newsletter-form{flex-direction:column}
  .opc-product-perks{grid-template-columns:1fr}
  .opc-promo-cards{grid-template-columns:1fr}
}
