/*
Theme Name: SkinShift TF2 Posterboard v10 Fixed Reactive
Theme URI: https://skinshift.net/
Author: OpenAI
Author URI: https://openai.com/
Description: A bold editorial TF2 WooCommerce theme for SkinShift with poster-board layout, bright colors, Wishlist, Shop, Sell, and legal pages.
Version: 1.0.7
Text Domain: skinshift-tf2-posterboard-v10
*/

@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;700;900&display=swap');

:root{
  --paper:#fff4cf;
  --paper-2:#ffe1a3;
  --ink:#1b1612;
  --muted:#6d5c4d;
  --red:#d9382c;
  --red-dark:#8f1f1a;
  --blue:#155f7d;
  --blue-2:#54bbce;
  --mustard:#f8b83f;
  --green:#2a8362;
  --white:#fffaf0;
  --line:#25190f;
  --soft-line:rgba(37,25,15,.16);
  --shadow: 12px 12px 0 rgba(27,22,18,.16);
  --shadow-soft: 0 18px 44px rgba(54,35,16,.18);
  --radius:26px;
  --header-h:82px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  background:
    radial-gradient(circle at 20% 12%, rgba(216,56,44,.13), transparent 26%),
    radial-gradient(circle at 80% 18%, rgba(21,95,125,.14), transparent 30%),
    linear-gradient(90deg, rgba(27,22,18,.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(27,22,18,.035) 1px, transparent 1px),
    linear-gradient(180deg,#fff0c2 0%,#ffe0a0 45%,#ffd38a 100%);
  background-size:auto,auto,36px 36px,36px 36px,auto;
  overflow-x:hidden;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.16;
  background-image:radial-gradient(var(--ink) .75px, transparent .75px);
  background-size:9px 9px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.08));
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.container{width:min(1360px,calc(100% - 44px));margin:0 auto}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;padding:14px 0;background:rgba(255,237,190,.92);backdrop-filter:blur(12px);border-bottom:4px solid var(--ink)}
.header-shell{min-height:var(--header-h);display:grid;grid-template-columns:minmax(250px,auto) 1fr auto;align-items:center;gap:16px;border:4px solid var(--line);border-radius:0 34px 0 34px;background:var(--white);box-shadow:8px 8px 0 rgba(27,22,18,.12);padding:10px 14px 10px 16px;position:relative;overflow:hidden}
.header-shell:before{content:"";position:absolute;left:-100px;top:0;width:260px;height:100%;background:linear-gradient(115deg,var(--blue) 0 40%,transparent 40%);opacity:.12;pointer-events:none}
.brand{display:flex;align-items:center;gap:12px;position:relative;z-index:2;min-width:0}
.brand-logo{width:62px;height:62px;border:3px solid var(--ink);border-radius:18px;background:var(--mustard);display:grid;place-items:center;overflow:hidden;box-shadow:5px 5px 0 rgba(27,22,18,.14);flex:0 0 auto}
.brand-logo img,.brand-logo .custom-logo{width:100%;height:100%;object-fit:cover}
.brand-copy strong{display:block;font-family:'Archivo Black',sans-serif;text-transform:uppercase;letter-spacing:-.04em;font-size:28px;line-height:.9;color:var(--ink);white-space:nowrap}
.brand-copy span{display:block;margin-top:5px;color:var(--blue);font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:900;white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.main-nav{justify-self:center;display:flex;align-items:center;gap:6px;flex-wrap:nowrap;position:relative;z-index:2;min-width:0}
.main-nav ul{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;list-style:none;padding:0;margin:0}
.main-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 11px;border:2px solid transparent;border-radius:999px;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.07em;transition:.2s ease;white-space:nowrap}
.main-nav a:hover,.main-nav .current-menu-item>a{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:translateY(-2px)}
.header-actions{display:flex;align-items:center;gap:8px;position:relative;z-index:2;flex:0 0 auto}
.header-icon,.account-link{height:54px;border:3px solid var(--ink);background:var(--paper);box-shadow:5px 5px 0 rgba(27,22,18,.14);transition:.2s ease}
.header-icon{width:54px;border-radius:17px;display:grid;place-items:center;position:relative}
.header-icon svg{width:23px;height:23px;stroke:var(--ink);fill:none;stroke-width:2}
.header-icon:hover,.account-link:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 rgba(27,22,18,.18)}
.header-icon .count,.skinshift-wishlist-count{position:absolute;top:-9px;right:-9px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--red);color:#fff;font-size:12px;font-weight:900;display:grid;place-items:center;border:2px solid var(--ink);line-height:1}
.account-link{display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:0 18px 0 18px;background:var(--red);color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:14px}

