/*
Theme Name: Areezz Custom
Description: Brutalist streetwear theme for areezz.com
Version: 2.5.0
*/

/* ===== Reset ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }
:root {
    --arz-accent: #c4ff00;
    --arz-pink: #ff006e;
    --arz-cyan: #00e5ff;
    --arz-bg: #0a0a0a;
    --arz-bg-2: #141414;
    --arz-border: #1f1f1f;
    --arz-border-2: #2a2a2a;
    --arz-display: 'Archivo Black', 'Arial Black', sans-serif;
    --arz-body: 'Space Grotesk', -apple-system, sans-serif;
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
    font-family: var(--arz-body);
    background: var(--arz-bg); color: #fff;
    line-height: 1.5; overflow-x: hidden;
    min-height: 100vh;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font-family: inherit; }

/* ===== Nav ===== */
.arz-nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px 5%; background: rgba(10,10,10,.85);
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255,255,255,.05);
}
.arz-logo {
    font-family: var(--arz-display);
    font-size: 22px; letter-spacing: -1px;
    display: flex; align-items: baseline; gap: 2px;
}
.arz-logo .white { color: #fff; }
.arz-logo .accent { color: var(--arz-accent); }
.arz-logo small {
    font-family: var(--arz-body); font-weight: 400;
    font-size: 9px; color: #555; letter-spacing: 3px;
    margin-left: 8px; text-transform: uppercase;
}
.arz-nav-links { display: flex; gap: 36px; align-items: center; }
.arz-nav-links a {
    font-size: 12px; text-transform: uppercase;
    letter-spacing: 2px; color: #999; font-weight: 500;
    transition: color .2s; position: relative;
}
.arz-nav-links a:hover, .arz-nav-links a.active { color: var(--arz-accent); }
.arz-nav-links a.active::after {
    content: ''; position: absolute; bottom: -6px; left: 0; right: 0;
    height: 2px; background: var(--arz-accent);
}
.arz-nav-right { display: flex; align-items: center; gap: 16px; }
.arz-cart-btn {
    background: var(--arz-accent); color: #000;
    padding: 10px 18px; font-family: var(--arz-display);
    font-size: 11px; text-transform: uppercase;
    letter-spacing: 1.5px; clip-path: polygon(0 0, 100% 0, 100% 70%, 92% 100%, 0 100%);
    padding-right: 24px; transition: all .2s; cursor: pointer;
}
.arz-cart-btn:hover { background: #fff; }
.arz-cart-count {
    background: #000; color: var(--arz-accent);
    padding: 0 6px; font-size: 10px; margin-left: 4px;
}
.arz-hamburger {
    display: none; background: none; border: none;
    width: 32px; height: 32px; cursor: pointer; padding: 0;
    flex-direction: column; justify-content: center; gap: 5px;
    color: #fff; font-size: 24px; line-height: 1;
}
.arz-hamburger span {
    display: block; width: 22px; height: 2px;
    background: #fff; transition: all .25s;
}
.arz-mobile-menu {
    display: none; position: fixed; inset: 0;
    background: #000; z-index: 99;
    padding: 100px 5% 40px; flex-direction: column;
    gap: 28px; overflow-y: auto;
}
.arz-mobile-menu.open { display: flex; }
.arz-mobile-menu a {
    font-family: var(--arz-display);
    font-size: 36px; text-transform: uppercase;
    color: #fff; border-bottom: 1px solid #1a1a1a;
    padding-bottom: 20px;
}
.arz-mobile-close {
    position: absolute; top: 24px; right: 24px;
    background: none; border: none; color: #fff;
    font-size: 32px; cursor: pointer;
}

/* ===== Cursor (desktop only) ===== */
.arz-cursor {
    position: fixed; width: 20px; height: 20px;
    border: 1.5px solid var(--arz-accent);
    pointer-events: none; z-index: 9999;
    transform: translate(-50%, -50%);
    transition: transform .15s, background .15s;
    mix-blend-mode: difference;
}
.arz-body { cursor: none; }
@media (hover: none) { .arz-body { cursor: auto; } .arz-cursor { display: none; } }

/* ===== Container ===== */
.arz-container { max-width: 1400px; margin: 0 auto; padding: 0 5%; width: 100%; }

/* ===== HERO ===== */
.arz-hero {
    position: relative; min-height: 92vh;
    display: flex; flex-direction: column; justify-content: center;
    padding: 120px 5% 80px; overflow: hidden;
}
.arz-hero-bg {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 60% 80% at 80% 20%, rgba(196,255,0,.08), transparent 60%),
        radial-gradient(ellipse 50% 70% at 20% 80%, rgba(255,0,110,.05), transparent 60%),
        #0a0a0a; z-index: 0;
}
.arz-grid-lines {
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 80px 80px; z-index: 1;
    mask-image: radial-gradient(ellipse at center, #000 30%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 80%);
}
.arz-hero-content { position: relative; z-index: 2; max-width: 1400px; margin: 0 auto; width: 100%; }
.arz-tag {
    display: inline-flex; align-items: center; gap: 10px;
    background: rgba(196,255,0,.08); border: 1px solid rgba(196,255,0,.3);
    color: var(--arz-accent); padding: 8px 18px;
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 2.5px;
    margin-bottom: 32px;
}
.arz-tag-dot {
    width: 8px; height: 8px; background: var(--arz-accent);
    border-radius: 50%; animation: arz-pulse 1.5s ease infinite;
    box-shadow: 0 0 12px var(--arz-accent);
}
@keyframes arz-pulse { 50% { opacity: .2; transform: scale(.8); } }
.arz-h1 {
    font-family: var(--arz-display);
    font-size: clamp(48px, 11vw, 180px);
    line-height: .82; letter-spacing: -5px;
    margin-bottom: 32px; text-transform: uppercase;
}
.arz-h1-line { display: block; }
.arz-stroke { -webkit-text-stroke: 2px var(--arz-accent); color: transparent; display: inline-block; }
.arz-glitch { position: relative; color: #fff; display: inline-block; }
.arz-glitch::before, .arz-glitch::after {
    content: attr(data-text);
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
}
.arz-glitch::before {
    color: var(--arz-pink); animation: arz-g1 4s infinite;
    clip-path: polygon(0 0, 100% 0, 100% 45%, 0 45%);
}
.arz-glitch::after {
    color: var(--arz-cyan); animation: arz-g2 4s infinite;
    clip-path: polygon(0 55%, 100% 55%, 100% 100%, 0 100%);
}
@keyframes arz-g1 { 0%,92%,100%{transform:translate(0)} 93%{transform:translate(-4px,1px)} 95%{transform:translate(4px,-1px)} 97%{transform:translate(-2px,0)} }
@keyframes arz-g2 { 0%,93%,100%{transform:translate(0)} 94%{transform:translate(4px,-1px)} 96%{transform:translate(-4px,1px)} 98%{transform:translate(2px,0)} }
.arz-sub {
    font-size: clamp(15px, 1.6vw, 19px);
    line-height: 1.6; color: #999;
    max-width: 540px; margin-bottom: 44px;
}
.arz-cta-group { display: flex; gap: 16px; flex-wrap: wrap; }
.arz-btn {
    display: inline-flex; align-items: center; gap: 12px;
    padding: 18px 32px;
    font-family: var(--arz-display);
    font-size: 13px; text-transform: uppercase;
    letter-spacing: 2px; cursor: pointer;
    transition: all .25s; border: none;
    clip-path: polygon(0 0, 100% 0, 100% 68%, 92% 100%, 0 100%);
    padding-right: 40px;
}
.arz-btn-primary { background: var(--arz-accent); color: #000; }
.arz-btn-primary:hover { background: #fff; transform: translateY(-3px); }
.arz-btn-ghost { background: transparent; color: #fff; border: 1px solid #2a2a2a; }
.arz-btn-ghost:hover { border-color: var(--arz-accent); color: var(--arz-accent); }
.arz-stats {
    display: grid; grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--arz-border); margin-top: 80px;
}
.arz-stat { padding: 28px 24px; border-right: 1px solid var(--arz-border); transition: background .25s; }
.arz-stat:last-child { border-right: none; }
.arz-stat:hover { background: rgba(196,255,0,.03); }
.arz-stat-num { font-family: var(--arz-display); font-size: clamp(32px, 3.5vw, 48px); color: var(--arz-accent); line-height: 1; }
.arz-stat-label { font-size: 10px; text-transform: uppercase; letter-spacing: 2px; color: #555; margin-top: 10px; }

/* ===== MARQUEE ===== */
.arz-marquee {
    background: var(--arz-accent); color: #000;
    font-family: var(--arz-display);
    font-size: 13px; text-transform: uppercase;
    padding: 12px 0; overflow: hidden; white-space: nowrap;
    letter-spacing: 2.5px;
}
.arz-marquee-track {
    display: inline-flex; gap: 60px;
    animation: arz-marquee 30s linear infinite;
    padding-right: 60px;
}
.arz-marquee-track span::before { content: '\25C9'; margin-right: 30px; opacity: .4; }
@keyframes arz-marquee { to { transform: translateX(-50%); } }

/* ===== SECTION ===== */
.arz-section { padding: 100px 0; }
.arz-section-head {
    display: flex; justify-content: space-between;
    align-items: flex-end; margin-bottom: 50px; gap: 20px;
    flex-wrap: wrap;
}
.arz-section-title {
    font-family: var(--arz-display);
    font-size: clamp(36px, 5vw, 64px);
    text-transform: uppercase; letter-spacing: -1.5px;
    line-height: .9;
}
.arz-section-title em { color: var(--arz-accent); font-style: normal; }
.arz-section-meta {
    font-size: 12px; color: #555; text-transform: uppercase;
    letter-spacing: 2px;
}
.arz-section-meta strong { color: #fff; font-weight: 700; }

/* ===== DROPS / PRODUCT GRID ===== */
.arz-grid {
    display: grid; grid-template-columns: repeat(12, 1fr);
    gap: 16px; grid-auto-rows: 240px;
}
.arz-product {
    position: relative; overflow: hidden;
    background: var(--arz-bg-2); border: 1px solid var(--arz-border);
    transition: all .35s; display: block;
}
.arz-product:hover {
    border-color: var(--arz-accent);
    transform: scale(1.02); z-index: 5;
    box-shadow: 0 20px 60px rgba(196,255,0,.15);
}
.arz-product-img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .3s;
    filter: grayscale(15%) brightness(.7);
}
.arz-product:hover .arz-product-img { transform: scale(1.12); filter: grayscale(0%) brightness(.55); }
.arz-product .arz-product-info {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: 22px; z-index: 3;
    background: linear-gradient(transparent, rgba(0,0,0,.95));
    transform: translateY(30px); opacity: 0; transition: all .3s;
}
.arz-product:hover .arz-product-info { transform: translateY(0); opacity: 1; }
.arz-product-name { font-family: var(--arz-display); font-size: 17px; text-transform: uppercase; margin-bottom: 6px; }
.arz-product-price { color: var(--arz-accent); font-weight: 700; font-size: 14px; }
.arz-product-badge {
    position: absolute; top: 16px; left: 16px;
    background: var(--arz-accent); color: #000;
    font-family: var(--arz-display);
    font-size: 10px; padding: 6px 14px;
    text-transform: uppercase; letter-spacing: 1.2px; z-index: 4;
}
.arz-product-badge.hot { background: var(--arz-pink); color: #fff; }
.arz-product-badge.new { background: var(--arz-cyan); color: #000; }
.arz-p1 { grid-column: span 5; grid-row: span 2; }
.arz-p2 { grid-column: span 4; grid-row: span 1; }
.arz-p3 { grid-column: span 3; grid-row: span 2; }
.arz-p4 { grid-column: span 4; grid-row: span 1; }
.arz-p5 { grid-column: span 7; grid-row: span 1; }
.arz-view-all {
    grid-column: span 12; display: flex;
    align-items: center; justify-content: center;
    background: transparent; border: 2px dashed var(--arz-border-2);
    color: #888; text-transform: uppercase;
    font-family: var(--arz-display);
    font-size: 16px; letter-spacing: 2.5px;
    transition: all .3s;
}
.arz-view-all:hover {
    border-color: var(--arz-accent); color: var(--arz-accent);
    background: rgba(196,255,0,.04); letter-spacing: 4px;
}

/* ===== STATEMENT ===== */
.arz-statement {
    padding: 140px 5%; text-align: center;
    position: relative; overflow: hidden;
}
.arz-statement-bg {
    position: absolute; inset: 0;
    background: radial-gradient(circle at center, rgba(196,255,0,.06), transparent 60%);
}
.arz-statement-content { position: relative; z-index: 2; max-width: 900px; margin: 0 auto; }
.arz-statement h2 {
    font-family: var(--arz-display);
    font-size: clamp(36px, 6vw, 76px);
    line-height: 1.05; text-transform: uppercase;
    letter-spacing: -2px; margin-bottom: 32px;
}
.arz-statement .highlight { color: var(--arz-accent); }
.arz-statement .outline {
    -webkit-text-stroke: 2px #fff; color: transparent;
    text-decoration: none !important;
}
.arz-statement .strike {
    text-decoration: line-through;
    text-decoration-thickness: 2px;
    text-decoration-color: var(--arz-accent);
    opacity: .4;
}
.arz-statement p { font-size: 18px; color: #999; line-height: 1.7; max-width: 600px; margin: 0 auto; }

/* ===== FEATURES ===== */
.arz-features {
    background: var(--arz-accent); color: #000;
    padding: 110px 5%; position: relative; overflow: hidden;
}
.arz-features-inner { max-width: 1400px; margin: 0 auto; }
.arz-features-head {
    display: flex; justify-content: space-between; align-items: end;
    margin-bottom: 70px; flex-wrap: wrap; gap: 20px;
}
.arz-features-head h2 {
    font-family: var(--arz-display);
    font-size: clamp(32px, 5vw, 64px);
    text-transform: uppercase; line-height: .9; letter-spacing: -1.5px;
    max-width: 700px;
}
.arz-features-head p { color: #333; font-size: 15px; max-width: 280px; }
.arz-features-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px;
}
.arz-feature { position: relative; }
.arz-feature-icon {
    width: 56px; height: 56px; border: 2px solid #000;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 22px; font-family: var(--arz-display);
    font-size: 22px;
}
.arz-feature h3 {
    font-family: var(--arz-display);
    font-size: 20px; text-transform: uppercase;
    margin-bottom: 12px; letter-spacing: -.5px;
}
.arz-feature p { font-size: 14px; color: #1a1a1a; line-height: 1.5; }

/* ===== CTA ===== */
.arz-cta {
    position: relative; overflow: hidden;
    padding: 110px 5%; text-align: center;
}
.arz-cta-bg {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse at center, rgba(196,255,0,.12), transparent 60%),
        #0a0a0a;
}
.arz-cta-content { position: relative; z-index: 2; max-width: 700px; margin: 0 auto; }
.arz-cta h2 {
    font-family: var(--arz-display);
    font-size: clamp(36px, 5vw, 60px);
    text-transform: uppercase; margin-bottom: 24px;
    line-height: 1; letter-spacing: -1.5px;
}
.arz-cta p { font-size: 16px; color: #999; margin-bottom: 32px; }
.arz-cta-btn { display: inline-flex; }

/* ===== NEWSLETTER ===== */
.arz-newsletter {
    background: var(--arz-bg-2); padding: 80px 5%;
    text-align: center; border-top: 1px solid var(--arz-border);
}
.arz-newsletter-inner { max-width: 600px; margin: 0 auto; }
.arz-newsletter h3 {
    font-family: var(--arz-display);
    font-size: clamp(24px, 3vw, 36px);
    text-transform: uppercase; margin-bottom: 12px;
    letter-spacing: -.5px;
}
.arz-newsletter p { color: #888; font-size: 14px; margin-bottom: 28px; }
.arz-newsletter-form {
    display: flex; gap: 0; max-width: 480px; margin: 0 auto;
    border: 1px solid var(--arz-border-2);
}
.arz-newsletter-form input[type="email"] {
    flex: 1; background: #000; border: none; color: #fff;
    padding: 16px 20px; font-size: 14px; outline: none;
    min-width: 0;
}
.arz-newsletter-form input[type="email"]:focus {
    background: #050505;
    box-shadow: inset 0 0 0 1px var(--arz-accent);
}
.arz-newsletter-form button {
    background: var(--arz-accent); color: #000; border: none;
    padding: 16px 28px; font-family: var(--arz-display);
    font-size: 12px; text-transform: uppercase;
    letter-spacing: 2px; cursor: pointer;
    transition: background .2s;
    min-height: 50px;
}
.arz-newsletter-form button:hover { background: #fff; }

/* ===== Cards (blog/extras) ===== */
.arz-card {
    background: var(--arz-bg-2); border: 1px solid var(--arz-border);
    overflow: hidden; transition: all .3s;
}
.arz-card:hover { border-color: var(--arz-accent); }
.arz-card-img {
    aspect-ratio: 4/3; object-fit: cover;
    width: 100%; transition: transform .6s;
}
.arz-card:hover .arz-card-img { transform: scale(1.05); }
.arz-card-body { padding: 24px; }
.arz-card-meta { color: #555; font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 8px; }
.arz-card-title {
    font-family: var(--arz-display); font-size: 18px;
    text-transform: uppercase; letter-spacing: -.5px;
    margin-bottom: 10px;
}
.arz-card-excerpt { color: #888; font-size: 14px; line-height: 1.6; }

/* ===== Footer ===== */
.arz-footer {
    background: #050505; padding: 70px 5% 30px;
    border-top: 1px solid #0f0f0f;
}
.arz-footer-inner {
    max-width: 1400px; margin: 0 auto;
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 50px; margin-bottom: 50px;
    align-items: start;
}
.arz-footer-brand h4 {
    font-family: var(--arz-display);
    font-size: 36px; margin-bottom: 14px; letter-spacing: -1.5px;
    line-height: 1;
}
.arz-footer-brand h4 span { color: var(--arz-accent); }
.arz-footer-brand p {
    color: #888; font-size: 14px; line-height: 1.6;
    max-width: 320px; margin-bottom: 24px;
}
.arz-footer-social { display: flex; gap: 12px; }
.arz-footer-social a {
    width: 40px; height: 40px; border: 1px solid var(--arz-border-2);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--arz-display);
    font-size: 13px; color: #888; transition: all .2s;
}
.arz-footer-social a:hover {
    border-color: var(--arz-accent); color: var(--arz-accent);
    background: rgba(196,255,0,.05); transform: translateY(-2px);
}
.arz-footer-col h5 {
    font-size: 11px; text-transform: uppercase;
    letter-spacing: 2px; color: var(--arz-accent);
    margin-bottom: 20px; font-weight: 700;
}
.arz-footer-col ul { list-style: none; }
.arz-footer-col a {
    display: block; color: #aaa;
    font-size: 14px; margin-bottom: 12px;
    transition: color .2s, padding-left .2s;
    line-height: 1.4;
}
.arz-footer-col a:hover { color: var(--arz-accent); padding-left: 4px; }
.arz-footer-bottom {
    text-align: center; padding-top: 32px;
    border-top: 1px solid #111;
    color: #666; font-size: 12px;
    text-transform: uppercase; letter-spacing: 2px;
    max-width: 1400px; margin: 32px auto 0;
}
.arz-footer-bottom .accent { color: var(--arz-accent); }

/* ===== WooCommerce — Single Product (massive style override) ===== */
.arz-product-page {
    max-width: 1400px; margin: 0 auto;
    padding: 40px 5% 100px;
}
.arz-product-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 60px; margin-bottom: 80px;
}
.arz-product-gallery {
    position: sticky; top: 100px;
    align-self: start;
}
.arz-product-image {
    aspect-ratio: 1; object-fit: cover;
    width: 100%; border: 1px solid var(--arz-border);
    background: var(--arz-bg-2);
}
.arz-product-thumbs {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 10px; margin-top: 10px;
}
.arz-product-thumb {
    aspect-ratio: 1; object-fit: cover;
    width: 100%; border: 1px solid var(--arz-border);
    cursor: pointer; transition: border .2s;
}
.arz-product-thumb:hover { border-color: var(--arz-accent); }

.arz-product-info { padding-top: 20px; }
.arz-product-cat {
    color: var(--arz-accent); font-size: 11px;
    text-transform: uppercase; letter-spacing: 2.5px;
    font-weight: 700; margin-bottom: 14px;
}
.arz-product-title {
    font-family: var(--arz-display);
    font-size: clamp(36px, 5vw, 64px);
    text-transform: uppercase; letter-spacing: -2px;
    line-height: .95; margin-bottom: 16px;
    font-style: normal; font-weight: 900;
}
.arz-product-price-row {
    display: flex; align-items: center; gap: 16px;
    padding-bottom: 24px; margin-bottom: 32px;
    border-bottom: 1px solid var(--arz-border);
}
.arz-product-price {
    font-family: var(--arz-display);
    font-size: 32px; color: var(--arz-accent);
}
.arz-product-price del { color: #555; font-size: 20px; margin-right: 8px; }
.arz-product-desc {
    color: #bbb; font-size: 15px; line-height: 1.8;
    margin-bottom: 32px;
}
.arz-product-meta {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 16px; margin-bottom: 32px;
}
.arz-meta-item {
    padding: 14px 18px;
    border: 1px solid var(--arz-border);
    background: var(--arz-bg-2);
}
.arz-meta-label {
    font-size: 10px; text-transform: uppercase;
    letter-spacing: 2px; color: #888; margin-bottom: 6px;
}
.arz-meta-value {
    font-family: var(--arz-display); font-size: 14px;
    color: #fff; text-transform: uppercase;
}

/* ===== WC VARIATIONS — Heavy override ===== */
.arz-product-page .variations,
.arz-product-page .variations_form,
.arz-product-page form.cart {
    margin-bottom: 24px;
    display: block !important;
    width: 100%;
}
.arz-product-page .variations table,
.arz-product-page .variations tbody { display: block; width: 100%; }
.arz-product-page .variations { margin-bottom: 16px; width: 100%; }
.arz-product-page .variations tr { display: block; margin-bottom: 16px; width: 100%; }
.arz-product-page .variations th {
    display: block; text-align: left;
    color: var(--arz-accent) !important;
    font-size: 11px !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700 !important;
    padding: 0 0 10px !important;
    line-height: 1 !important;
    border: none !important;
    width: auto !important;
}
.arz-product-page .variations td {
    display: block; padding: 0 !important;
    border: none !important;
    vertical-align: top;
    width: 100% !important;
}
.arz-product-page .variations select {
    width: 100% !important;
    background: var(--arz-bg-2) !important;
    border: 1px solid var(--arz-border-2) !important;
    color: #fff !important;
    padding: 16px 18px !important;
    font-size: 14px !important;
    outline: none !important;
    transition: border .2s !important;
    font-family: inherit !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23c4ff00' d='M0 0l6 8 6-8z'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 10px !important;
    cursor: pointer !important;
}
.arz-product-page .variations select:focus {
    border-color: var(--arz-accent) !important;
}
.arz-product-page .variations select option {
    background: #000 !important; color: #fff !important;
}

/* Quantity input */
.arz-product-page .quantity {
    display: inline-flex !important;
    align-items: center;
    border: 1px solid var(--arz-border-2) !important;
    background: var(--arz-bg-2) !important;
    overflow: hidden;
}
.arz-product-page .quantity .qty {
    background: transparent !important;
    color: #fff !important;
    border: none !important;
    padding: 16px 18px !important;
    font-size: 16px !important;
    width: 80px !important;
    text-align: center;
    font-family: var(--arz-display) !important;
    -moz-appearance: textfield !important;
}
.arz-product-page .quantity .qty::-webkit-outer-spin-button,
.arz-product-page .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none; margin: 0;
}

/* Add to cart button */
.arz-product-page button.single_add_to_cart_button,
.arz-product-page button[name="add-to-cart"],
.arz-product-page .single_add_to_cart_button {
    background: var(--arz-accent) !important;
    color: #000 !important;
    border: none !important;
    padding: 22px 40px !important;
    font-family: var(--arz-display) !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    cursor: pointer !important;
    clip-path: polygon(0 0, 100% 0, 100% 68%, 92% 100%, 0 100%) !important;
    padding-right: 50px !important;
    transition: all .25s !important;
    margin-top: 16px !important;
    width: 100% !important;
    display: block !important;
    border-radius: 0 !important;
    font-weight: 900 !important;
}
.arz-product-page button.single_add_to_cart_button:hover,
.arz-product-page .single_add_to_cart_button:hover {
    background: #fff !important;
    transform: translateY(-3px) !important;
}

/* Hide all stock messaging */
.arz-product-page .stock,
.arz-product-page p.stock,
.arz-product-page .availability,
.arz-product-page .woocommerce-variation-availability,
.arz-product-page .variations .stock,
.arz-product-page .reset_variations { display: none !important; }

/* Hide variation price duplicate */
.arz-product-page .woocommerce-variation.single_variation { margin-bottom: 8px; }
.arz-product-page .woocommerce-variation-price { display: none !important; }

/* Tab descriptions */
.arz-product-tabs { margin-top: 80px; border-top: 1px solid var(--arz-border); padding-top: 50px; }

/* Product features */
.arz-product-features {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 12px; margin-top: 32px;
    padding-top: 32px; border-top: 1px solid var(--arz-border);
}
.arz-feat {
    display: flex; align-items: center; gap: 12px;
    font-size: 13px; color: #aaa;
}
.arz-feat-icon { color: var(--arz-accent); font-size: 18px; }

/* Breadcrumb */
.arz-breadcrumb {
    font-size: 12px; color: #666;
    text-transform: uppercase; letter-spacing: 1.5px;
    padding: 30px 5% 0; max-width: 1400px;
    margin: 0 auto;
}
.arz-breadcrumb a { color: #888; transition: color .2s; }
.arz-breadcrumb a:hover { color: var(--arz-accent); }
.arz-breadcrumb .sep { margin: 0 10px; color: #444; }

/* Shop / archive product cards (WC default overridden) */
.arz-shop-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 24px;
    padding: 40px 5%;
    max-width: 1400px;
    margin: 0 auto;
}
.arz-shop-card {
    background: var(--arz-bg-2);
    border: 1px solid var(--arz-border);
    overflow: hidden;
    transition: all .3s;
    position: relative;
}
.arz-shop-card:hover { border-color: var(--arz-accent); transform: translateY(-4px); }
.arz-shop-card-img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    background: var(--arz-bg);
}
.arz-shop-card-body {
    padding: 18px 20px;
    border-top: 1px solid var(--arz-border);
}
.arz-shop-card-cat {
    font-size: 10px;
    color: var(--arz-accent);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 6px;
    font-weight: 700;
}
.arz-shop-card-title {
    font-family: var(--arz-display);
    font-size: 15px;
    text-transform: uppercase;
    margin-bottom: 8px;
    letter-spacing: -.3px;
}
.arz-shop-card-price {
    color: var(--arz-accent);
    font-family: var(--arz-display);
    font-size: 16px;
}

/* WC Cart/Checkout basic reset */
.arz-cart-page, .arz-checkout-page {
    max-width: 1200px; margin: 0 auto;
    padding: 40px 5% 80px;
}
.arz-cart-page h1, .arz-checkout-page h1 {
    font-family: var(--arz-display);
    font-size: clamp(32px, 4vw, 48px);
    text-transform: uppercase;
    letter-spacing: -1px;
    margin-bottom: 30px;
}

/* Main wrap */
.arz-main { min-height: 80vh; }

/* Page (legal pages) */
.arz-page {
    max-width: 800px; margin: 0 auto;
    padding: 60px 5% 80px;
}
.arz-page h1 {
    font-family: var(--arz-display);
    font-size: clamp(32px, 4vw, 48px);
    text-transform: uppercase;
    letter-spacing: -1.5px; margin-bottom: 30px;
}
.arz-page h2 {
    font-family: var(--arz-display);
    font-size: 22px; text-transform: uppercase;
    margin: 30px 0 12px; letter-spacing: -.5px;
}
.arz-page p { color: #aaa; line-height: 1.8; margin-bottom: 14px; font-size: 15px; }
.arz-page a { color: var(--arz-accent); }
.arz-page ul { color: #aaa; padding-left: 20px; margin-bottom: 14px; }
.arz-page ul li { margin-bottom: 6px; }

/* 404 */
.arz-404 {
    text-align: center; padding: 140px 5%;
}
.arz-404 h1 {
    font-family: var(--arz-display);
    font-size: clamp(80px, 15vw, 200px);
    color: var(--arz-accent);
    line-height: 1; letter-spacing: -8px;
}
.arz-404 p { color: #888; font-size: 18px; margin: 20px 0 40px; }

/* ===== Responsive ===== */
@media (max-width: 1024px) {
    .arz-product-grid { grid-template-columns: 1fr; gap: 40px; }
    .arz-product-gallery { position: static; }
    .arz-features-grid { grid-template-columns: repeat(2, 1fr); gap: 40px 30px; }
    .arz-footer-inner { grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media (max-width: 768px) {
    .arz-nav { padding: 14px 4%; }
    .arz-nav-links { display: none; }
    .arz-hamburger { display: flex; }
    .arz-section { padding: 60px 0; }
    .arz-section-head { flex-direction: column; align-items: flex-start; }
    .arz-body { cursor: auto; }
    .arz-cursor { display: none; }
    /* Mobile product grid — FIX: collapse columns properly */
    .arz-grid { grid-template-columns: 1fr; grid-auto-rows: 320px; gap: 14px; }
    .arz-p1, .arz-p2, .arz-p3, .arz-p4, .arz-p5 {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }
    .arz-hero { padding: 100px 5% 60px; min-height: 80vh; }
    .arz-h1 { letter-spacing: -2px; }
    .arz-stats {
        grid-template-columns: 1fr 1fr;
        border-top: 1px solid var(--arz-border);
        margin-top: 50px;
    }
    .arz-stat { padding: 20px 16px; }
    .arz-stat:nth-child(2) { border-right: none; }
    .arz-cta-group { flex-direction: column; }
    .arz-cta-group .arz-btn { width: 100%; justify-content: center; }
    .arz-features { padding: 70px 5%; }
    .arz-features-grid { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
    .arz-product-features { grid-template-columns: 1fr; }
    .arz-product-meta { grid-template-columns: 1fr; }
    .arz-product-page { padding: 30px 4% 60px; }
    .arz-newsletter-form { flex-direction: column; border: none; gap: 8px; }
    .arz-newsletter-form input[type="email"] { border: 1px solid var(--arz-border-2); }
    .arz-newsletter-form button { width: 100%; }
    .arz-shop-grid { grid-template-columns: 1fr 1fr; gap: 14px; padding: 30px 4%; }
    .arz-footer-inner { grid-template-columns: 1fr 1fr; gap: 36px 30px; }
    .arz-footer-brand { grid-column: span 2; }
}
@media (max-width: 480px) {
    .arz-footer-inner { grid-template-columns: 1fr; gap: 36px; }
    .arz-footer-brand { grid-column: span 1; }
    .arz-shop-grid { grid-template-columns: 1fr; }
    .arz-product-thumbs { grid-template-columns: repeat(3, 1fr); }
    .arz-stat { padding: 16px 12px; }
}
/* ===== Related products on single product ===== */
.arz-related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.arz-related-card {
    display: block;
    background: var(--arz-bg-2);
    border: 1px solid var(--arz-border);
    overflow: hidden;
    transition: all .3s;
}
.arz-related-card:hover { border-color: var(--arz-accent); transform: translateY(-4px); }
.arz-related-img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    background: var(--arz-bg);
    display: block;
}
.arz-related-body {
    padding: 16px 18px;
    border-top: 1px solid var(--arz-border);
}
.arz-related-name {
    font-family: var(--arz-display);
    font-size: 14px;
    text-transform: uppercase;
    margin-bottom: 6px;
    letter-spacing: -.3px;
}
.arz-related-price {
    color: var(--arz-accent);
    font-family: var(--arz-display);
    font-size: 14px;
}

@media (max-width: 1024px) {
    .arz-related-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    .arz-related-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
}
@media (max-width: 480px) {
    .arz-related-grid { grid-template-columns: 1fr; }
}

/* Sticky add-to-cart (mobile) — small floating bar */
@media (max-width: 768px) {
    body.single-product { padding-bottom: 70px; }
    .arz-mobile-atc {
        position: fixed; left: 0; right: 0; bottom: 0;
        background: rgba(10,10,10,.95);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-top: 1px solid var(--arz-border);
        padding: 12px 4%;
        display: flex; align-items: center;
        gap: 12px; z-index: 90;
    }
    .arz-mobile-atc-price {
        font-family: var(--arz-display);
        color: var(--arz-accent);
        font-size: 18px;
        white-space: nowrap;
    }
    .arz-mobile-atc-btn {
        flex: 1; background: var(--arz-accent); color: #000;
        border: none; padding: 16px;
        font-family: var(--arz-display);
        font-size: 12px; text-transform: uppercase;
        letter-spacing: 2px; cursor: pointer;
        clip-path: polygon(0 0, 100% 0, 100% 68%, 92% 100%, 0 100%);
        padding-right: 28px;
    }
}

/* ===== Round 3 fixes (2026-06-27): shop/archive page ===== */
.arz-shop-header {
    padding: 80px 5% 50px;
    background: radial-gradient(ellipse at top, rgba(196,255,0,.06), transparent 60%), #0a0a0a;
    border-bottom: 1px solid var(--arz-border);
}
.arz-shop-header h1 {
    font-family: var(--arz-display);
    font-size: clamp(48px, 8vw, 120px);
    text-transform: uppercase; letter-spacing: -4px;
    line-height: .88; margin: 14px 0 0;
}
.arz-shop-header h1 .accent {
    color: var(--arz-accent);
    display: inline-block;
    margin-left: 4px;
    transition: transform .3s;
}
.arz-shop-header h1:hover .accent { transform: scale(1.4) rotate(15deg); }
.arz-shop-header p { color: #888; font-size: 16px; max-width: 600px; margin-top: 16px; }

.arz-shop-layout {
    display: grid; grid-template-columns: 240px 1fr;
    gap: 50px; padding: 60px 5%; max-width: 1400px;
    margin: 0 auto;
}
.arz-shop-sidebar {
    position: sticky; top: 100px; align-self: start;
    padding: 24px;
    background: var(--arz-bg-2);
    border: 1px solid var(--arz-border);
}
.arz-shop-sidebar h3 {
    font-family: var(--arz-display);
    font-size: 14px; text-transform: uppercase;
    letter-spacing: 2px; color: var(--arz-accent);
    margin-bottom: 16px; padding-bottom: 12px;
    border-bottom: 1px solid var(--arz-border);
}
.arz-cat-list { list-style: none; padding: 0; margin: 0 0 32px; }
.arz-cat-list li { margin-bottom: 6px; }
.arz-cat-list a {
    display: flex; justify-content: space-between;
    padding: 10px 8px; color: #888;
    font-size: 14px; transition: color .2s, padding-left .2s, background .2s;
}
.arz-cat-list a:hover, .arz-cat-list a.active {
    color: var(--arz-accent); padding-left: 14px;
    background: rgba(196,255,0,.04);
}
.arz-cat-list .count { color: #aaa; font-size: 12px; }

/* Product grid - dense to avoid orphan */
.arz-products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.arz-products-grid > .arz-product-card:nth-child(10):last-child {
    grid-column: 2;
    justify-self: stretch;
}
/* Product cards */
.arz-product-card {
    position: relative; overflow: hidden;
    background: var(--arz-bg-2); border: 1px solid var(--arz-border);
    transition: all .3s; display: block;
}
.arz-product-card:hover {
    border-color: var(--arz-accent);
    transform: translateY(-4px);
}
.arz-product-card-img {
    aspect-ratio: 1; object-fit: cover;
    width: 100%; transition: transform .6s, filter .3s;
    filter: brightness(.85);
}
.arz-product-card:hover .arz-product-card-img { transform: scale(1.05); filter: brightness(1); }
.arz-product-card-body { padding: 18px 20px; }
.arz-product-card-cat {
    color: #aaa; font-size: 11px; text-transform: uppercase;
    letter-spacing: 1.5px; margin-bottom: 6px;
    font-weight: 600;
}
.arz-product-card-name {
    font-family: var(--arz-display);
    font-size: 15px; text-transform: uppercase;
    margin-bottom: 8px; letter-spacing: -.3px;
    color: #fff;
}
.arz-product-card-price {
    color: var(--arz-accent); font-weight: 700;
    font-size: 15px;
    display: flex; align-items: baseline; gap: 6px;
}
.arz-product-card-price .woocommerce-Price-amount { display: inline-block; }
.arz-product-card-price .woocommerce-price-suffix { display: none !important; }
.arz-product-card-badge {
    position: absolute; top: 14px; left: 14px;
    background: var(--arz-accent); color: #000;
    font-family: var(--arz-display);
    font-size: 10px; padding: 5px 12px;
    text-transform: uppercase; letter-spacing: 1px;
    z-index: 2;
}
.arz-product-card-badge.sale { background: var(--arz-pink); color: #fff; }

/* Nav hover animation */
.arz-nav-links a {
    position: relative;
    transition: color .25s;
}
.arz-nav-links a:not(.active)::after {
    content: "";
    position: absolute;
    left: 0; bottom: -6px;
    width: 0; height: 2px;
    background: var(--arz-accent);
    transition: width .3s cubic-bezier(.25,.46,.45,.94);
}
.arz-nav-links a:not(.active):hover {
    color: var(--arz-accent);
}
.arz-nav-links a:not(.active):hover::after {
    width: 100%;
}

/* Breadcrumb */
.arz-breadcrumb-bar {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 5% 0;
    color: #888;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.arz-breadcrumb-bar a {
    color: #888;
    transition: color .2s;
}
.arz-breadcrumb-bar a:hover { color: var(--arz-accent); }
.arz-breadcrumb-bar .sep {
    margin: 0 10px;
    color: #444;
}
.arz-breadcrumb-bar .current { color: var(--arz-accent); }

/* Hide the "(IVA incl.)" suffix everywhere on cards */
.arz-products-grid .woocommerce-price-suffix,
.arz-related-grid .woocommerce-price-suffix,
.arz-product-card .woocommerce-price-suffix {
    display: none !important;
}

@media (max-width: 1024px) {
    .arz-shop-layout { grid-template-columns: 1fr; }
    .arz-shop-sidebar { position: static; }
    .arz-products-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .arz-products-grid > .arz-product-card:nth-child(10):last-child { grid-column: auto; justify-self: stretch; }
}
@media (max-width: 480px) {
    .arz-products-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .arz-products-grid { grid-template-columns: 1fr; }
}

/* Fix: WooCommerce icon font glyph renders as empty box on info/message/error notices — hide decorative icon, keep text */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
  content: none !important;
}
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  padding-left: 1.5em !important;
}

/* ============================================================== */
/* ===== MOBILE FIXES 2026-06-27 by Kirk ========================= */
/* ============================================================== */

/* P0: Cart button too small + tiny text on mobile */
@media (max-width: 768px) {
    .arz-cart-btn {
        font-size: 13px !important;
        padding: 10px 14px !important;
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
    }
    /* Hamburger bigger touch target */
    .arz-hamburger {
        width: 44px !important;
        height: 44px !important;
        font-size: 22px !important;
    }
    /* Logo tap target */
    .arz-logo {
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
    }
    /* Social icons >= 44px tap target */
    .arz-footer-social a {
        width: 44px !important;
        height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 14px !important;
    }
}

/* P0: Inputs contrast & tap target (Contact, Newsletter, Login) */
@media (max-width: 768px) {
    .arz-contact input,
    .arz-contact textarea,
    .woocommerce form .form-row input.input-text,
    .woocommerce form .form-row textarea,
    .woocommerce form .form-row select,
    .arz-field input,
    .arz-field textarea,
    input[type="text"],
    input[type="email"],
    input[type="search"],
    input[type="password"],
    input[type="tel"],
    textarea,
    select {
        min-height: 48px !important;
        font-size: 16px !important;  /* prevent iOS zoom */
        background: #1a1a1a !important;
        color: #fff !important;
        border: 1px solid #555 !important;
    }
    .arz-contact textarea {
        min-height: 150px !important;
    }
    /* Submit button full-width on mobile */
    .arz-contact button.arz-btn,
    .arz-btn-block,
    form.cart button.single_add_to_cart_button,
    form.cart .single_add_to_cart_button,
    .woocommerce form .form-row button {
        width: 100% !important;
        min-height: 50px !important;
        font-size: 15px !important;
    }
}

/* P1: Footer link tap targets */
@media (max-width: 768px) {
    .arz-footer-col a {
        display: block !important;
        padding: 12px 0 !important;
        min-height: 44px !important;
        font-size: 14px !important;
    }
    .arz-footer-col h5 {
        font-size: 13px !important;
        margin-bottom: 4px !important;
    }
    .arz-footer-bottom p {
        font-size: 12px !important;
        line-height: 1.6 !important;
    }
}

/* P1: Product card hover/tap price readability */
@media (max-width: 768px) {
    .arz-product-card-price,
    .woocommerce-Price-amount,
    .price,
    .amount {
        color: #ffffff !important;
        font-size: 15px !important;
        font-weight: 600 !important;
    }
}

/* P1: Hero h1 - prevent overflow on smallest screens */
@media (max-width: 380px) {
    .arz-h1 {
        font-size: clamp(38px, 13vw, 56px) !important;
        letter-spacing: -2px !important;
        margin-bottom: 20px !important;
    }
}
@media (max-width: 768px) {
    .arz-h1 {
        letter-spacing: -3px !important;
    }
}

/* P1: Shop sidebar - collapse to top filter on mobile */
@media (max-width: 768px) {
    .arz-shop-sidebar {
        margin-bottom: 24px !important;
        padding: 16px !important;
        background: transparent !important;
        border: 1px solid var(--arz-border) !important;
    }
    .arz-shop-sidebar h3 {
        font-size: 12px !important;
        margin-bottom: 12px !important;
    }
    .arz-cat-list {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin: 0 !important;
    }
    .arz-cat-list li {
        margin: 0 !important;
    }
    .arz-cat-list a {
        display: inline-block !important;
        padding: 8px 14px !important;
        border: 1px solid var(--arz-border) !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
    }
    .arz-cat-list a.active {
        background: var(--arz-accent) !important;
        color: #000 !important;
        border-color: var(--arz-accent) !important;
    }
    .arz-cat-list .count {
        margin-left: 4px !important;
        font-size: 10px !important;
    }
}

/* P2: Breadcrumb on mobile - bigger touch */
@media (max-width: 768px) {
    .woocommerce-breadcrumb a,
    nav.woocommerce-breadcrumb a,
    .woocommerce-breadcrumb,
    nav.woocommerce-breadcrumb {
        font-size: 13px !important;
        padding: 8px 0 !important;
    }
    .woocommerce-breadcrumb {
        padding: 12px 5% !important;
    }
}

/* P2: Product detail - tighter layout on mobile */
@media (max-width: 768px) {
    .arz-product-layout,
    .woocommerce div.product {
        padding: 0 !important;
        gap: 24px !important;
    }
    .arz-product-title,
    .product_title {
        font-size: 28px !important;
        line-height: 1.1 !important;
    }
    .arz-product-price,
    .woocommerce div.product p.price {
        font-size: 22px !important;
        margin-bottom: 16px !important;
    }
    .arz-product-meta {
        gap: 16px !important;
    }
    table.variations td {
        padding: 8px !important;
    }
    /* Make variation select bigger */
    table.variations select {
        min-height: 48px !important;
        font-size: 15px !important;
        width: 100% !important;
    }
}

/* P2: Empty cart - reduce footer height */
@media (max-width: 768px) {
    .cart-empty.woocommerce-info {
        font-size: 16px !important;
        padding: 30px 20px !important;
    }
}

/* P2: Section padding consistency */
@media (max-width: 768px) {
    .arz-section {
        padding: 50px 0 !important;
    }
}

/* P3: Ensure no horizontal scroll from any element on mobile */
html, body {
    overflow-x: hidden !important;
}

/* P3: Blog single posts - readable width on mobile */
@media (max-width: 768px) {
    .arz-blog-content,
    .entry-content,
    article.post {
        font-size: 16px !important;
        line-height: 1.7 !important;
    }
    .arz-blog-content p,
    .entry-content p {
        margin-bottom: 16px !important;
    }
    .arz-blog-content h2,
    .entry-content h2,
    article.post h2 {
        font-size: 22px !important;
        margin: 28px 0 12px !important;
    }
}

/* P3: Tables - responsive */
@media (max-width: 768px) {
    table.variations {
        width: 100% !important;
        display: block !important;
    }
    table.variations tbody {
        display: block !important;
        width: 100% !important;
    }
    table.variations tr {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        margin-bottom: 12px !important;
    }
    table.variations th,
    table.variations td {
        display: block !important;
        width: 100% !important;
        padding: 4px 0 !important;
    }
    table.variations th .label {
        margin-bottom: 8px !important;
    }
}

/* P3: Newsletter form bigger inputs */
@media (max-width: 768px) {
    .arz-newsletter input[type="email"],
    .arz-newsletter input[type="text"] {
        min-height: 48px !important;
        font-size: 16px !important;
    }
    .arz-newsletter button {
        min-height: 48px !important;
    }
}

/* P3: About page stats grid 2 cols on mobile */
@media (max-width: 768px) {
    .arz-about-stats {
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }
    .arz-about-stat {
        padding: 16px 12px !important;
    }
    .arz-about-stat-num {
        font-size: 26px !important;
    }
    .arz-about-stat-label {
        font-size: 10px !important;
    }
}

/* P3: Marquee - ensure no jitter */
.arz-marquee-track {
    will-change: transform !important;
}

/* Fix: arz-product-card-cat was redundant text on category page */
@media (max-width: 768px) {
    .tax-product_cat .arz-product-card-cat,
    .post-type-archive-product .arz-product-card-cat {
        display: none !important;
    }
}

/* Fix: Home featured grid - prevent overflow on tiny screens */
@media (max-width: 480px) {
    .arz-grid {
        grid-auto-rows: 240px !important;
        gap: 10px !important;
    }
    .arz-feature h2 {
        font-size: 24px !important;
    }
}

/* Fix: Top bar (announcement) - bigger tap target for close if any */
@media (max-width: 768px) {
    .arz-topbar,
    .arz-announcement {
        font-size: 12px !important;
        padding: 10px 4% !important;
    }
}

/* Fix: Image lazy loading fallback color */
img {
    background: var(--arz-bg-2) !important;
}

/* Fix: Footer brand description contrast */
@media (max-width: 768px) {
    .arz-footer-brand p {
        color: #b0b0b0 !important;
        font-size: 13px !important;
        max-width: 100% !important;
    }
    .arz-footer-brand h4 {
        font-size: 28px !important;
    }
}

/* ============================================================== */
/* ===== V2 MOBILE FIXES 2026-06-27 23:48 UTC by Kirk =========== */
/* ============================================================== */

/* P1: Horizontal scroll for category chips */
@media (max-width: 768px) {
    .arz-cat-list {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 8px !important;
        padding-bottom: 8px !important;
        margin: 0 -5% !important;
        padding-left: 5% !important;
        padding-right: 5% !important;
        scrollbar-width: thin !important;
    }
    .arz-cat-list li {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }
    .arz-cat-list a {
        white-space: nowrap !important;
        padding: 8px 14px !important;
    }
    /* Visual cue for scroll */
    .arz-shop-sidebar {
        position: relative !important;
    }
    .arz-shop-sidebar::after {
        content: '';
        position: absolute;
        right: 0; top: 60px; bottom: 8px;
        width: 30px;
        background: linear-gradient(to right, transparent, var(--arz-bg));
        pointer-events: none;
    }
}

/* P1: WooCommerce notice - make dismissible */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
    position: relative !important;
}
.woocommerce-message::after,
.woocommerce-info::after {
    content: '\00d7';
    position: absolute !important;
    top: 8px !important;
    right: 14px !important;
    font-size: 22px !important;
    color: #fff !important;
    cursor: pointer !important;
    width: 30px !important;
    height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    opacity: 0.6 !important;
    transition: opacity .2s !important;
}
.woocommerce-message:hover::after,
.woocommerce-info:hover::after {
    opacity: 1 !important;
}

/* P0: Checkout form - tight mobile layout */
@media (max-width: 768px) {
    .arz-checkout-page {
        padding: 30px 4% 60px !important;
    }
    .arz-checkout-page h1 {
        font-size: 32px !important;
        margin-bottom: 16px !important;
    }
    .arz-checkout-page #customer_details {
        padding: 20px !important;
    }
    .arz-checkout-page .col2-set {
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }
    .arz-checkout-page #order_review {
        padding: 20px !important;
        margin-top: 16px !important;
    }
    .arz-checkout-page .shop_table th,
    .arz-checkout-page .shop_table td {
        padding: 10px 0 !important;
        font-size: 13px !important;
    }
    .arz-checkout-page #payment .payment_methods label {
        font-size: 14px !important;
    }
}

/* P1: Shop main - reduce padding on mobile */
@media (max-width: 768px) {
    .arz-shop-layout {
        padding: 20px 4% !important;
        gap: 16px !important;
    }
    .arz-products-grid {
        gap: 16px !important;
    }
}

/* P1: Marquee smaller padding on mobile */
@media (max-width: 768px) {
    .arz-marquee {
        font-size: 11px !important;
        padding: 8px 0 !important;
        letter-spacing: 1.5px !important;
    }
}

/* P0: iOS input fix - prevent zoom by ensuring 16px font on all inputs */
@media (max-width: 768px) {
    input[type="text"],
    input[type="email"],
    input[type="search"],
    input[type="password"],
    input[type="tel"],
    input[type="number"],
    textarea,
    select,
    .input-text {
        font-size: 16px !important;
    }
}

/* P2: Sticky mini-cart summary in checkout on mobile (read-only) */
@media (max-width: 768px) {
    .arz-checkout-page .woocommerce-checkout-review-order-table {
        font-size: 13px !important;
    }
    .arz-checkout-page .shop_table tfoot .order-total th,
    .arz-checkout-page .shop_table tfoot .order-total td {
        font-size: 18px !important;
    }
}

/* P2: Add to cart form layout on mobile */
@media (max-width: 768px) {
    table.variations {
        margin-bottom: 12px !important;
    }
    .single_variation_wrap {
        margin-top: 12px !important;
    }
    .woocommerce-variation-add-to-cart {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    .woocommerce-variation-add-to-cart .quantity {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
    }
    .woocommerce-variation-add-to-cart .quantity input.qty {
        width: 100% !important;
        min-height: 48px !important;
        font-size: 16px !important;
        text-align: center !important;
    }
    .woocommerce-variation-add-to-cart button {
        width: 100% !important;
    }
}

/* P3: Testimonial/page paddings */
@media (max-width: 768px) {
    .arz-testimonials-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

/* ============================================================== */
/* ===== V3 MOBILE FIXES 2026-06-27 23:55 UTC ==================== */
/* ============================================================== */

/* P0: Reduce giant "SHOP." hero on mobile - it's massive */
@media (max-width: 768px) {
    .arz-shop-header {
        padding: 30px 4% 20px !important;
        margin-bottom: 16px !important;
    }
    .arz-shop-header h1 {
        font-size: clamp(40px, 10vw, 64px) !important;
        margin-bottom: 8px !important;
        letter-spacing: -2px !important;
    }
    .arz-shop-header p {
        font-size: 14px !important;
        line-height: 1.5 !important;
        margin-bottom: 0 !important;
    }
    .arz-shop-header .arz-eyebrow {
        font-size: 10px !important;
        margin-bottom: 8px !important;
    }
}

/* P0: Sticky category sidebar on mobile - stays visible while scrolling */
@media (max-width: 768px) {
    .arz-shop-sidebar {
        position: sticky !important;
        top: 60px !important; /* below header */
        z-index: 50 !important;
        background: var(--arz-bg) !important;
        padding: 12px 4% !important;
        margin: 0 -4% 16px !important;
        border-bottom: 1px solid var(--arz-border) !important;
        border-top: 1px solid var(--arz-border) !important;
    }
    .arz-shop-sidebar h3 {
        display: none !important;
    }
    .arz-shop-sidebar::after {
        display: none !important;
    }
}

/* P0: Reduce breadcrumb padding on mobile */
@media (max-width: 768px) {
    .arz-breadcrumb-bar {
        padding: 10px 4% !important;
        font-size: 12px !important;
    }
}

/* P0: Home hero - reduce on mobile to fit more above fold */
@media (max-width: 768px) {
    .arz-hero {
        padding: 60px 4% 40px !important;
        min-height: auto !important;
    }
    .arz-h1 {
        font-size: clamp(40px, 12vw, 72px) !important;
        letter-spacing: -3px !important;
        margin-bottom: 16px !important;
    }
    .arz-hero p {
        font-size: 14px !important;
        line-height: 1.5 !important;
        margin-bottom: 20px !important;
    }
    .arz-hero-cta {
        flex-direction: column !important;
        gap: 12px !important;
        align-items: stretch !important;
    }
    .arz-hero-cta .arz-btn {
        width: 100% !important;
        text-align: center !important;
        padding: 16px 20px !important;
    }
}

/* P1: Section heads - stack on mobile */
@media (max-width: 768px) {
    .arz-section-head {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        margin-bottom: 24px !important;
    }
    .arz-section-head > div:last-child {
        width: 100% !important;
    }
    .arz-section-head a.arz-btn,
    .arz-section-head .arz-btn {
        width: 100% !important;
        text-align: center !important;
    }
}

/* P1: Marquee bar - keep visible */
@media (max-width: 768px) {
    .arz-marquee {
        font-size: 11px !important;
    }
}

/* P2: Reduce checkout WooCommerce notice - less aggressive */
@media (max-width: 768px) {
    .woocommerce-message {
        padding: 12px 40px 12px 16px !important;
        font-size: 13px !important;
        margin-bottom: 16px !important;
    }
}

/* ============================================================== */
/* ===== V4 CRITICAL MOBILE FIX 2026-06-28 00:15 UTC ============ */
/* ============================================================== */
/* THIS IS THE REAL BUG: Shop layout has 1004px wide grid on  */
/* mobile because grid items expand to content width due to    */
/* `min-width: auto` default. Images with width:100% expand to */
/* 100% of natural size. Need to force min-width:0 on grid items */
/* ============================================================== */

/* P0: Grid items must not expand beyond container */
@media (max-width: 768px) {
    .arz-products-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        min-width: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .arz-products-grid > * {
        min-width: 0 !important;
        max-width: 100% !important;
    }
    .arz-products-grid .arz-product-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    .arz-products-grid .arz-product-card-img {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Also constrain the parent containers */
    .arz-shop-main {
        max-width: 100% !important;
        min-width: 0 !important;
    }
    .arz-shop-layout {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        grid-template-columns: 1fr !important;
    }
}

/* P0: Force ALL grids to fit parent */
@media (max-width: 768px) {
    [class*="-grid"] {
        min-width: 0 !important;
    }
}

/* P0: Force all images to be responsive */
@media (max-width: 768px) {
    img {
        max-width: 100% !important;
        height: auto !important;
    }
    picture img {
        max-width: 100% !important;
    }
}

/* P0: Account page layout fix */
@media (max-width: 768px) {
    .arz-account-layout {
        grid-template-columns: 1fr !important;
    }
    .arz-account-sidebar {
        position: static !important;
        margin-bottom: 16px !important;
    }
}

/* ============================================================== */
/* ===== V5 REAL MOBILE FIX 2026-06-28 00:18 UTC ================ */
/* ============================================================== */
/* ROOT CAUSE: `grid-template-columns: 1fr` resolves to minmax(auto, 1fr) */
/* which expands to content size. Need minmax(0, 1fr) to force 0-min.   */
/* Plus original `display: grid; grid-template-columns: 1fr` was being   */
/* expanded by 1004px content (sidebar/main flex overflow).              */
/* ============================================================== */

@media (max-width: 768px) {
    /* P0: Force grid containers to actually constrain to viewport */
    .arz-shop-layout {
        display: block !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
        padding: 20px 4% !important;
        gap: 0 !important;
        overflow: visible !important;
    }
    
    .arz-shop-sidebar {
        position: sticky !important;
        top: 60px !important;
        z-index: 50 !important;
        background: var(--arz-bg) !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 12px 4% !important;
        margin: 0 -4% 16px !important;
        border-bottom: 1px solid var(--arz-border) !important;
        border-top: 1px solid var(--arz-border) !important;
        box-sizing: border-box !important;
    }
    
    .arz-shop-sidebar h3 { display: none !important; }
    .arz-shop-sidebar::after { display: none !important; }
    
    .arz-cat-list {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 8px !important;
        padding-bottom: 8px !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    .arz-cat-list li {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }
    .arz-cat-list a {
        white-space: nowrap !important;
        padding: 8px 14px !important;
    }
    
    /* Main product area */
    .arz-shop-main {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Product grid: 1 col mobile, 2 col tablet, force minmax(0, 1fr) */
    .arz-products-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    
    .arz-product-card {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    
    .arz-product-card-img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
    }
}

/* Same for tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    .arz-shop-layout {
        display: block !important;
    }
    .arz-products-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 20px !important;
    }
}

/* ============================================================== */
/* ===== V6 PRODUCT PAGE MOBILE 2026-06-28 00:22 UTC ============ */
/* ============================================================== */

@media (max-width: 768px) {
    /* Compact product info */
    .woocommerce-product-details__short-description,
    .woocommerce-product-details__short-description p,
    .product .woocommerce-product-details__short-description {
        font-size: 14px !important;
        line-height: 1.5 !important;
        margin-bottom: 16px !important;
    }
    
    /* Variations table compact */
    table.variations {
        margin-bottom: 8px !important;
    }
    table.variations td {
        padding: 4px 0 !important;
    }
    table.variations label {
        font-size: 13px !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        color: #aaa !important;
        font-weight: 600 !important;
    }
    table.variations select {
        width: 100% !important;
        min-height: 48px !important;
        font-size: 16px !important;
        padding: 10px !important;
    }
    
    /* Sticky Add to Cart bar */
    .single_variation_wrap {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        background: var(--arz-bg) !important;
        border-top: 1px solid var(--arz-accent) !important;
        padding: 12px 4% !important;
        z-index: 100 !important;
        box-shadow: 0 -4px 12px rgba(0,0,0,.5) !important;
    }
    .single_variation_wrap .woocommerce-variation-add-to-cart {
        display: flex !important;
        flex-direction: row !important;
        gap: 8px !important;
        align-items: stretch !important;
        margin: 0 !important;
    }
    .single_variation_wrap .quantity {
        flex: 0 0 80px !important;
        margin: 0 !important;
    }
    .single_variation_wrap .quantity input.qty {
        width: 100% !important;
        min-height: 48px !important;
        font-size: 18px !important;
        text-align: center !important;
        padding: 0 !important;
    }
    .single_variation_wrap button.single_add_to_cart_button {
        flex: 1 !important;
        min-height: 48px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 1.5px !important;
        padding: 0 16px !important;
    }
    
    /* Add bottom padding to body to prevent sticky bar covering content */
    body.single-product {
        padding-bottom: 80px !important;
    }
    body.single-product footer {
        margin-bottom: 0 !important;
    }
    
    /* Compact title */
    .product_title,
    h1.product_title {
        font-size: 22px !important;
        line-height: 1.2 !important;
        margin-bottom: 8px !important;
    }
    
    /* Compact price */
    .woocommerce-Price-amount {
        font-size: 22px !important;
    }
    
    /* Tabs cleaner */
    .woocommerce-tabs {
        margin-top: 24px !important;
    }
    .woocommerce-tabs ul.tabs {
        padding: 0 !important;
        margin: 0 0 16px !important;
        display: flex !important;
        gap: 0 !important;
        overflow-x: auto !important;
    }
    .woocommerce-tabs ul.tabs li {
        padding: 8px 12px !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }
    .woocommerce-tabs ul.tabs li a {
        font-size: 12px !important;
    }
}

/* ============================================================== */
/* ===== V7 FINAL MOBILE POLISH 2026-06-28 00:25 UTC ============ */
/* ============================================================== */

@media (max-width: 768px) {
    /* All selects 16px to prevent iOS zoom */
    select, .select, .arz-select, select option {
        font-size: 16px !important;
    }
    table.variations select {
        font-size: 16px !important;
        min-height: 52px !important;
        padding: 14px 10px !important;
    }
    
    /* Account dashboard cards */
    .arz-account-card,
    .woocommerce-MyAccount-navigation {
        width: 100% !important;
    }
    
    /* Cart table mobile */
    .woocommerce-cart-form table.shop_table,
    .woocommerce-cart-form .cart_item {
        font-size: 13px !important;
    }
    .woocommerce-cart-form .product-thumbnail img {
        width: 60px !important;
        height: 60px !important;
    }
    
    /* Prevent any grid from expanding on mobile */
    .arz-related-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }
    .arz-testimonials-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }
    .arz-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
    
    /* Footer column layout */
    .arz-footer-grid,
    footer ul,
    .arz-footer-cols {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    /* Newsletter form fix */
    .arz-newsletter-form {
        flex-direction: column !important;
        gap: 8px !important;
    }
    .arz-newsletter-form input[type="email"] {
        width: 100% !important;
    }
    .arz-newsletter-form button {
        width: 100% !important;
    }
}

/* Make sure 1fr cols never overflow */
@media (max-width: 768px) {
    [style*="grid-template-columns"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* ============================================================== */
/* ===== CF7 FORM STYLING 2026-06-28 00:36 UTC ================== */
/* ============================================================== */

.arz-contact-form-wrap {
    max-width: 600px;
    margin: 0 auto;
}

.arz-contact-form-wrap .wpcf7 {
    background: var(--arz-bg-2);
    border: 1px solid var(--arz-border);
    padding: 40px;
}

.arz-contact-form-wrap .wpcf7-form p {
    margin: 0 0 24px;
}

.arz-contact-form-wrap .wpcf7-form label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--arz-accent);
    margin-bottom: 8px;
    font-weight: 700;
}

.arz-contact-form-wrap .wpcf7-form input[type="text"],
.arz-contact-form-wrap .wpcf7-form input[type="email"],
.arz-contact-form-wrap .wpcf7-form input[type="tel"],
.arz-contact-form-wrap .wpcf7-form input[type="url"],
.arz-contact-form-wrap .wpcf7-form textarea,
.arz-contact-form-wrap .wpcf7-form select {
    width: 100%;
    background: var(--arz-bg);
    border: 1px solid var(--arz-border-2);
    color: #fff;
    padding: 14px 18px;
    font-family: inherit;
    font-size: 16px;
    transition: border .2s;
    outline: none;
    box-sizing: border-box;
}

.arz-contact-form-wrap .wpcf7-form input:focus,
.arz-contact-form-wrap .wpcf7-form textarea:focus,
.arz-contact-form-wrap .wpcf7-form select:focus {
    border-color: var(--arz-accent);
}

.arz-contact-form-wrap .wpcf7-form textarea {
    resize: vertical;
    min-height: 140px;
}

.arz-contact-form-wrap .wpcf7-form input::placeholder,
.arz-contact-form-wrap .wpcf7-form textarea::placeholder {
    color: #555;
}

.arz-contact-form-wrap .wpcf7-submit,
.arz-contact-form-wrap .wpcf7-form input[type="submit"] {
    background: var(--arz-accent);
    color: #000;
    border: 0;
    padding: 16px 32px;
    font-family: var(--arz-display);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all .2s;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
    width: 100%;
}

.arz-contact-form-wrap .wpcf7-submit:hover,
.arz-contact-form-wrap .wpcf7-form input[type="submit"]:hover {
    background: #fff;
}

.arz-contact-form-wrap .wpcf7-not-valid-tip {
    color: #ff4444 !important;
    font-size: 12px !important;
    margin-top: 4px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.arz-contact-form-wrap .wpcf7-response-output {
    margin: 16px 0 0 !important;
    padding: 12px 16px !important;
    border: 1px solid !important;
    font-size: 13px !important;
    text-align: center;
}

.arz-contact-form-wrap .wpcf7-mail-sent-ok {
    border-color: var(--arz-accent) !important;
    color: var(--arz-accent) !important;
    background: rgba(var(--arz-accent-rgb), .05) !important;
}

.arz-contact-form-wrap .wpcf7-validation-errors,
.arz-contact-form-wrap .wpcf7-mail-sent-ng {
    border-color: #ff4444 !important;
    color: #ff4444 !important;
}

.arz-contact-form-wrap .wpcf7-spinner {
    display: none !important;
}

/* Mobile */
@media (max-width: 768px) {
    .arz-contact-form-wrap {
        padding: 0 4%;
    }
    .arz-contact-form-wrap .wpcf7 {
        padding: 24px 20px;
    }
    .arz-contact-form-wrap .wpcf7-form input,
    .arz-contact-form-wrap .wpcf7-form textarea {
        font-size: 16px;
        padding: 14px 16px;
    }
}
