/* TOFL Shop v1.5.0 – dark theme, red accent (matches portal.css). */
.tofl-shop{--r:#E31937;--rd:#b01028;--bg:#0a0a0a;--card:#181818;--line:rgba(255,255,255,.1);background:var(--bg);color:#e8e8e8;font-family:Barlow,sans-serif;max-width:1180px;margin:0 auto;padding:120px 20px 96px;box-sizing:border-box}
.tofl-shop *,.tofl-shop-overlay *{box-sizing:border-box}
.tofl-shop-head{position:relative;margin:0 0 28px;padding-right:180px}
.tofl-shop-eyebrow{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:13px;color:#fff;margin-bottom:6px}
.tofl-shop h1{font-family:"Bebas Neue",sans-serif;font-weight:400;color:#fff;letter-spacing:.03em;line-height:1;font-size:clamp(38px,6vw,60px);margin:0 0 10px}
.tofl-shop-titlerow{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin:0 0 12px}
.tofl-shop-titlerow h1{margin:0}
.tofl-shop-powered{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#141414;text-decoration:none!important;color:#fff;transition:border-color .2s}
.tofl-shop-powered:hover,.tofl-shop-powered:focus-visible{border-color:#E31937}
.tofl-shop-powered img{display:block;width:44px;height:44px;border-radius:50%;flex:0 0 auto}
.tofl-shop-powered-label{order:-1;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#9a9a9a;padding-left:8px}
.tofl-shop-powered-name{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:17px;letter-spacing:.04em;white-space:nowrap}
.tofl-shop-head p{color:#cfcfcf;line-height:1.55;font-size:17px;max-width:680px;margin:0}
.tofl-shop-empty{color:#ccc;font-size:17px}.tofl-shop-empty a{color:#fff}
.tofl-shop-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.tofl-shop-grid li{margin:0;padding:0}
.tofl-shop-item{display:flex;flex-direction:column;height:100%;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none!important;color:#fff;transition:border-color .2s,transform .2s}
.tofl-shop-item:hover,.tofl-shop-item:focus-visible{border-color:var(--r);transform:translateY(-2px)}
.tofl-shop-item:focus-visible{outline:2px solid var(--r);outline-offset:2px}
.tofl-shop-img{display:block;aspect-ratio:1;background:#fff;overflow:hidden}
.tofl-shop-img img{display:block;width:100%;height:100%;object-fit:cover}
.tofl-shop-title{display:block;padding:14px 16px 4px;font-weight:600;font-size:17px;line-height:1.3;color:#fff}
.tofl-shop-price{display:block;padding:0 16px;font-size:17px;color:#ddd}
.tofl-shop-price em{font-style:normal;color:#fff;font-size:14px;margin-left:6px}
.tofl-shop-choose{display:block;margin:auto 16px 16px;padding-top:12px;font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:14px;color:#fff}
/* cart buttons */
.tofl-shop-cartbtn{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:15px;cursor:pointer;border-radius:4px;padding:12px 20px;border:1px solid var(--r);background:transparent;color:#fff}
.tofl-shop-cartbtn:hover{background:var(--r)}
.tofl-shop-cartbtn--top{position:absolute;top:0;right:0}
@media (max-width:1100px){.tofl-shop-head{padding-right:0}.tofl-shop-cartbtn--top{position:static;margin-top:16px}}
.tofl-shop-cartbtn--float{position:fixed;right:20px;bottom:20px;z-index:9990;background:var(--r);box-shadow:0 10px 28px rgba(0,0,0,.5),0 6px 18px rgba(227,25,55,.35)}
.tofl-shop-cartbtn--float:hover{background:var(--rd)}
.tofl-shop-cartbtn[hidden]{display:none}
/* dialogs */
html.tofl-shop-lock{overflow:hidden}
.tofl-shop-overlay{position:fixed;inset:0;z-index:100050;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:20px;font-family:Barlow,sans-serif;color:#e8e8e8}
.tofl-shop-overlay[hidden]{display:none}
.tofl-shop-dialog{position:relative;background:#141414;border:1px solid var(--line,rgba(255,255,255,.1));border-top:3px solid #E31937;border-radius:10px;width:100%;max-width:960px;max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.7);outline:none}
.tofl-shop-overlay--cart{justify-content:flex-end;padding:0}
.tofl-shop-overlay--cart .tofl-shop-dialog{max-width:440px;height:100%;max-height:none;border-radius:0;border-top:0;border-left:3px solid #E31937}
.tofl-shop-dialog-body{padding:28px}
.tofl-shop-close{position:absolute;top:8px;right:10px;z-index:2;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);background:rgba(20,20,20,.9);color:#fff;font-size:32px;line-height:1;cursor:pointer;border-radius:50%}
.tofl-shop-close:hover{background:#E31937;border-color:#E31937}
.tofl-shop-overlay h2{font-family:"Bebas Neue",sans-serif;font-weight:400;color:#fff;letter-spacing:.03em;line-height:1.05;font-size:32px;margin:0 40px 8px 0}
.tofl-shop-detail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px}.tofl-shop-detail img{max-width:100%;height:auto}
.tofl-shop-main{aspect-ratio:1;background:#fff;border-radius:6px;overflow:hidden}
.tofl-shop-main img{display:block;width:100%;height:100%!important;object-fit:contain}
.tofl-shop-thumbs{display:flex;gap:8px;overflow-x:auto;margin-top:10px;padding-bottom:4px}
.tofl-shop-thumbs button{flex:0 0 64px;height:64px;padding:0;border:2px solid transparent;border-radius:4px;background:#fff;cursor:pointer;overflow:hidden}
.tofl-shop-thumbs button.is-on,.tofl-shop-thumbs button:hover{border-color:#E31937}
.tofl-shop-thumbs img{display:block;width:100%;height:100%!important;object-fit:cover}
.tofl-shop-dprice{font-size:24px;font-weight:600;color:#fff;margin:0 0 18px}
.tofl-shop-fields{display:grid;gap:14px;margin-bottom:18px}
.tofl-shop-field{display:flex;flex-direction:column;gap:6px;margin:0}
.tofl-shop-field>span,.tofl-shop-field>label{font-size:15px;font-weight:600;color:#ddd}
.tofl-shop-fixed{margin:0;color:#ddd;font-size:16px}.tofl-shop-fixed strong{color:#fff}
.tofl-shop-overlay select,.tofl-shop-overlay input[type=number]{font:inherit;font-size:17px;color:#fff;background:#0a0a0a;border:1px solid #555;border-radius:4px;padding:11px 12px;min-height:46px}
.tofl-shop-overlay select{width:100%;cursor:pointer}
.tofl-shop-overlay select option:disabled{color:#777}
.tofl-shop-overlay select:focus,.tofl-shop-overlay input:focus,.tofl-shop-overlay button:focus-visible{outline:2px solid #E31937;outline-offset:1px}
.tofl-shop-qty{display:inline-flex;align-items:center;gap:6px}
.tofl-shop-qty input{width:72px;text-align:center;-moz-appearance:textfield}
.tofl-shop-qty input::-webkit-inner-spin-button,.tofl-shop-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.tofl-shop-step{width:46px;height:46px;border:1px solid #555;background:#1f1f1f;color:#fff;font-size:22px;line-height:1;border-radius:4px;cursor:pointer}
.tofl-shop-step:hover:not(:disabled){border-color:#E31937}
.tofl-shop-step:disabled{opacity:.4;cursor:not-allowed}
.tofl-shop-qty--sm .tofl-shop-step{width:38px;height:38px;font-size:19px}
.tofl-shop-qnum{min-width:32px;text-align:center;font-weight:600;font-size:17px}
.tofl-shop-actions{display:flex;flex-wrap:wrap;gap:10px}
.tofl-shop-btn{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:16px;padding:14px 26px;border-radius:4px;cursor:pointer;border:1px solid transparent}
.tofl-shop-btn--primary{background:#E31937;color:#fff;border-color:#E31937}
.tofl-shop-btn--primary:hover:not(:disabled){background:#b01028;border-color:#b01028}
.tofl-shop-btn--primary:disabled{background:#3a3a3a;border-color:#3a3a3a;color:#aaa;cursor:not-allowed}
.tofl-shop-btn--ghost{background:transparent;color:#eee;border-color:#555}
.tofl-shop-btn--ghost:hover{border-color:#E31937;color:#fff}
.tofl-shop-btn--block{display:block;width:100%;margin-top:10px}
.tofl-shop-btn[hidden]{display:none}
.tofl-shop-status{min-height:1.4em;margin:12px 0 0;color:#4ade80;font-weight:600;font-size:16px}
.tofl-shop-desc{color:#bdbdbd;font-size:15px;line-height:1.55;margin:16px 0 0;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}
.tofl-shop-muted{color:#aaa}.tofl-shop-small{font-size:14px;margin:4px 0 10px}
.tofl-shop-lines{list-style:none;margin:16px 0;padding:0}
.tofl-shop-line{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);margin:0}
.tofl-shop-line img,.tofl-shop-noimg{width:64px;height:64px;border-radius:4px;object-fit:cover;background:#fff;display:block}
.tofl-shop-line-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.tofl-shop-line-info strong{color:#fff;font-size:16px;line-height:1.3}
.tofl-shop-line-info span{color:#bbb;font-size:15px}
.tofl-shop-line-ctrl{display:flex;align-items:center;gap:14px;margin-top:6px}
.tofl-shop-line-total{font-weight:600;color:#fff;font-size:16px}
.tofl-shop-line.is-off .tofl-shop-line-price{color:#fff}
.tofl-shop-link{background:none;border:0;padding:4px 0;color:#fff;text-decoration:underline;font:inherit;font-size:15px;cursor:pointer}
.tofl-shop-link:hover{color:#fff}
.tofl-shop-subtotal{display:flex;justify-content:space-between;font-size:19px;margin:6px 0 0;color:#ddd}
.tofl-shop-subtotal strong{color:#fff}
.tofl-shop-secure{color:#bdbdbd;font-size:14px;line-height:1.45;text-align:center;margin:12px 0 6px}
.tofl-shop-sent{background:rgba(250,204,21,.08);border:1px solid rgba(250,204,21,.35);border-radius:6px;padding:10px 14px;margin:10px 0 0}
.tofl-shop-sent p{margin:0;color:#f5e6a8;font-size:15px}
@media (max-width:760px){
	.tofl-shop{padding:100px 16px 96px}
	.tofl-shop-head{padding-right:0}
	.tofl-shop-titlerow{flex-direction:column;align-items:flex-start;gap:12px}
	.tofl-shop-powered img{width:40px;height:40px}
	.tofl-shop-cartbtn--top{position:static;margin-top:16px}
	.tofl-shop-grid{grid-template-columns:repeat(2,1fr);gap:12px}
	.tofl-shop-title{font-size:15px;padding:10px 12px 2px}
	.tofl-shop-price{font-size:15px;padding:0 12px}
	.tofl-shop-choose{margin:auto 12px 12px;font-size:13px}
	.tofl-shop-overlay{padding:0;align-items:stretch}
	.tofl-shop-dialog{max-height:none;height:100%;border-radius:0}
	.tofl-shop-detail{grid-template-columns:minmax(0,1fr);gap:16px}
	.tofl-shop-dialog-body{padding:20px 16px 28px}
	.tofl-shop-overlay--cart .tofl-shop-dialog{max-width:none;border-left:0;border-top:3px solid #E31937}
	.tofl-shop-actions .tofl-shop-btn{flex:1 1 100%}
}

/* v1.6.0 member discount + theme link-color fix (yith-wonder colors <a> red) */
.tofl-shop a,.tofl-shop a:link,.tofl-shop a:visited,.tofl-shop a:hover,.tofl-shop a:focus,.tofl-shop a:active,.tofl-shop a *,.tofl-shop-overlay a,.tofl-shop-overlay a:hover,.tofl-shop-overlay a:visited{color:#fff!important}
.tofl-shop a .tofl-shop-powered-label{color:#9a9a9a!important}
.tofl-shop a .tofl-shop-price{color:#d9d9d9!important}
.tofl-shop-perk{margin:14px 0 0!important;font-size:16px!important;color:#cfcfcf!important}
.tofl-shop-perk a,.tofl-shop-guest a{text-decoration:underline!important;font-weight:600}
.tofl-shop-perk-ok{display:inline-block;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.35);color:#fff;border-radius:999px;padding:6px 14px;font-weight:600}
.tofl-shop-member{margin:10px 0 0;padding:10px 12px;border-radius:6px;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.35);color:#fff;font-size:15px;font-weight:600;line-height:1.4}
.tofl-shop-subtotal strong.is-struck{color:#9a9a9a;text-decoration:line-through;font-weight:500}
.tofl-shop-subtotal--member{margin-top:8px}
.tofl-shop-subtotal--member strong{color:#fff}
.tofl-shop-guest{margin:10px 0 0;padding:10px 12px;border-radius:6px;background:#1c1c1c;border:1px solid rgba(255,255,255,.12);color:#ddd;font-size:15px}