/* General */
.section{padding:66px 0}
.section-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:28px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--blue);font-size:13px}
.eyebrow:before{content:"";width:34px;height:5px;background:var(--red);border:2px solid var(--ink)}
h1,h2,h3,.poster-title{font-family:'Archivo Black',sans-serif;text-transform:uppercase;letter-spacing:-.055em;margin:0;color:var(--ink)}
h1{font-size:clamp(42px,6.2vw,102px);line-height:.86;text-wrap:balance}
h2{font-size:clamp(30px,3.8vw,56px);line-height:.92;text-wrap:balance;text-shadow:2px 2px 0 rgba(255,255,255,.55)}
h3{font-size:28px;line-height:.95}
p{font-size:19px;line-height:1.62;color:var(--muted)}
.button-primary,.button-ghost,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce ul.products li.product .button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:54px!important;padding:0 24px!important;border:3px solid var(--ink)!important;border-radius:0 18px 0 18px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.06em!important;background:var(--red)!important;color:#fff!important;box-shadow:6px 6px 0 rgba(27,22,18,.18)!important;transition:.18s ease!important;font-family:'DM Sans',sans-serif!important}
.button-ghost{background:var(--paper)!important;color:var(--ink)!important}
.button-primary:hover,.button-ghost:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 rgba(27,22,18,.22)!important}

/* Front page - completely different editorial/poster layout */
.hero-poster{padding:34px 0 72px;position:relative;overflow:hidden}
.poster-marquee{border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);background:var(--blue);color:#fff;overflow:hidden;transform:rotate(-1deg);margin:14px -24px 38px}
.poster-marquee-track{display:flex;gap:42px;white-space:nowrap;animation:posterScroll 20s linear infinite;padding:12px 0;font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:14px}
.poster-marquee-track span{padding-left:42px}.poster-marquee strong{color:var(--mustard)}
@keyframes posterScroll{to{transform:translateX(-50%)}}
.hero-board{display:grid;grid-template-columns:.92fr 1.08fr;min-height:690px;border:5px solid var(--ink);background:var(--white);box-shadow:var(--shadow);border-radius:34px;overflow:hidden;position:relative}
.hero-left{padding:54px;display:flex;flex-direction:column;justify-content:space-between;gap:34px;background:linear-gradient(180deg,#fff8df,#ffe6a9);position:relative;z-index:2}
.hero-left:after{content:"";position:absolute;right:-120px;bottom:-120px;width:360px;height:360px;border-radius:50%;background:var(--blue-2);opacity:.18;z-index:-1}
.hero-title-mark{display:inline-flex;width:max-content;padding:10px 16px;border:3px solid var(--ink);border-radius:999px;background:var(--mustard);font-weight:900;text-transform:uppercase;letter-spacing:.18em;color:var(--ink)}
.hero-left h1 span{display:block;color:var(--red)}
.hero-left p{max-width:650px;font-size:20px;color:#3d342a;font-weight:500}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.hero-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hero-mini{min-height:132px;border:3px solid var(--ink);background:var(--paper);border-radius:0 22px 0 22px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.hero-mini:after{content:"";position:absolute;right:-28px;bottom:-28px;width:86px;height:86px;border-radius:50%;background:var(--red);opacity:.18}
.hero-mini strong{font-family:'Archivo Black';font-size:22px;text-transform:uppercase;letter-spacing:-.04em}.hero-mini span{font-weight:800;color:var(--muted)}
.hero-right{position:relative;background:var(--ink);min-height:690px;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%,0 14%)}
.hero-right img{width:100%;height:100%;object-fit:cover;opacity:.96;filter:saturate(1.1) contrast(1.04)}
.hero-right:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(21,95,125,.28),transparent 40%,rgba(216,56,44,.2));mix-blend-mode:multiply}
.hero-stamp{position:absolute;right:28px;top:28px;width:168px;height:168px;border-radius:50%;border:5px solid var(--ink);background:var(--mustard);display:grid;place-items:center;text-align:center;font-family:'Archivo Black';font-size:24px;line-height:.9;text-transform:uppercase;transform:rotate(9deg);box-shadow:8px 8px 0 rgba(0,0,0,.2);z-index:3;animation:stampPulse 3.4s ease-in-out infinite}
@keyframes stampPulse{50%{transform:rotate(9deg) scale(1.04)}}

.diagonal-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;transform:rotate(.7deg)}
.diagonal-card{border:4px solid var(--ink);background:var(--white);border-radius:28px;padding:28px;box-shadow:var(--shadow-soft);position:relative;min-height:280px;overflow:hidden;transition:.22s ease}
.diagonal-card:nth-child(2){background:#d8f3f7}.diagonal-card:nth-child(3){background:#ffe1e1}
.diagonal-card:hover{transform:translateY(-8px) rotate(-.7deg)}
.diagonal-card .big-num{font-family:'Archivo Black';font-size:86px;line-height:.75;color:rgba(27,22,18,.12);position:absolute;right:18px;top:18px}.diagonal-card h3{font-size:34px;margin-top:86px}.diagonal-card p{font-weight:600}

.wide-story{display:grid;grid-template-columns:1.25fr .75fr;border:5px solid var(--ink);border-radius:34px;overflow:hidden;background:var(--white);box-shadow:var(--shadow)}
.story-image{min-height:520px;position:relative}.story-image img{width:100%;height:100%;object-fit:cover}.story-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,rgba(0,0,0,.2))}
.story-copy{padding:46px;background:linear-gradient(180deg,#fff5cf,#ffe6a6);display:flex;flex-direction:column;justify-content:center;gap:20px}
.story-list{display:grid;gap:12px;margin-top:12px}.story-list div{display:flex;align-items:center;gap:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.story-list div:before{content:"";width:17px;height:17px;background:var(--red);border:3px solid var(--ink);transform:rotate(45deg)}

.product-strip{border:5px solid var(--ink);border-radius:34px;background:#fffaf0;box-shadow:var(--shadow);padding:30px;overflow:hidden}
.product-strip .woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
.woocommerce ul.products{margin:0!important;padding:0!important;list-style:none!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;border:4px solid var(--ink)!important;border-radius:28px!important;background:var(--white)!important;box-shadow:8px 8px 0 rgba(27,22,18,.13)!important;position:relative!important;display:flex!important;flex-direction:column!important;min-height:100%!important;overflow:hidden!important;transition:.2s ease!important}
.woocommerce ul.products li.product:hover{transform:translate(-3px,-3px);box-shadow:12px 12px 0 rgba(27,22,18,.18)!important}
.woocommerce ul.products li.product a img{width:100%!important;aspect-ratio:1/1!important;object-fit:contain!important;background:linear-gradient(135deg,#fff2c4,#ffd997)!important;padding:24px!important;margin:0!important;border-bottom:4px solid var(--ink)!important}
.woocommerce-loop-product__title{font-size:24px!important;line-height:1.08!important;padding:18px 18px 10px!important;text-transform:none!important;letter-spacing:-.03em!important;color:var(--ink)!important;text-shadow:1px 1px 0 rgba(255,255,255,.7)!important;font-family:'DM Sans',sans-serif!important;font-weight:900!important;min-height:90px!important}
.woocommerce ul.products li.product .price{display:block!important;padding:0 18px 16px!important;margin-top:auto!important;color:var(--red-dark)!important;font-size:24px!important;font-weight:900!important}.woocommerce ul.products li.product .price span{color:inherit!important}
.woocommerce .star-rating{color:var(--mustard)!important;margin:0 18px!important}.woocommerce ul.products li.product .button{margin:0 18px 20px!important;width:calc(100% - 36px)!important}
.wishlist-toggle{position:absolute;top:14px;right:14px;z-index:5;width:46px;height:46px;border:3px solid var(--ink);background:var(--white);border-radius:50%;display:grid;place-items:center;cursor:pointer;box-shadow:4px 4px 0 rgba(27,22,18,.14);transition:.2s ease}.wishlist-toggle svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:2}.wishlist-toggle.active{background:var(--red)}.wishlist-toggle.active svg{fill:#fff;stroke:#fff}.wishlist-toggle:hover{transform:translate(-2px,-2px)}

.class-ribbon{display:grid;grid-template-columns:repeat(9,1fr);gap:0;border:5px solid var(--ink);border-radius:30px;overflow:hidden;box-shadow:var(--shadow);background:var(--ink)}
.ribbon-card{min-height:190px;padding:20px;border-right:3px solid var(--ink);background:var(--paper);display:flex;flex-direction:column;justify-content:space-between;transition:.22s ease}.ribbon-card:nth-child(even){background:#d9f5f8}.ribbon-card:nth-child(3n){background:#ffe0a0}.ribbon-card:last-child{border-right:none}.ribbon-card:hover{background:var(--red);color:#fff;transform:translateY(-8px)}.ribbon-card strong{font-family:'Archivo Black';font-size:13px}.ribbon-card span{font-family:'Archivo Black';text-transform:uppercase;font-size:22px;letter-spacing:-.04em;writing-mode:vertical-rl;transform:rotate(180deg)}

.split-contact{display:grid;grid-template-columns:1fr 1fr;border:5px solid var(--ink);border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:var(--white)}
.split-contact .copy{padding:42px;background:var(--blue);color:#fff}.split-contact .copy p{color:#eaf9ff}.split-contact .panel{padding:42px;background:var(--paper)}.contact-line{display:flex;gap:12px;align-items:center;margin-top:18px;font-weight:900;font-size:20px}.contact-line:before{content:"";width:20px;height:20px;background:var(--mustard);border:3px solid var(--ink);border-radius:50%}

/* Pages */
.page-banner{padding:34px 0 30px}.page-board{border:5px solid var(--ink);border-radius:34px;background:linear-gradient(135deg,#fff7d8,#ffd58d);box-shadow:var(--shadow);padding:36px 42px;position:relative;overflow:hidden}.page-board:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:var(--blue-2);opacity:.22}.page-board h1{font-size:clamp(38px,5vw,72px);position:relative;z-index:2}.page-board .eyebrow{position:relative;z-index:2}.content-card{border:5px solid var(--ink);border-radius:34px;background:var(--white);box-shadow:var(--shadow);padding:38px}.content-card p,.content-card li{font-size:20px;line-height:1.65;color:#4a3d33}

/* Shop */
.shop-toolbar{display:grid;grid-template-columns:1fr auto;gap:14px;margin-bottom:24px}.shop-search{display:flex;gap:10px;border:4px solid var(--ink);border-radius:0 24px 0 24px;background:var(--white);box-shadow:6px 6px 0 rgba(27,22,18,.12);padding:10px}.shop-search input{flex:1;border:none;background:transparent;outline:none;font:700 18px 'DM Sans';color:var(--ink);padding:0 10px}.shop-search button,.woocommerce-ordering select{border:3px solid var(--ink);background:var(--blue);color:#fff;border-radius:0 16px 0 16px;font-weight:900;text-transform:uppercase;padding:0 16px;height:48px;font-family:'DM Sans';font-size:15px}.woocommerce-ordering{margin:0!important}.woocommerce-ordering select{background:var(--red);min-width:220px}.woocommerce-result-count{display:none}.woocommerce-pagination{margin-top:36px!important}.woocommerce nav.woocommerce-pagination ul{border:none!important;display:flex!important;gap:10px!important;justify-content:center!important;flex-wrap:wrap!important}.woocommerce nav.woocommerce-pagination ul li{border:none!important}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:44px!important;height:44px!important;border:3px solid var(--ink)!important;border-radius:14px!important;background:var(--white)!important;color:var(--ink)!important;font-weight:900!important;display:grid!important;place-items:center!important;box-shadow:4px 4px 0 rgba(27,22,18,.12)!important}.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--red)!important;color:#fff!important}

/* Single product */
.woocommerce div.product{border:5px solid var(--ink);border-radius:34px;background:var(--white);box-shadow:var(--shadow);padding:28px}.woocommerce div.product div.images img{background:linear-gradient(135deg,#fff2c4,#ffd997);border:4px solid var(--ink);border-radius:28px;padding:18px}.woocommerce div.product .product_title{font-size:clamp(32px,4vw,54px);line-height:.95;text-shadow:2px 2px 0 rgba(255,255,255,.75)}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--red-dark)!important;font-size:34px!important;font-weight:900!important}.woocommerce div.product form.cart input.qty{height:54px;border:3px solid var(--ink);border-radius:14px;background:var(--paper);font-weight:900;color:var(--ink)}

/* Footer */
.site-footer{margin-top:72px;background:var(--ink);color:#fff;border-top:6px solid var(--red);position:relative;overflow:hidden}.site-footer:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,184,63,.13),transparent 42%,rgba(84,187,206,.12));pointer-events:none}.footer-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .75fr .75fr 1.25fr;gap:30px;padding:48px 0 34px}.site-footer h3{color:#fff;font-size:28px;margin:0 0 16px}.site-footer p,.site-footer a,.site-footer li{color:#d9e0e5;font-size:17px;line-height:1.55}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.pay-img{max-width:360px;margin-top:22px;border:3px solid rgba(255,255,255,.18);border-radius:18px;background:#fff;padding:10px}.footer-bottom{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.12);padding:18px 0 28px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#b9c5cf}

/* Wishlist */
.wishlist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.wishlist-empty{text-align:center;padding:56px 20px}.wishlist-empty h2{margin-bottom:16px}

@media(max-width:1180px){.header-shell{grid-template-columns:1fr;justify-items:center}.main-nav{justify-self:center}.hero-board,.wide-story,.split-contact{grid-template-columns:1fr}.hero-right{clip-path:none;min-height:460px}.woocommerce ul.products,.product-strip .woocommerce ul.products,.wishlist-grid{grid-template-columns:repeat(2,1fr)!important}.class-ribbon{grid-template-columns:repeat(3,1fr)}.ribbon-card span{writing-mode:initial;transform:none}.footer-grid{grid-template-columns:1fr 1fr}.diagonal-row{grid-template-columns:1fr}}
@media(max-width:760px){.container{width:min(100% - 24px,1360px)}.hero-left{padding:30px}.hero-cards,.shop-toolbar{grid-template-columns:1fr}.woocommerce ul.products,.product-strip .woocommerce ul.products,.wishlist-grid{grid-template-columns:1fr!important}.class-ribbon{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.split-contact .copy,.split-contact .panel{padding:28px}.brand-copy strong{font-size:26px}.header-actions{flex-wrap:wrap;justify-content:center}.hero-stamp{width:118px;height:118px;font-size:17px}.hero-right{min-height:330px}h1{font-size:54px}.section{padding:44px 0}}


/* v4 compact header / smaller titles */
@media (min-width:1181px) and (max-width:1400px){
  .container{width:min(1410px,calc(100% - 28px));}
  .header-shell{gap:12px;padding-left:12px;padding-right:12px;grid-template-columns:minmax(220px,auto) 1fr auto;}
  .brand-logo{width:58px;height:58px;}
  .brand-copy strong{font-size:25px;}
  .brand-copy span{font-size:10px;max-width:135px;letter-spacing:.1em;}
  .main-nav a{font-size:11px;padding:0 8px;min-height:38px;}
  .header-icon{width:50px;height:50px;}
  .account-link{height:50px;padding:0 14px;font-size:12px;}
}

/* v5 rich page content for FAQ / About / Contact */
.skinshift-rich-page{display:grid;gap:28px}
.rich-hero-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:stretch;border:5px solid var(--ink);border-radius:32px;background:linear-gradient(135deg,#fff7d8,#ffd891);box-shadow:var(--shadow);overflow:hidden}
.rich-hero-panel.reverse{grid-template-columns:.95fr 1.05fr}
.rich-hero-panel .rich-copy{padding:34px 38px;display:flex;flex-direction:column;justify-content:center}
.rich-hero-panel h2{font-size:clamp(34px,4.4vw,58px);line-height:.92;margin:10px 0 18px;text-shadow:2px 2px 0 rgba(255,255,255,.75)}
.rich-hero-panel p{font-size:19px;line-height:1.62;color:#3f352d;margin:0 0 14px}
.rich-hero-panel img{width:100%;height:100%;min-height:360px;object-fit:cover;border-left:5px solid var(--ink)}
.rich-hero-panel.reverse img{border-left:0;border-right:5px solid var(--ink)}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.faq-box{border:4px solid var(--ink);border-radius:26px;background:var(--white);box-shadow:7px 7px 0 rgba(27,22,18,.13);padding:26px;position:relative;overflow:hidden}
.faq-box:before{content:"";position:absolute;right:-32px;top:-32px;width:110px;height:110px;border-radius:50%;background:rgba(84,187,206,.24)}
.faq-box:nth-child(2n):before{background:rgba(226,52,43,.16)}
.faq-box h3{font-family:'Archivo Black';font-size:22px;line-height:1.15;margin:0 0 12px;color:var(--ink);position:relative;z-index:2}
.faq-box p{font-size:18px;line-height:1.55;color:#4a3d33;margin:0;position:relative;z-index:2}
.about-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.about-columns>div{border:4px solid var(--ink);border-radius:26px;background:var(--white);box-shadow:7px 7px 0 rgba(27,22,18,.13);overflow:hidden}
.about-columns img{width:100%;height:230px;object-fit:cover;border-bottom:4px solid var(--ink)}
.about-columns h3{font-family:'Archivo Black';font-size:24px;line-height:1.1;margin:22px 22px 10px;color:var(--ink)}
.about-columns p{font-size:18px;line-height:1.55;color:#4a3d33;margin:0 22px 24px}
.contact-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.contact-help-grid article{border:4px solid var(--ink);border-radius:26px;background:#d9f5f8;box-shadow:7px 7px 0 rgba(27,22,18,.13);padding:24px}
.contact-help-grid article:nth-child(2){background:#fff4cf}.contact-help-grid article:nth-child(3){background:#ffe0a0}
.contact-help-grid h3{font-family:'Archivo Black';font-size:22px;margin:0 0 12px;color:var(--ink)}
.contact-help-grid p{font-size:18px;line-height:1.55;color:#4a3d33;margin:0}
.contact-poster-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;border:5px solid var(--ink);border-radius:32px;background:var(--white);box-shadow:var(--shadow);overflow:hidden}
.contact-poster-row img{width:100%;height:100%;min-height:300px;object-fit:cover;border-right:5px solid var(--ink)}
.contact-poster-row>div{padding:34px;display:flex;flex-direction:column;justify-content:center}
.contact-poster-row h3{font-family:'Archivo Black';font-size:32px;line-height:1;margin:0 0 14px;color:var(--ink)}
.contact-poster-row p{font-size:19px;line-height:1.6;color:#4a3d33;margin:0 0 22px}
@media(max-width:1000px){.rich-hero-panel,.rich-hero-panel.reverse,.about-columns,.contact-help-grid,.contact-poster-row{grid-template-columns:1fr}.rich-hero-panel img,.rich-hero-panel.reverse img,.contact-poster-row img{border-left:0;border-right:0;border-top:5px solid var(--ink)}}


/* v6 contact form panel */
.contact-form-row{grid-template-columns:.95fr 1.05fr;background:#fff8e7;align-items:stretch}
.contact-form-copy{padding:0!important;display:block!important;background:#fff8e7}
.contact-form-copy img{width:100%;height:310px;min-height:0;object-fit:cover;border-right:0!important;border-bottom:5px solid var(--ink)}
.contact-form-copy h3{padding:28px 34px 0;margin:0!important;max-width:540px}
.contact-form-copy p{padding:12px 34px 34px;margin:0!important;max-width:620px}
.skinshift-contact-form{padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fffdf1;border-left:5px solid var(--ink)}
.skinshift-contact-form label{display:grid;gap:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);font-size:13px}
.skinshift-contact-form label.full{grid-column:1/-1}
.skinshift-contact-form input,.skinshift-contact-form select,.skinshift-contact-form textarea{width:100%;border:3px solid var(--ink);border-radius:0 18px 0 18px;background:#fff4cf;color:var(--ink);font:700 16px 'DM Sans',sans-serif;padding:15px 16px;outline:none;box-shadow:4px 4px 0 rgba(27,22,18,.12)}
.skinshift-contact-form textarea{min-height:150px;resize:vertical}
.skinshift-contact-form input:focus,.skinshift-contact-form select:focus,.skinshift-contact-form textarea:focus{background:#d9f5f8;box-shadow:6px 6px 0 rgba(21,95,125,.18)}
.skinshift-contact-form button{grid-column:1/-1;justify-self:start;min-height:54px;padding:0 28px;border:3px solid var(--ink);border-radius:0 18px 0 18px;background:var(--red);color:#fff;font:900 16px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.06em;box-shadow:6px 6px 0 rgba(27,22,18,.18);cursor:pointer;transition:.18s ease}
.skinshift-contact-form button:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 rgba(27,22,18,.22)}
@media(max-width:1000px){.contact-form-row{grid-template-columns:1fr}.skinshift-contact-form{border-left:0;border-top:5px solid var(--ink)}}
@media(max-width:680px){.skinshift-contact-form{grid-template-columns:1fr;padding:24px}.contact-form-copy h3{padding:24px 24px 0}.contact-form-copy p{padding:12px 24px 24px}}

/* v7 shop filters */
.shop-section-main .content-card{padding:0;background:transparent;border:0;box-shadow:none}
.shop-layout-card{display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:start}
.shop-filter-panel,.shop-results-panel{border:5px solid var(--ink);border-radius:30px;background:var(--white);box-shadow:var(--shadow)}
.shop-filter-panel{position:sticky;top:130px;padding:22px;max-height:calc(100vh - 150px);overflow:auto}
.shop-results-panel{padding:22px;min-width:0}
.filter-head{margin-bottom:18px}.filter-head .eyebrow{font-size:12px}.filter-head h2{font-size:34px;line-height:1;margin:6px 0 0;color:var(--ink)}
.filter-block{border-top:3px solid var(--ink);padding-top:18px;margin-top:18px}.filter-block h3{font-size:22px;letter-spacing:.02em;margin:0 0 12px;color:var(--ink);font-family:'Archivo Black',sans-serif;text-transform:uppercase}
.price-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.price-filter-grid label{display:grid;gap:6px;font-size:13px;font-weight:900;text-transform:uppercase;color:#65584b}.price-filter-grid input{width:100%;height:46px;border:3px solid var(--ink);border-radius:14px;background:var(--paper);padding:0 10px;font:800 16px 'DM Sans';color:var(--ink);outline:none}
.filter-scroll{display:grid;gap:8px;max-height:300px;overflow:auto;padding-right:5px}.filter-scroll::-webkit-scrollbar,.shop-filter-panel::-webkit-scrollbar{width:8px}.filter-scroll::-webkit-scrollbar-thumb,.shop-filter-panel::-webkit-scrollbar-thumb{background:var(--red);border-radius:999px}.filter-choice{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:10px 8px;border:2px solid rgba(24,18,15,.12);border-radius:14px;background:#fff7df;cursor:pointer}.filter-choice input,.tag-choice input{accent-color:var(--red)}.filter-choice span{font-weight:800;font-size:15px;color:var(--ink);line-height:1.15}.filter-choice em{font-style:normal;background:var(--mustard);border:2px solid var(--ink);border-radius:999px;min-width:30px;text-align:center;font-size:12px;font-weight:900;color:var(--ink)}
.tag-filter-list{display:flex;gap:8px;flex-wrap:wrap}.tag-choice{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--ink);border-radius:999px;background:#fff7df;padding:8px 10px;cursor:pointer}.tag-choice span{font-size:13px;font-weight:900;color:var(--ink);text-transform:uppercase;letter-spacing:.04em}
.filter-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}.filter-actions button,.filter-actions a{height:48px;border:3px solid var(--ink);border-radius:0 16px 0 16px;display:grid;place-items:center;font:900 14px 'DM Sans';text-transform:uppercase;letter-spacing:.04em}.filter-actions button{background:var(--red);color:#fff;box-shadow:5px 5px 0 rgba(27,22,18,.14);cursor:pointer}.filter-actions a{background:var(--paper);color:var(--ink)}
.shop-toolbar{display:grid;grid-template-columns:1fr 250px;gap:14px;margin-bottom:24px;align-items:stretch}.shop-order-form{margin:0}.shop-order-form select{width:100%;height:100%;border:3px solid var(--ink);background:var(--red);color:#fff;border-radius:0 16px 0 16px;font-weight:900;text-transform:uppercase;padding:0 14px;font-family:'DM Sans';font-size:14px;box-shadow:6px 6px 0 rgba(27,22,18,.12)}.shop-order-form select option{background:var(--white);color:var(--ink)}
.shop-results-panel .woocommerce-ordering,.shop-results-panel .woocommerce-result-count{display:none!important}
@media(max-width:1180px){.shop-layout-card{grid-template-columns:1fr}.shop-filter-panel{position:relative;top:auto;max-height:none}.shop-toolbar{grid-template-columns:1fr}}
@media(max-width:760px){.shop-results-panel,.shop-filter-panel{padding:14px;border-width:4px}.price-filter-grid{grid-template-columns:1fr}.filter-scroll{max-height:240px}.shop-toolbar{gap:10px}.shop-search{flex-direction:column}.shop-search button{width:100%}}


/* v8 fix: WooCommerce clearfix pseudo-elements were becoming empty CSS Grid cells before the first product. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce .products ul::before,
.woocommerce .products ul::after,
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after {
  content: none !important;
  display: none !important;
}

.shop-results-panel ul.products::before,
.shop-results-panel ul.products::after {
  content: none !important;
  display: none !important;
}

.shop-results-panel .products {
  grid-auto-flow: row !important;
}


/* =========================================================
   v10 fixed: single product layout, related products, cart/buttons
   ========================================================= */

/* Hide default WooCommerce count/sort because theme has its own toolbar */
.woocommerce .woocommerce-ordering:not(.shop-order-form .woocommerce-ordering),
.woocommerce-page .woocommerce-ordering:not(.shop-order-form .woocommerce-ordering),
.woocommerce-result-count {
    display: none !important;
}

/* Larger readable filter controls */
.skinshift-filter-form .filter-choice input[type="checkbox"],
.skinshift-filter-form .tag-choice input[type="checkbox"] {
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    accent-color: var(--red) !important;
}
.skinshift-filter-form .filter-choice,
.skinshift-filter-form .tag-choice {
    cursor: pointer;
}
.skinshift-filter-form .filter-choice:hover,
.skinshift-filter-form .tag-choice:hover {
    transform: translateX(2px);
}

/* Single product must never inherit shop/sidebar layout */
body.single-product .shop-layout-card,
.single-product .shop-layout-card,
body.single-product .shop-results-panel,
.single-product .shop-results-panel {
    display: block !important;
    grid-template-columns: none !important;
    width: 100% !important;
}
body.single-product .shop-filter-panel,
.single-product .shop-filter-panel,
body.single-product .shop-toolbar,
.single-product .shop-toolbar {
    display: none !important;
}

body.single-product .single-product-board {
    padding: 28px !important;
    background: var(--white) !important;
    border: 5px solid var(--ink) !important;
    border-radius: 34px !important;
    box-shadow: var(--shadow) !important;
}
body.single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(300px, 44%) minmax(0, 1fr) !important;
    gap: 34px !important;
    align-items: start !important;
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}
body.single-product div.product div.images,
body.single-product .woocommerce-product-gallery {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    min-height: 430px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg,#fff2c4,#ffd997) !important;
    border: 5px solid var(--ink) !important;
    border-radius: 28px !important;
    padding: 24px !important;
    box-shadow: 8px 8px 0 rgba(27,22,18,.12) !important;
}
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image {
    width: 100% !important;
}
body.single-product .woocommerce-product-gallery__image img,
body.single-product div.product div.images img {
    width: 100% !important;
    max-width: 430px !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
body.single-product div.product div.summary,
body.single-product .summary.entry-summary {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 30px !important;
    background: #fff9e9 !important;
    border: 5px solid var(--ink) !important;
    border-radius: 28px !important;
    box-shadow: 8px 8px 0 rgba(27,22,18,.12) !important;
}
body.single-product .product_title {
    font-size: clamp(32px, 4.1vw, 58px) !important;
    line-height: .96 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    margin: 0 0 16px !important;
}
body.single-product div.product p.price,
body.single-product div.product span.price {
    font-size: 32px !important;
    margin: 0 0 22px !important;
}
body.single-product form.cart {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    margin: 0 0 24px !important;
}
body.single-product form.cart .quantity input.qty {
    width: 82px !important;
    height: 54px !important;
    text-align: center !important;
    border: 3px solid var(--ink) !important;
    border-radius: 14px !important;
}
body.single-product .single_add_to_cart_button {
    min-height: 54px !important;
    padding: 0 28px !important;
    white-space: nowrap !important;
}
body.single-product .product_meta {
    display: grid !important;
    gap: 8px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}
body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .upsells.products {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin-top: 34px !important;
}
body.single-product .woocommerce-tabs {
    background: #fff9e9 !important;
    border: 5px solid var(--ink) !important;
    border-radius: 28px !important;
    padding: 24px !important;
    box-shadow: 8px 8px 0 rgba(27,22,18,.12) !important;
}
body.single-product .related.products > h2 {
    font-size: clamp(34px,4vw,54px) !important;
    margin: 0 0 20px !important;
}
body.single-product .related.products ul.products,
body.single-product .upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
}
body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product {
    width: auto !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    transform: none !important;
}
body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after,
body.single-product .upsells.products ul.products::before,
body.single-product .upsells.products ul.products::after {
    content: none !important;
    display: none !important;
}

/* Product card button alignment + View cart state after AJAX add. */
.woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 58px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.woocommerce ul.products li.product .price {
    margin-top: auto !important;
    margin-bottom: 16px !important;
}
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_simple {
    width: calc(100% - 36px) !important;
    min-height: 54px !important;
    margin: 0 18px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.1 !important;
    white-space: normal !important;
}
.woocommerce ul.products li.product .added_to_cart.wc-forward {
    width: calc(100% - 36px) !important;
    min-height: 46px !important;
    margin: 0 18px 20px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 3px solid var(--ink) !important;
    background: var(--blue) !important;
    color: #fff !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    text-decoration: none !important;
    border-radius: 0 16px 0 16px !important;
    box-shadow: 4px 4px 0 rgba(27,22,18,.16) !important;
}
.woocommerce ul.products li.product .added_to_cart.wc-forward:hover {
    background: var(--red) !important;
    transform: translateY(-2px);
}

/* Header cart fragment target */
.header-icon .count,
.header-icon .skinshift-cart-count {
    transition: .18s ease;
}
.header-icon .count.is-visible,
.header-icon .skinshift-cart-count.is-visible {
    opacity: 1;
}

@media (max-width: 1180px) {
  body.single-product div.product,
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 820px) {
  body.single-product div.product {
      grid-template-columns: 1fr !important;
  }
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products {
      grid-template-columns: 1fr !important;
  }
  body.single-product .summary.entry-summary,
  body.single-product .single-product-board {
      padding: 20px !important;
  }
}
