/*
Theme Name:     ServFaces (Blocksy child)
Theme URI:
Description:    Blocksy child theme.
Author:         ServFaces
Author URI:
Template:       blocksy
Version:        0.1.0
*/

/* ===== ServFaces, servfaces.de stilus ===== */
:root{
  --sf-ink:#101012; --sf-muted:#6f6f72; --sf-line:#e3e3e3; --sf-soft:#f4f4f4; --sf-accent:#758ca3;
}

body, p, li, .entry-content{ font-family:"Inter", system-ui, sans-serif; color:var(--sf-ink); }
h1,h2,h3,h4,.entry-title,.woocommerce-loop-product__title,.product_title,.sf-section-title{
  font-family:"Jost", sans-serif; color:var(--sf-ink);
}

/* Fejlec menu */
header .menu-item > a, .ct-header .menu-item > a{
  font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-weight:500; font-size:.92rem;
}

/* Gombok -> fekete */
.wp-block-button__link, .button, a.button, button.button,
.woocommerce a.button, .woocommerce button.button,
.add_to_cart_button, .single_add_to_cart_button{
  background:var(--sf-ink) !important; color:#fff !important; border:1px solid var(--sf-ink) !important;
  border-radius:4px !important; font-family:"Jost",sans-serif !important;
  text-transform:uppercase; letter-spacing:.05em; font-weight:600;
}
.wp-block-button__link:hover, .button:hover, .add_to_cart_button:hover,
.woocommerce a.button:hover, .single_add_to_cart_button:hover{ background:#2a2a2e !important; }
.is-style-outline .wp-block-button__link{
  background:transparent !important; color:var(--sf-ink) !important; border:1.5px solid var(--sf-ink) !important;
}

/* Hero */
.sf-hero{ background:var(--sf-soft); padding:80px 32px; text-align:center; border-radius:6px; margin:24px 0 8px; }
.sf-hero h1{ text-transform:uppercase; font-weight:700; font-size:clamp(2.2rem,5vw,3.8rem); line-height:1.04; margin:0 0 16px; }
.sf-hero p{ font-size:1.12rem; color:#444; max-width:48ch; margin:0 auto 26px; }
.sf-hero .wp-block-buttons{ justify-content:center; }

/* Szekciocimek */
.sf-section-title{ text-transform:uppercase; font-weight:700; font-size:clamp(1.4rem,3vw,2rem); margin:64px 0 8px; }
.sf-section-title::after{ content:""; display:block; width:54px; height:3px; background:var(--sf-ink); margin-top:12px; }

/* Termekkartyak */
ul.products{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:22px; margin:24px 0 0 !important; padding:0 !important; }
ul.products::before, ul.products::after{ display:none !important; }
ul.products li.product{
  width:auto !important; margin:0 !important; float:none !important;
  background:#fff; border:1px solid var(--sf-line); border-radius:6px; padding:0 0 18px;
  overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s, transform .2s;
}
ul.products li.product:hover{ box-shadow:0 14px 34px -18px rgba(0,0,0,.3); transform:translateY(-4px); }
ul.products li.product a img{ margin:0 0 14px !important; background:#fff; width:100%; }
ul.products li.product .woocommerce-loop-product__title{ font-size:1.02rem; font-weight:600; padding:0 16px; min-height:2.4em; }
ul.products li.product .price{ font-family:"Jost",sans-serif; font-weight:700; color:var(--sf-ink) !important; padding:6px 16px 0; font-size:1.15rem; }
ul.products li.product .price del{ color:var(--sf-muted); font-weight:400; }
ul.products li.product .button, ul.products li.product .added_to_cart{ display:block; margin:14px 16px 0; text-align:center; }

@media(max-width:1024px){ ul.products{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:680px){ ul.products{ grid-template-columns:repeat(2,1fr); } }

/* Lablec sotet, mint a mockup */
.ct-footer{ background:#101012 !important; }
.ct-footer, .ct-footer a, .ct-footer p, .ct-footer li, .ct-footer .widget-title{ color:#c7c7ca !important; }
.ct-footer a:hover{ color:#fff !important; }

/* ===== Sávok: announcement, benefits, footer ===== */
.sf-band{ max-width:1200px; margin:0 auto; padding:0 28px; }
.sf-announce{ background:var(--sf-soft); border-bottom:1px solid var(--sf-line); font-size:.82rem; color:var(--sf-muted); }
.sf-announce-in{ max-width:1200px; margin:0 auto; padding:9px 28px; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.sf-announce strong{ color:var(--sf-ink); }
.sf-benefits{ border-top:1px solid var(--sf-line); background:#fff; }
.sf-benefits .sf-band{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding-top:30px; padding-bottom:30px; }
.sf-benefit b{ font-family:"Jost",sans-serif; display:block; font-size:.98rem; }
.sf-benefit span{ font-size:.84rem; color:var(--sf-muted); }
.sf-foot{ background:#101012; color:#c7c7ca; }
.sf-foot-cols{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:40px; padding-top:54px; padding-bottom:40px; }
.sf-foot h4{ font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; color:#8a8a8d; margin-bottom:14px; }
.sf-foot-brand{ font-family:"Jost",sans-serif; font-weight:700; font-size:1.3rem; letter-spacing:.08em; text-transform:uppercase; color:#fff; margin-bottom:14px; }
.sf-foot-brandcol{ display:flex; align-items:center; justify-content:center; height:100%; }
.sf-foot-logo{ display:block; height:160px; width:auto; }
.sf-foot p{ color:#8a8a8d; font-size:.9rem; line-height:1.7; }
.sf-foot ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.sf-foot li{ color:#c7c7ca; font-size:.9rem; }
.sf-foot a{ color:#c7c7ca; } .sf-foot a:hover{ color:#fff; }
@media(max-width:860px){ .sf-benefits .sf-band{ grid-template-columns:repeat(2,1fr); } .sf-foot-cols{ grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .sf-foot-cols{ grid-template-columns:1fr; } }

/* ===== Sajat fejlec ===== */
header#header.ct-header, .ct-header{ display:none !important; }
.sf-topbar{ background:var(--sf-soft); border-bottom:1px solid var(--sf-line); font-size:.8rem; color:var(--sf-muted); }
.sf-topbar-in{ display:flex; justify-content:space-between; align-items:center; gap:14px; padding-top:8px; padding-bottom:8px; }
.sf-tb-left{ display:flex; gap:22px; align-items:center; }
.sf-tb-badge{ display:inline-flex; align-items:center; gap:6px; }
.sf-tb-check{ width:14px; height:14px; color:#1f8a70; flex:0 0 auto; }
.sf-tb-right{ display:flex; gap:8px; align-items:center; }
.sf-tb-sep{ opacity:.45; }
.sf-topbar a{ color:var(--sf-muted); text-decoration:none; }
.sf-topbar a:hover{ color:var(--sf-ink); }
.sf-topbar strong{ color:var(--sf-ink); }
.sf-tb-ic{ display:none; }
@media(max-width:880px){
  .sf-topbar-in{ justify-content:space-between; gap:10px; }
  .sf-tb-left{ display:flex; gap:0; min-width:0; }
  .sf-tb-left .sf-tb-badge{ display:none; }      /* forgalmazo elrejtve mobilon */
  .sf-tb-left .sf-tb-ship{ display:inline-flex; } /* de az ingyenes szallitas latszik */
  .sf-tb-right{ display:flex; gap:16px; flex:0 0 auto; }
  .sf-tb-right .sf-tb-txt{ display:none; }         /* szoveg helyett ikon mobilon */
  .sf-tb-right .sf-tb-sep{ display:none; }
  .sf-tb-right a{ display:inline-flex; align-items:center; }
  .sf-tb-ic{ display:inline-flex; width:17px; height:17px; }
}

/* ===== Telefonszám élő nyitvatartás-státusz pötty (bárhol) + Kapcsolat hívás-kártya ===== */
.sf-phone{ display:inline-flex; align-items:center; gap:7px; text-decoration:none; color:inherit; }
.sf-phone svg{ width:15px; height:15px; flex:0 0 auto; }
.sf-phdot{ width:9px; height:9px; border-radius:50%; flex:0 0 auto; background:var(--sf-muted); position:relative; }
.sf-phdot.is-open{ background:#1f9d57; }
.sf-phdot.is-soon{ background:#e8920c; }
.sf-phdot.is-closed{ background:#9aa0a6; }
.sf-phdot.is-open::after{ content:""; position:absolute; inset:-4px; border-radius:50%; border:2px solid #1f9d57; opacity:.4; animation:sfPhPulse 1.8s infinite; }
@keyframes sfPhPulse{ 0%{ transform:scale(.7); opacity:.5; } 70%{ transform:scale(1.6); opacity:0; } 100%{ opacity:0; } }
@media(prefers-reduced-motion:reduce){ .sf-phdot.is-open::after{ animation:none; } }
/* Nyitvatartas-statusz tooltip a telefon-pottyon (hover a telefon-linken) */
.sf-phone{ position:relative; }
.sf-phdot[data-tip]{ cursor:help; }
.sf-phone .sf-phdot[data-tip]::before{
  content:attr(data-tip); position:absolute; top:calc(100% + 9px); left:0; white-space:nowrap;
  background:var(--sf-ink); color:#fff; font-family:"Inter",sans-serif; font-weight:500; font-size:.72rem; line-height:1.3;
  padding:7px 11px; border-radius:7px; box-shadow:0 14px 34px -10px rgba(0,0,0,.55);
  opacity:0; visibility:hidden; transform:translateY(-3px); transition:opacity .15s, visibility .15s, transform .15s; z-index:600; pointer-events:none;
}
.sf-phone:hover .sf-phdot[data-tip]::before{ opacity:1; visibility:visible; transform:translateY(0); }
/* fejléc-sáv: szín öröklése, ikon csak mobilon, szám csak desktopon */
.sf-tb-phone{ color:var(--sf-muted); }
.sf-tb-phone:hover{ color:var(--sf-ink); }
.sf-tb-phone svg{ display:none; }
@media(max-width:880px){
  .sf-tb-phone .sf-phone-num{ display:none; }
  .sf-tb-phone svg{ display:inline-flex; width:17px; height:17px; }
}
/* lábléc: csak pötty + szám */
.sf-foot-phone svg{ display:none; }
/* Kapcsolat oldali hívás-kártya */
.sf-callcard{ max-width:460px; background:#fff; border:1px solid var(--sf-line); border-radius:12px; padding:20px; }
.sf-cc-top{ display:flex; align-items:center; gap:9px; margin-bottom:6px; }
.sf-cc-top .sf-phdot{ width:11px; height:11px; }
.sf-cc-title{ font-family:"Jost",sans-serif; font-weight:600; font-size:1.08rem; color:var(--sf-ink); }
.sf-cc-text{ font-size:.9rem; color:var(--sf-muted); margin:6px 0 16px; line-height:1.5; }
.sf-cc-btn{ display:inline-flex; align-items:center; gap:8px; background:var(--sf-ink); color:#fff; text-decoration:none; font-weight:600; padding:11px 18px; border-radius:8px; }
.sf-cc-btn svg{ width:17px; height:17px; }
.sf-callcard.is-closed .sf-cc-btn{ background:#fff; color:var(--sf-ink); border:1.5px solid var(--sf-ink); }
.sf-cc-mail{ margin-left:12px; color:var(--sf-accent); text-decoration:none; font-size:.88rem; font-weight:600; }
.sf-cc-mail:hover{ text-decoration:underline; }
.sf-headwrap{ position:sticky; top:0; z-index:100; background:#fff; }
.admin-bar .sf-headwrap{ top:32px; }
@media(max-width:782px){ .admin-bar .sf-headwrap{ top:46px; } }
.sf-header{ position:relative; z-index:1; background:#fff; border-bottom:1px solid var(--sf-line); }
.sf-header-in{ display:flex; align-items:center; gap:30px; padding-top:16px; padding-bottom:16px; }
.sf-logo{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.sf-logo-mark{ width:34px; height:34px; border-radius:4px; background:var(--sf-ink); color:#fff; display:grid; place-items:center; font-family:"Jost",sans-serif; font-weight:700; }
.sf-logo-txt{ font-family:"Jost",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:1.3rem; color:var(--sf-ink); line-height:1; }
.sf-logo-txt small{ display:block; font-size:.52rem; letter-spacing:.3em; color:var(--sf-muted); font-weight:500; margin-top:2px; }
.sf-search{ flex:1; max-width:560px; display:flex; align-items:center; border:1.5px solid var(--sf-ink); border-radius:4px; overflow:hidden; height:46px; }
.sf-search input[type=search]{ flex:1; border:0; outline:0; padding:0 16px; font-family:"Inter",sans-serif; font-size:.95rem; background:#fff; }
.sf-search button{ background:var(--sf-ink); color:#fff; border:0; width:54px; height:100%; cursor:pointer; display:grid; place-items:center; }
.sf-search button svg{ width:20px; height:20px; }
.sf-actions{ margin-left:auto; display:flex; gap:24px; }
.sf-action{ display:flex; flex-direction:column; align-items:center; gap:3px; color:var(--sf-ink); font-family:"Inter",sans-serif; font-size:.68rem; position:relative; text-decoration:none; }
.sf-action svg{ width:23px; height:23px; }
/* Szerepkor-szerinti fiok-ikon (C varians): potty az ikon sarkan + szines "Fiók" felirat-pirula */
.sf-action[class*="sf-acct-"]::after{ content:""; position:absolute; top:-1px; left:calc(50% + 4px); width:9px; height:9px; border-radius:50%; border:2px solid #fff; }
.sf-action.sf-acct-in::after{ background:var(--sf-ink); }
.sf-action.sf-acct-torzs::after{ background:#1f7a44; }
.sf-action.sf-acct-nagyker::after{ background:#9a7b1f; }
.sf-action.sf-acct-torzs > span{ background:#eaf6ef; color:#1f7a44; padding:1px 8px; border-radius:999px; font-weight:600; }
.sf-action.sf-acct-nagyker > span{ background:#f7f1e1; color:#9a7b1f; padding:1px 8px; border-radius:999px; font-weight:600; }
/* Fejléc-akciók hover: NE a téma kék link-szine legyen, hanem finom elhalványulás (Fiók/Kedvencek/Kosár) */
.sf-action{ transition:opacity .15s ease; }
.sf-action:hover, .sf-action:focus{ color:var(--sf-ink) !important; opacity:.6; }
.sf-cart-badge{ position:absolute; top:-7px; right:-11px; background:var(--sf-ink); color:#fff; font-size:.62rem; font-weight:700; min-width:17px; height:17px; border-radius:17px; display:grid; place-items:center; }
.sf-nav{ border-top:1px solid var(--sf-line); position:relative; }
.sf-menu{ display:flex; gap:0; list-style:none; margin:0 auto; padding:0; max-width:1200px; flex-wrap:wrap; justify-content:center; }
.sf-menu > li > a{ display:block; font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.08em; font-weight:500; font-size:.92rem; color:var(--sf-ink); padding:13px 20px; text-decoration:none; }
.sf-menu > li > a:hover{ color:#000; }
.sf-has-mega > a{ padding-right:8px; }
.sf-mega-toggle{ display:none; background:none; border:0; color:var(--sf-ink); cursor:pointer; padding:0 6px; }
.sf-mega-toggle svg{ width:18px; height:18px; vertical-align:middle; }
/* mega panel (desktop hover) */
.sf-mega{ position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid var(--sf-line); box-shadow:0 22px 44px rgba(0,0,0,.10); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .18s, transform .18s, visibility .18s; z-index:95; }
.sf-has-mega:hover > .sf-mega, .sf-has-mega:focus-within > .sf-mega{ opacity:1; visibility:visible; transform:none; }
.sf-mega-in{ max-width:1200px; margin:0 auto; padding:28px 28px 32px; display:grid; grid-template-columns:repeat(auto-fit,minmax(195px,1fr)); gap:8px 34px; }
.sf-mega-col{ break-inside:avoid; }
.sf-mega-h{ display:block; font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:.78rem; font-weight:600; color:var(--sf-ink); padding-bottom:9px; margin-bottom:9px; border-bottom:1px solid var(--sf-line); text-decoration:none; }
.sf-mega-h:hover{ color:#000; }
.sf-mega-col ul{ list-style:none; margin:0; padding:0; }
.sf-mega-col li a{ display:block; padding:5px 0; font-size:.9rem; line-height:1.35; color:#555; text-decoration:none; }
.sf-mega-col li a:hover{ color:#000; }
.sf-burger{ display:none; background:none; border:0; color:var(--sf-ink); cursor:pointer; padding:6px; }
.sf-burger svg{ width:26px; height:26px; }
@media(max-width:880px){
  .sf-header-in{ flex-wrap:wrap; gap:14px; }
  .sf-burger{ display:flex; order:3; }
  .sf-actions{ margin-left:auto; gap:18px; }
  .sf-search{ display:flex; order:10; flex-basis:100%; max-width:none; }
  .sf-nav{ display:none; position:static; }
  .sf-header.sf-open .sf-nav{ display:block; }
  .sf-menu{ flex-direction:column; max-width:none; }
  .sf-mi{ border-bottom:1px solid var(--sf-line); }
  .sf-has-mega{ display:flex; flex-wrap:wrap; align-items:center; }
  .sf-has-mega > a{ flex:1; padding:14px 0; }
  .sf-mi > a{ padding:14px 0; }
  .sf-mega-toggle{ display:block; padding:12px 6px; }
  .sf-mega-toggle svg{ transition:transform .2s; }
  .sf-mi.is-open .sf-mega-toggle svg{ transform:rotate(180deg); }
  .sf-mega{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border-top:0; flex-basis:100%; display:none; }
  .sf-mi.is-open > .sf-mega{ display:block; }
  .sf-mega-in{ display:block; padding:2px 0 14px; }
  .sf-mega-col{ margin:0 0 16px; }
  .sf-mega-h{ font-size:.72rem; }
  .sf-mega-col li a{ padding:7px 0 7px 12px; }
}

/* ===== TODO quick winek ===== */
/* Logo kep */
.sf-logo-img{ height:44px; width:auto; display:block; }
@media(max-width:880px){ .sf-logo-img{ height:38px; } }
/* Termekkep tullogas javitas */
.woocommerce img, ul.products li.product img, .woocommerce div.product div.images img{ max-width:100%; height:auto; }
ul.products li.product a img{ aspect-ratio:1/1; object-fit:contain; }
/* Ken Burns a termekkartya kepen hoverre (1 fotos kartyaknal) */
ul.products li.product .ct-media-container{ overflow:hidden; position:relative; }
ul.products li.product .ct-media-container img{ transition:transform 6s ease-out; transform-origin:center; will-change:transform; }
ul.products li.product:hover .ct-media-container img{ transform:scale(1.13) translate(-1.5%,-1.5%); }
/* Tobb fotos kartyan nincs Ken Burns, helyette fade diavetites */
ul.products li.product:has(.sf-pslides):hover .ct-media-container > img,
ul.products li.product:has(.sf-pslides):hover .ct-media-container > a > img{ transform:none; }
ul.products li.product figure:has(.sf-pslides){ display:grid; grid-template-areas:"sf"; }
ul.products li.product figure > .ct-media-container,
ul.products li.product figure > .sf-pslides{ grid-area:sf; }
.sf-pslides{ position:relative; opacity:0; transition:opacity .25s ease; pointer-events:none; z-index:3; }
ul.products li.product:hover .sf-pslides{ opacity:1; }
.sf-pslide-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#fff; opacity:0; transition:opacity .6s ease; }
.sf-pslide-img.is-active{ opacity:1; }
/* Termekkartya rovid leiras az ar alatt */
.sf-card-desc{ font-size:.82rem; color:var(--sf-muted); padding:6px 16px 0; line-height:1.45; }
/* A kartya ara es rovid leirasa is termekoldalra visz (mint a kep) -> kez-kurzor */
li.product .price, li.product .sf-card-desc{ cursor:pointer; }
/* Footer strip: fizetes/szallitas/social */
.sf-foot-strip{ border-top:1px solid rgba(255,255,255,.1); margin-top:18px; padding-top:22px; padding-bottom:10px; display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px; }
.sf-foot-strip .sf-pay, .sf-foot-strip .sf-ship{ font-size:.85rem; color:#8a8a8d; }
.sf-foot-strip b{ color:#fff; font-family:"Jost",sans-serif; text-transform:uppercase; font-size:.72rem; letter-spacing:.1em; margin-right:6px; }
.sf-social{ margin-left:auto; display:flex; gap:12px; }
.sf-social a{ width:36px; height:36px; border:1px solid rgba(255,255,255,.22); border-radius:50%; display:grid; place-items:center; color:#c7c7ca; }
.sf-social a:hover{ color:#fff; border-color:#fff; }
.sf-social svg{ width:18px; height:18px; }
@media(max-width:680px){ .sf-social{ margin-left:0; } }
/* Termekkartyan ne legyen kategoria-felsorolas, eleg a rovid leiras */
ul.products li.product .meta-categories{ display:none !important; }
/* Benefit ikonok */
.sf-benefit{ display:flex; gap:13px; align-items:flex-start; }
.sf-benefit svg{ width:26px; height:26px; color:var(--sf-ink); flex-shrink:0; margin-top:2px; }
/* Scroll-reveal animacio (csak ha van JS: .sf-js) */
.sf-js .sf-reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.sf-js .sf-reveal.sf-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .sf-js .sf-reveal{ opacity:1 !important; transform:none !important; transition:none !important; } }
/* Kereso autocomplete legordulo */
.sf-search{ overflow:visible; position:relative; }
.sf-search button{ border-radius:0 3px 3px 0; }
.sf-suggest{ position:absolute; top:calc(100% + 6px); left:0; right:0; background:#fff; border:1px solid var(--sf-line); border-radius:6px; box-shadow:0 18px 40px -16px rgba(0,0,0,.35); z-index:200; display:none; overflow:hidden; }
.sf-suggest-row{ display:flex; align-items:center; gap:12px; padding:10px 14px; border-bottom:1px solid var(--sf-line); text-decoration:none; color:var(--sf-ink); }
.sf-suggest-row:last-child{ border-bottom:0; }
.sf-suggest-row:hover{ background:var(--sf-soft); }
.sf-suggest-row img{ width:40px; height:40px; object-fit:contain; flex-shrink:0; background:#fff; }
.sf-suggest-tw{ display:flex; flex-direction:column; line-height:1.25; }
.sf-suggest-t{ font-size:.9rem; font-weight:500; }
.sf-suggest-p{ font-family:"Jost",sans-serif; font-weight:700; font-size:.85rem; }
/* Hero slider */
.sf-hero-slider{ position:relative; overflow:hidden; border-radius:6px; margin:24px 0 8px; background:#0c0e0f; }
.sf-slides{ display:flex; transition:transform .6s ease; }
.sf-slide{ min-width:100%; display:block; }
.sf-slide img{ width:100%; height:auto; display:block; }
.sf-slide-nav{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border:0; background:rgba(0,0,0,.4); color:#fff; font-size:1.7rem; line-height:1; cursor:pointer; border-radius:50%; display:grid; place-items:center; z-index:2; transition:background .2s; }
.sf-slide-prev{ left:16px; } .sf-slide-next{ right:16px; }
.sf-slide-nav:hover{ background:rgba(0,0,0,.72); }
.sf-dots{ position:absolute; bottom:14px; left:0; right:0; display:flex; justify-content:center; gap:8px; z-index:2; }
.sf-dot{ width:9px; height:9px; border-radius:50%; border:0; background:rgba(255,255,255,.5); cursor:pointer; padding:0; }
.sf-dot.active{ background:#fff; }
.sf-vh{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; margin:-1px; padding:0; border:0; }
@media(max-width:680px){ .sf-slide-nav{ width:36px; height:36px; font-size:1.3rem; } }
/* Kategoria csempek a fooldalon */
.sf-cats{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:40px 0 8px; }
.sf-cat{ display:flex; flex-direction:column; gap:6px; padding:26px 22px; border:1px solid var(--sf-line); border-radius:6px; text-decoration:none; color:var(--sf-ink); background:#fff; transition:transform .2s, box-shadow .2s, border-color .2s; position:relative; }
.sf-cat:hover{ border-color:var(--sf-ink); transform:translateY(-4px); box-shadow:0 14px 34px -18px rgba(0,0,0,.3); }
.sf-cat-k{ font-family:"Jost",sans-serif; font-size:.8rem; color:var(--sf-accent); font-weight:600; letter-spacing:.12em; }
.sf-cat-n{ font-family:"Jost",sans-serif; font-size:1.35rem; font-weight:700; text-transform:uppercase; line-height:1.1; }
.sf-cat-d{ font-size:.85rem; color:var(--sf-muted); }
.sf-cat::after{ content:"\2192"; position:absolute; right:22px; bottom:24px; opacity:0; transition:opacity .2s, transform .2s; }
.sf-cat:hover::after{ opacity:1; transform:translateX(4px); }
@media(max-width:880px){ .sf-cats{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .sf-cats{ grid-template-columns:1fr; } }
/* Brand sav (szlogen + CTA) */
.sf-brandband{ background:#101012; color:#fff; border-radius:6px; margin:56px 0; padding:60px 32px; text-align:center; }
.sf-brandband h2{ font-family:"Jost",sans-serif; text-transform:uppercase; font-weight:700; font-size:clamp(1.6rem,3.5vw,2.6rem); color:#fff; margin:0 0 14px; }
.sf-brandband p{ color:#c7c7ca; max-width:54ch; margin:0 auto 26px; font-size:1.05rem; }
.sf-brandband-cta{ display:flex; gap:13px; justify-content:center; flex-wrap:wrap; }
.sf-btn{ font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.05em; font-weight:600; padding:14px 30px; border-radius:4px; text-decoration:none; background:#fff; color:#101012; border:1.5px solid #fff; transition:.2s; }
.sf-btn:hover{ background:transparent; color:#fff; }
.sf-btn-ghost{ background:transparent; color:#fff; }
.sf-btn-ghost:hover{ background:#fff; color:#101012; }
/* Kategoria csempe kepekkel (override) */
.sf-cat{ padding:0 !important; gap:0 !important; overflow:hidden; }
.sf-cat-img{ display:block; height:180px; background-color:#f7f7f7; background-position:center; background-repeat:no-repeat; background-size:cover; transition:transform 6s ease-out; transform-origin:center; will-change:transform; }
.sf-cat:hover .sf-cat-img{ transform:scale(1.14) translate(-1.5%,-1.5%); }
.sf-cat-body{ display:flex; flex-direction:column; gap:5px; padding:18px 20px 24px; }
.sf-cat::after{ bottom:24px; right:20px; }
@media(max-width:480px){ .sf-cat-img{ height:220px; } }
/* Egyszeru tartalmi oldalak */
.sf-page{ max-width:760px; }
.sf-page h2{ font-family:"Jost",sans-serif; text-transform:uppercase; font-weight:700; margin:0 0 16px; }
.sf-page h3{ font-family:"Jost",sans-serif; font-weight:700; margin:28px 0 8px; }
.sf-page p{ line-height:1.7; margin:0 0 14px; }
/* Fiok: bejelentkezes / regisztracio */
.sf-auth{ max-width:460px; margin:8px auto 48px; }
.sf-auth-card{ border:1px solid var(--sf-line); border-radius:8px; padding:34px 30px; background:#fff; }
.sf-auth-card h2{ font-family:"Jost",sans-serif; text-transform:uppercase; font-weight:700; margin:0 0 22px; text-align:center; }
.sf-auth .form-row{ display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.sf-auth label{ font-size:.85rem; font-weight:600; }
.sf-auth input[type=text], .sf-auth input[type=email], .sf-auth input[type=password]{ border:1px solid var(--sf-line); border-radius:4px; padding:11px 13px; font-family:"Inter",sans-serif; font-size:.95rem; width:100%; }
.sf-auth input:focus{ outline:none; border-color:var(--sf-ink); }
.sf-auth .button, .sf-auth-btn{ width:100%; background:var(--sf-ink)!important; color:#fff!important; border:0!important; border-radius:4px!important; padding:13px!important; font-family:"Jost",sans-serif!important; text-transform:uppercase; letter-spacing:.05em; font-weight:600; cursor:pointer; margin-top:4px; }
.sf-auth .button:hover{ background:#2a2a2e!important; }
.sf-auth-alt{ text-align:center; font-size:.88rem; color:var(--sf-muted); margin-top:18px; }
.sf-auth-alt a{ color:var(--sf-ink); font-weight:600; }
.sf-auth .woocommerce-form-login__rememberme{ display:block; font-size:.85rem; margin:6px 0 12px; font-weight:400; }
.sf-auth .woocommerce-form-login__rememberme input{ width:auto; margin-right:6px; }
/* Login urlap: teljes szelesseg, ne essen szet */
.sf-auth .woocommerce-form-login{ display:block; }
.sf-auth .woocommerce-form-login .form-row{ width:100%!important; float:none!important; margin:0 0 16px!important; padding:0!important; }
.sf-auth .woocommerce-form-login .form-row-first,.sf-auth .woocommerce-form-login .form-row-last{ width:100%!important; }
.sf-auth .woocommerce-form-login label{ display:block; margin-bottom:6px; font-weight:600; font-size:.85rem; }
/* Auth split layout (login/register feldobas) */
.sf-auth.sf-auth-split{ max-width:920px; display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--sf-line); border-radius:10px; overflow:hidden; box-shadow:0 24px 60px -30px rgba(0,0,0,.4); padding:0; }
.sf-auth-split .sf-auth-card{ border:0; border-radius:0; box-shadow:none; padding:40px 38px; animation:sfAuthIn .55s ease both; }
.sf-auth-visual{ position:relative; color:#fff; padding:46px 40px; display:flex; align-items:flex-end; overflow:hidden; background:#101012; min-height:420px; }
.sf-auth-visual::before{ content:""; position:absolute; inset:0; background:radial-gradient(120% 80% at 80% 8%, rgba(117,140,163,.35), transparent 60%), linear-gradient(160deg,#15181a,#0b0d0e); }
.sf-auth-visual::after{ content:"SF"; position:absolute; right:-8px; bottom:-34px; font-family:"Jost",sans-serif; font-weight:700; font-size:11rem; line-height:1; color:rgba(255,255,255,.05); }
.sf-auth-visual-in{ position:relative; z-index:1; }
.sf-auth-eyebrow{ font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.2em; font-size:.7rem; color:var(--sf-accent); font-weight:600; }
.sf-auth-visual h2{ font-family:"Jost",sans-serif; text-transform:uppercase; color:#fff; font-size:1.9rem; margin:12px 0 12px; }
.sf-auth-visual p{ color:#c7c7ca; font-size:.95rem; line-height:1.6; }
@keyframes sfAuthIn{ from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:none} }
@media(max-width:760px){ .sf-auth.sf-auth-split{ grid-template-columns:1fr; max-width:460px; } .sf-auth-visual{ display:none; } }
/* Auth panel: CSS-only mozgo feny (0 kep, perf-barat) */
.sf-auth-visual::before{
  background:
    radial-gradient(55% 55% at 28% 18%, rgba(117,140,163,.42), transparent 62%),
    radial-gradient(45% 45% at 80% 90%, rgba(70,199,168,.18), transparent 60%),
    linear-gradient(160deg,#15181a,#0b0d0e);
  background-size:200% 200%, 200% 200%, 100% 100%;
  animation: sfGlow 12s ease-in-out infinite alternate;
}
@keyframes sfGlow{
  0%{ background-position: 12% 10%, 85% 90%, 0 0; }
  100%{ background-position: 70% 55%, 25% 40%, 0 0; }
}
.sf-auth-visual-in{ animation: sfAuthIn .6s .1s ease both; }
@media (prefers-reduced-motion: reduce){ .sf-auth-visual::before{ animation:none; } }
/* Auth panel hatterkep + Ken Burns (kep folott sotet fatyol + mozgo feny) */
.sf-auth-bg{ position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; animation: sfKen 22s ease-in-out infinite alternate; }
@keyframes sfKen{ from{ transform:scale(1.06); } to{ transform:scale(1.18) translate(-2%,-1%); } }
.sf-auth-visual::before{ z-index:1;
  background:
    radial-gradient(55% 55% at 26% 16%, rgba(117,140,163,.30), transparent 62%),
    radial-gradient(45% 45% at 82% 92%, rgba(70,199,168,.16), transparent 60%),
    linear-gradient(160deg, rgba(12,14,15,.70), rgba(8,10,11,.84));
  background-size:200% 200%, 200% 200%, 100% 100%;
}
.sf-auth-visual::after{ z-index:1; color:rgba(255,255,255,.06); }
.sf-auth-visual-in{ position:relative; z-index:2; }
@media (prefers-reduced-motion: reduce){ .sf-auth-bg{ animation:none; } }
/* Hero es csempek koze: levegos cim + alcim */
.sf-cats-title{ text-align:center; margin-top:64px; }
.sf-cats-title::after{ margin-left:auto; margin-right:auto; }
.sf-cats-sub{ text-align:center; color:var(--sf-muted); max-width:58ch; margin:0 auto 4px; font-size:1.02rem; }
.sf-cats{ margin-top:26px; }
.sf-cat-body{ padding:18px 20px 24px; }
/* Szekcio fejlec + chipek (Kiemelt link, Termekek szuro) */
.sf-sec-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:18px; flex-wrap:wrap; margin-top:64px; }
.sf-sec-head .sf-section-title{ margin:0; }
.sf-sec-link{ font-family:"Jost",sans-serif; font-weight:600; font-size:.88rem; letter-spacing:.05em; text-transform:uppercase; color:var(--sf-ink); border-bottom:2px solid var(--sf-ink); padding-bottom:3px; white-space:nowrap; }
.sf-sec-link:hover{ color:var(--sf-accent); border-color:var(--sf-accent); }
.sf-chips{ display:flex; gap:8px; flex-wrap:wrap; }
.sf-filter-controls{ display:flex; align-items:center; gap:10px 16px; flex-wrap:wrap; }
.sf-pro-toggle{ display:inline-flex; align-items:center; gap:8px; cursor:pointer; font-family:"Jost",sans-serif; font-size:.8rem; font-weight:500; letter-spacing:.04em; text-transform:uppercase; color:var(--sf-muted); user-select:none; }
.sf-pro-toggle input{ position:absolute; opacity:0; width:0; height:0; }
.sf-pro-toggle-track{ position:relative; width:38px; height:22px; border-radius:22px; background:#cfcfd4; transition:.2s; flex:none; }
.sf-pro-toggle-track::after{ content:""; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:#fff; transition:.2s; box-shadow:0 1px 3px rgba(0,0,0,.25); }
.sf-pro-toggle input:checked + .sf-pro-toggle-track{ background:var(--sf-ink); }
.sf-pro-toggle input:checked + .sf-pro-toggle-track::after{ transform:translateX(16px); }
.sf-pro-toggle input:checked ~ .sf-pro-toggle-lbl{ color:var(--sf-ink); }
.sf-chip{ font-family:"Jost",sans-serif; font-size:.82rem; font-weight:500; letter-spacing:.04em; text-transform:uppercase; color:var(--sf-ink); background:#fff; border:1.5px solid var(--sf-line); padding:8px 16px; border-radius:30px; cursor:pointer; transition:.18s; }
.sf-chip:hover{ border-color:var(--sf-ink); }
.sf-chip.active{ background:var(--sf-ink); color:#fff; border-color:var(--sf-ink); }
/* Lapozo (fooldali termek-szuro) */
.sf-pager{ display:flex; justify-content:center; align-items:center; gap:6px; flex-wrap:wrap; margin:28px 0 4px; }
.sf-page-btn{ font-family:"Jost",sans-serif; font-size:.9rem; font-weight:500; min-width:40px; height:40px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center; color:var(--sf-ink); background:#fff; border:1.5px solid var(--sf-line); border-radius:8px; cursor:pointer; transition:.18s; }
.sf-page-btn:hover:not(:disabled):not(.active){ border-color:var(--sf-ink); }
.sf-page-btn.active{ background:var(--sf-ink); color:#fff; border-color:var(--sf-ink); cursor:default; }
.sf-page-btn:disabled{ opacity:.4; cursor:default; }
.sf-page-prev, .sf-page-next{ font-size:1.2rem; line-height:1; }
@media(max-width:680px){ .sf-page-btn{ min-width:36px; height:36px; padding:0 9px; font-size:.84rem; } }
.sf-filter-grid{ transition:opacity .2s; margin-top:24px; }
.sf-noprod{ color:var(--sf-muted); padding:20px 0; }
/* Fejlec fix WooCommerce oldalakon: a .woocommerce img szabaly ne torzitsa a logot/keresot */
.sf-header .sf-logo{ flex-shrink:0; }
.sf-header .sf-logo-img{ height:44px !important; width:auto !important; max-width:230px; }
.sf-header .sf-search{ flex:1 1 auto; max-width:560px; }
.sf-header .sf-search input[type=search]{ height:auto; }
/* Logo: asztalin vizszintes, mobilon kompakt */
.sf-logo-mobile{ display:none !important; }
@media(max-width:880px){
  .sf-logo-desktop{ display:none !important; }
  .sf-logo-mobile{ display:block !important; height:46px !important; }
}
/* Tanusitvany-sav (vilagos) + fizetesi logok (feher a sotet stripen) */
.sf-certs{ background:var(--sf-soft); border-top:1px solid var(--sf-line); padding:40px 0; }
.sf-certs-box{ background:#fff; border:1px solid var(--sf-line); border-radius:12px; box-shadow:0 18px 50px -30px rgba(0,0,0,.3); max-width:920px; margin:0 auto; padding:26px 32px 30px; display:flex; flex-direction:column; align-items:center; gap:18px; }
.sf-certs-title{ font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; color:var(--sf-muted); text-align:center; }
.sf-certs-row{ display:flex; justify-content:center; align-items:center; gap:44px; flex-wrap:wrap; }
.sf-certs-row img{ height:52px; width:auto; filter:grayscale(1); opacity:.62; transition:filter .25s, opacity .25s; }
.sf-certs-row img:hover{ filter:none; opacity:1; }
.sf-pay{ display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.sf-pay-logos{ display:inline-flex; align-items:center; gap:11px; margin-left:6px; }
.sf-pay-logos img{ height:20px; width:auto; filter:brightness(0) invert(1); opacity:.9; }
.sf-ship{ display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.sf-ship-logos{ display:inline-flex; align-items:center; background:#fff; border-radius:6px; padding:5px 10px; margin-left:6px; }
.sf-ship-logos img{ height:22px; width:auto; display:block; }
@media(max-width:600px){ .sf-certs-row{ gap:24px; } .sf-certs-row img{ height:40px; } .sf-pay-logos{ flex-wrap:wrap; } .sf-certs-box{ padding:22px 18px 24px; } }
/* Mini cart (fejlec kosar-elonezet) */
.sf-cart-wrap{ position:relative; }
.sf-minicart{ position:absolute; top:100%; right:0; width:340px; background:#fff; border:1px solid var(--sf-line); border-radius:8px; box-shadow:0 24px 60px -26px rgba(0,0,0,.4); padding:16px 18px; z-index:300; display:none; }
.sf-cart-wrap:hover .sf-minicart{ display:block; }
.sf-minicart .woocommerce-mini-cart__empty-message{ color:var(--sf-muted); padding:8px 0; margin:0; text-align:center; }
.sf-minicart ul.cart_list{ list-style:none; margin:0; padding:0; overflow:visible; }
.sf-minicart ul.cart_list li{ position:relative; display:flex; align-items:flex-start; gap:12px; padding:12px 24px 12px 0; border-bottom:1px solid var(--sf-line); font-size:.85rem; }
.sf-minicart ul.cart_list li a.remove{ position:absolute; right:0; top:13px; margin:0; width:18px; height:18px; line-height:18px; text-align:center; font-size:14px; }
.sf-minicart ul.cart_list li > a:not(.remove){ flex:0 0 54px; width:54px; height:54px; border:1px solid var(--sf-line); border-radius:7px; background:var(--sf-soft); overflow:hidden; display:block; }
.sf-minicart ul.cart_list li > a:not(.remove) img{ width:100% !important; height:100% !important; object-fit:contain; display:block; margin:0; float:none; }
.sf-minicart ul.cart_list li > a:not(.remove) .ct-media-container{ width:100%; height:100%; }
.sf-minicart ul.cart_list li .product-data{ flex:1; min-width:0; }
.sf-minicart ul.cart_list li .product-title{ display:block; color:var(--sf-ink); font-weight:600; line-height:1.3; }
.sf-minicart ul.cart_list li .quantity{ display:block; color:var(--sf-muted); margin-top:4px; }
.sf-minicart .sf-mc-qty{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:7px; }
.sf-minicart .sf-qty{ display:inline-flex; align-items:center; border:1px solid var(--sf-line); border-radius:7px; overflow:hidden; }
.sf-minicart .sf-qty.is-loading{ opacity:.45; pointer-events:none; }
.sf-minicart .sf-qty-btn{ width:27px; height:27px; border:0; background:#fff; color:var(--sf-ink); font-size:15px; line-height:1; cursor:pointer; display:grid; place-items:center; }
.sf-minicart .sf-qty-btn:hover{ background:var(--sf-soft); }
.sf-minicart .sf-qty-num{ min-width:28px; text-align:center; font-weight:600; font-size:.85rem; }
.sf-minicart .sf-mc-sub{ font-family:"Jost",sans-serif; font-weight:700; font-size:.86rem; color:var(--sf-ink); white-space:nowrap; }
/* Mini cart utanrendelheto ora-ikon + tooltip */
.sf-minicart .sf-mc-bo{ position:relative; display:inline-flex; align-items:center; color:#b9821a; cursor:help; outline:none; }
.sf-minicart .sf-mc-bo svg{ width:16px; height:16px; }
.sf-minicart .sf-mc-bo-tip{ position:absolute; bottom:140%; left:50%; transform:translateX(-50%); width:210px; max-width:46vw; background:var(--sf-ink); color:#fff; font-family:"Inter",sans-serif; font-weight:400; font-size:.72rem; line-height:1.45; padding:9px 11px; border-radius:7px; box-shadow:0 10px 30px -8px rgba(0,0,0,.5); opacity:0; visibility:hidden; transition:opacity .15s, visibility .15s; z-index:20; pointer-events:none; }
.sf-minicart .sf-mc-bo-tip::after{ content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:6px solid transparent; border-top-color:var(--sf-ink); }
.sf-minicart .sf-mc-bo:hover .sf-mc-bo-tip, .sf-minicart .sf-mc-bo:focus .sf-mc-bo-tip, .sf-minicart .sf-mc-bo:focus-within .sf-mc-bo-tip{ opacity:1; visibility:visible; }
/* Ingyenes szallitas progress (C varians: korkoros %) */
.sf-ship-prog{ display:flex; align-items:center; gap:14px; }
.sf-minicart .sf-ship-prog{ padding:4px 0 14px; margin-bottom:6px; border-bottom:1px solid var(--sf-line); }
.sf-ship-ring{ flex:0 0 46px; width:46px; height:46px; border-radius:50%; background:conic-gradient(var(--c, var(--sf-accent)) calc(var(--p,0)*1%), var(--sf-soft) 0); display:grid; place-items:center; transition:background .3s ease; }
.sf-ship-ring i{ width:36px; height:36px; border-radius:50%; background:#fff; display:grid; place-items:center; font-style:normal; font-weight:700; font-size:.72rem; font-family:"Jost",sans-serif; color:var(--sf-ink); }
/* Kosár desktop: vastag sáv + buborék (egyszínű, % szerinti szín) */
.sf-only-mobile{ display:none; }
@media(max-width:880px){ .sf-only-desktop{ display:none; } .sf-only-mobile{ display:block; } }
.sf-ship-prog-bar{ display:block; }
.sf-ship-bar-wrap{ position:relative; padding-top:30px; }
.sf-ship-bar{ height:16px; border-radius:999px; background:var(--sf-soft); overflow:hidden; }
.sf-ship-bar-fill{ display:block; height:100%; border-radius:999px; position:relative; overflow:hidden; transition:width .4s ease, background-color .3s ease; }
.sf-ship-bar-fill::after{ content:""; position:absolute; top:0; left:-45%; width:38%; height:100%; background:linear-gradient(120deg,transparent,rgba(255,255,255,.6),transparent); animation:sfShipShine 2.4s ease-in-out infinite; }
@keyframes sfShipShine{ 0%{ left:-45%; } 60%,100%{ left:125%; } }
@media (prefers-reduced-motion: reduce){ .sf-ship-bar-fill::after{ animation:none; display:none; } }
.sf-ship-bubble{ position:absolute; top:0; transform:translateX(-50%); background:var(--sf-ink); color:#fff; font-size:.68rem; font-weight:700; font-family:"Jost",sans-serif; padding:3px 8px; border-radius:6px; white-space:nowrap; }
.sf-ship-bubble::after{ content:""; position:absolute; left:50%; bottom:-4px; transform:translateX(-50%); border:4px solid transparent; border-top-color:var(--sf-ink); }
.sf-ship-cap{ font-size:.82rem; color:var(--sf-muted); margin-top:9px; }
.sf-ship-cap b{ color:var(--sf-ink); font-weight:600; }
.sf-ship-txt{ font-size:.86rem; line-height:1.4; }
.sf-ship-txt b{ color:var(--sf-ink); font-weight:600; }
.sf-ship-txt small{ display:block; color:var(--sf-muted); font-size:.76rem; margin-top:2px; }
.sf-ship-prog.is-done .sf-ship-ring{ background:#3fbf6a; }
.sf-ship-prog.is-done .sf-ship-ring i{ color:#3fbf6a; }
.sf-cart-shipwrap .sf-ship-prog{ border:1px solid var(--sf-line); border-radius:10px; padding:16px 20px; margin-bottom:26px; }
.sf-minicart .woocommerce-mini-cart__total{ padding:12px 0; font-family:"Jost",sans-serif; display:flex; justify-content:space-between; border-bottom:1px solid var(--sf-line); }
.sf-minicart .woocommerce-mini-cart__buttons{ display:flex; gap:8px; margin:12px 0 0; }
.sf-minicart .woocommerce-mini-cart__buttons .button{ flex:1; text-align:center; margin:0; }
.sf-minicart .woocommerce-mini-cart__buttons .button.checkout{ }
@media(max-width:880px){ .sf-minicart{ display:none !important; } }
/* Kedvencek: sziv a kartyan + fejlec ikon + oldal */
ul.products li.product{ position:relative; }
.sf-fav{ position:absolute; top:12px; right:12px; z-index:4; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.92); border:1px solid var(--sf-line); display:grid; place-items:center; cursor:pointer; color:var(--sf-muted); transition:.18s; }
.sf-fav:hover{ color:var(--sf-danger); border-color:var(--sf-danger); }
.sf-fav svg{ width:17px; height:17px; }
.sf-fav.is-fav{ color:var(--sf-danger); border-color:var(--sf-danger); }
.sf-fav.is-fav svg{ fill:var(--sf-danger); }
.sf-fav-link{ position:relative; }
.sf-fav-count{ position:absolute; top:-7px; right:-9px; background:var(--sf-danger); color:#fff; font-size:.62rem; font-weight:700; min-width:17px; height:17px; border-radius:17px; display:grid; place-items:center; }
.sf-favs-empty{ color:var(--sf-muted); padding:36px 0; text-align:center; }
/* Feliratos kedvenc gomb a termekoldalon */
.sf-fav.sf-fav-btn{ position:static; top:auto; right:auto; width:auto; height:auto; min-height:48px; border-radius:6px; padding:0 20px; display:inline-flex; align-items:center; gap:10px; background:#fff; border:1.5px solid var(--sf-ink); color:var(--sf-ink); font-family:"Jost",sans-serif; font-weight:600; font-size:.92rem; margin-left:12px; vertical-align:top; }
.sf-fav.sf-fav-btn:hover{ color:var(--sf-danger); border-color:var(--sf-danger); }
/* PRO termek gating (nemet modell) */
.sf-pro-price{ font-family:"Jost",sans-serif; font-weight:600; font-size:.98rem; color:#16161a; }
ul.products li.product .price .sf-pro-price{ font-size:.92rem; }
.sf-pro-cta{ margin:16px 0 6px; padding:16px 18px; border:1.5px solid var(--sf-line); border-radius:10px; background:#faf8f2; max-width:520px; }
.sf-pro-cta-text{ margin:0 0 12px; color:var(--sf-ink); font-size:.95rem; line-height:1.5; }
.sf-pro-cta-btn{ display:inline-block; }
/* PRO-zarolt termekoldalon a kosar-urlap (variacios is) elrejtese — a vasarlast szerver-oldalon is_purchasable=false vedi */
body.sf-pro-locked form.cart,
body.sf-pro-locked .variations_form,
body.sf-pro-locked .woocommerce-variation-add-to-cart,
body.sf-pro-locked .single_add_to_cart_button,
body.sf-pro-locked .quantity{ display:none !important; }
@media(max-width:680px){ .sf-pro-cta{ padding:13px 14px; } }
/* Kedvezmenyes szerepkorok ar-blokkja (netto/brutto hangsuly + megtakaritas, SF Center -> Hozzaferes) */
.sf-rp{ display:block; line-height:1.3; }
.sf-rp .sf-rp-line{ display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; }
.sf-rp .sf-rp-main{ font-family:"Jost",sans-serif; font-weight:700; color:var(--sf-ink); }
.sf-rp .sf-rp-vat{ font-size:.62em; font-weight:500; color:var(--sf-muted); }
.sf-rp del.dk-rp-regular-price{ font-size:.66em; color:var(--sf-muted); font-weight:400; }
.sf-rp .sf-rp-pct{ font-family:"Jost",sans-serif; font-size:.6em; font-weight:700; color:#1f7a44; background:#e9f4ee; border-radius:999px; padding:.18em .6em; }
.sf-rp .sf-rp-sub{ display:block; margin-top:3px; font-size:.78rem; color:var(--sf-muted); }
.sf-rp .sf-rp-list{ color:var(--sf-muted); }
.sf-rp .sf-rp-save{ display:inline-block; margin-top:5px; font-size:.78rem; font-weight:600; color:#9a7b1f; }
ul.products li.product .price .sf-rp .sf-rp-sub,
ul.products li.product .price .sf-rp .sf-rp-save{ font-size:.72rem; }
/* Utoljara megtekintett termekek */
.sf-recent[hidden]{ display:none; }
.sf-recent{ margin:48px 0 0; }
.sf-recent-title{ font-family:"Jost",sans-serif; font-weight:600; font-size:1.4rem; color:var(--sf-ink); margin:0; padding-top:28px; border-top:1px solid var(--sf-line); }
/* Termekoldalon a Blocksy is-width-constrained-hez igazitva (kozepre, mint a Kapcsolodo termekek) */
.sf-recent.is-width-constrained{ margin-left:auto !important; margin-right:auto !important; }
/* A recently-viewed kartyakon nem kell a rovid leiras (kompaktabb carousel) */
.sf-recent .sf-card-desc{ display:none !important; }
/* Termekoldal "Mikor kapod meg?" elerhetoseg-kartya */
.sf-pa-i{ width:18px; height:18px; flex:none; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
/* EGY szallitas-kartya: megjegyzes-sav (note) a karton belul felul, alatta sorok */
.sf-pa{ border:1px solid var(--sf-line); border-radius:12px; overflow:hidden; padding:0; margin:0; max-width:520px; }
.sf-pa-note{ display:flex; align-items:center; gap:9px; font-size:.84rem; padding:11px 16px; }
.sf-pa-note .sf-pa-i{ flex:none; }
.sf-pa-note b{ font-weight:600; }
.sf-pa-note-ok{ background:#f0f7f2; color:#1f7a44; border-bottom:1px solid #cfe6d8; }
.sf-pa-note-bo{ background:#faf5ea; color:#8a6a1c; border-bottom:1px solid #ecdcb8; }
.sf-pa-row{ display:flex; gap:12px; align-items:flex-start; padding:13px 16px; border-top:1px solid var(--sf-line); }
.sf-pa-row:first-child, .sf-pa-note + .sf-pa-row{ border-top:0; }
.sf-pa-row .sf-pa-i{ color:var(--sf-ink); margin-top:1px; }
.sf-pa-main{ font-size:.88rem; font-weight:500; color:var(--sf-ink); }
.sf-pa-main b{ font-weight:600; }
/* ===== Termekoldal osszegzo: egyseges, levegos fuggoleges ritmus ===== */
.single-product .entry-summary-items > *{ margin-top:24px !important; margin-bottom:0 !important; }
.single-product .entry-summary-items > *:first-child{ margin-top:0 !important; }
.single-product .entry-summary-items > .sf-pp-social{ margin-top:7px !important; }   /* ertekeles szorosan a cim ala */
.single-product .entry-summary-items > .sf-stk-panel{ margin-top:9px !important; }    /* accordion szorosan az allapot-box ala */
.single-product .entry-summary-items > .ct-product-divider{ margin-top:24px !important; }
/* finom, egysoros bizalmi sor + meta */
.single-product .sf-pp-trust{ gap:18px; font-size:.8rem; }
.single-product .product_meta{ font-size:.8rem; color:var(--sf-muted); }
/* EGY ar: a variacios ar-duplikacio rejtve (a felso ar frissul a kivalasztott kiszerelesre) */
.single-product .woocommerce-variation-price{ display:none !important; }
/* A nativ keszlet-felirat ("Keszleten") rejtve a termekoldalon - a sajat allapot-box (.sf-stk) fedi le */
.single-product .entry-summary p.stock{ display:none !important; }
.sf-pa-sub{ font-size:.78rem; color:var(--sf-muted); margin-top:2px; }
/* Verzio-valto (termekcsalad) a termekoldalon — segmentalt pill-sor */
.sf-verswitch{ margin:18px 0 20px; }
.sf-verswitch-label{ font-family:"Jost",sans-serif; font-weight:600; font-size:.74rem; letter-spacing:.04em; text-transform:uppercase; color:var(--sf-muted); display:block; margin:0 0 9px; }
.sf-verswitch-row{ display:inline-flex; flex-wrap:wrap; background:#f6f6f7; border:1px solid var(--sf-line); border-radius:10px; padding:4px; gap:2px; }
.sf-vs{ font-family:"Jost",sans-serif; font-weight:600; font-size:.86rem; color:var(--sf-ink); text-decoration:none; padding:9px 16px; border-radius:7px; transition:.15s; white-space:nowrap; }
.sf-vs:hover{ background:#ececef; }
.sf-vs.on{ background:var(--sf-ink); color:#fff; }
@media(max-width:680px){ .sf-verswitch-row{ display:flex; width:100%; } .sf-vs{ flex:1 1 auto; text-align:center; padding:9px 10px; } }
/* "Gyakran egyutt veszik" szekcio (termekoldal) — terkoz + elvalaszto a felette levo tartalomtol */
.sf-together{ margin:52px 0 0; }
.sf-together.is-width-constrained{ margin-left:auto !important; margin-right:auto !important; }
.sf-together-title{ font-family:"Jost",sans-serif; font-weight:600; font-size:1.4rem; color:var(--sf-ink); margin:0; padding-top:30px; border-top:1px solid var(--sf-line); }
.sf-together-wrap ul.products{ margin-top:18px !important; }
@media(max-width:680px){ .sf-together{ margin-top:36px; } .sf-together-title{ font-size:1.2rem; padding-top:24px; } }
/* Carousel: max 4 lathato, nyilakkal lapozas */
.sf-recent-carousel{ position:relative; }
.sf-recent-wrap{ overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.sf-recent-wrap::-webkit-scrollbar{ display:none; }
.sf-recent ul.products{ display:flex !important; grid-template-columns:none !important; gap:22px; margin:18px 0 0 !important; }
.sf-recent ul.products li.product{ flex:0 0 calc((100% - 66px)/4); scroll-snap-align:start; }
.sf-recent-arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:44px; height:44px; border-radius:50%; background:#fff; border:1.5px solid var(--sf-line); color:var(--sf-ink); font-family:"Jost",sans-serif; font-size:1.5rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(0,0,0,.12); transition:.18s; }
.sf-recent-arrow:hover{ border-color:var(--sf-ink); transform:translateY(-50%) scale(1.06); }
.sf-recent-arrow[hidden]{ display:none; }
.sf-recent-prev{ left:-12px; } .sf-recent-next{ right:-12px; }
@media(max-width:1024px){ .sf-recent ul.products li.product{ flex-basis:calc((100% - 44px)/3); } }
@media(max-width:680px){ .sf-recent{ margin-top:32px; } .sf-recent-title{ font-size:1.2rem; padding-top:22px; } .sf-recent ul.products li.product{ flex-basis:calc((100% - 22px)/2); } .sf-recent-prev{ left:-6px; } .sf-recent-next{ right:-6px; } }
.sf-fav.sf-fav-btn.is-fav{ color:var(--sf-danger); border-color:var(--sf-danger); }
.sf-fav.sf-fav-btn svg{ width:18px; height:18px; }
.sf-fav.sf-fav-btn.is-fav svg{ fill:var(--sf-danger); }
@media (max-width:480px){ .sf-fav.sf-fav-btn{ margin-left:0; margin-top:12px; width:100%; justify-content:center; } }
/* ===== Footer nyitvatartas: PCS-stilus kartya (kozepre, napok + ebed) ===== */
.sf-foot-hours-row{ text-align:center; padding-top:4px; padding-bottom:32px; }
.sf-foot-hours-row h4{ margin:0 0 14px; }
.sf-hours-card{ display:inline-block; text-align:left; width:100%; max-width:480px; border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:16px 18px; background:rgba(255,255,255,.03); }
.sf-hours-head{ display:flex; align-items:center; gap:11px; padding-bottom:13px; margin-bottom:8px; border-bottom:1px solid rgba(255,255,255,.12); }
.sf-hdot{ width:10px; height:10px; border-radius:50%; flex:0 0 auto; background:rgba(255,255,255,.5); }
.sf-hdot.is-open{ background:#3fbf6a; animation:sfHoursPulse 2.2s infinite; }
.sf-hdot.is-soon{ background:#f0b24b; animation:sfHoursPulse 2.2s infinite; }
.sf-hdot.is-closed{ background:#e0556a; }
.sf-hmeta{ display:flex; flex-direction:column; gap:2px; }
.sf-htitle{ font-family:"Jost",sans-serif; font-weight:600; font-size:.96rem; color:#fff; line-height:1.2; }
.sf-hours-card.is-open .sf-htitle{ color:#86e3a6; }
.sf-hours-card.is-soon .sf-htitle{ color:#f3c479; }
.sf-hours-card.is-closed .sf-htitle{ color:#f0a3ae; }
.sf-hsub{ font-size:.76rem; color:rgba(255,255,255,.55); }
.sf-hours-list{ display:flex; flex-direction:column; }
.sf-hrow{ display:grid; grid-template-columns:84px 1fr auto; align-items:baseline; gap:8px 10px; padding:7px 4px; font-size:.82rem; color:rgba(255,255,255,.6); border-top:1px solid rgba(255,255,255,.05); }
.sf-hrow:first-child{ border-top:0; }
.sf-hlabel{ font-family:"Jost",sans-serif; font-weight:600; letter-spacing:.03em; color:rgba(255,255,255,.78); }
.sf-hdate{ color:rgba(255,255,255,.4); font-size:.74rem; }
.sf-htime{ text-align:right; color:rgba(255,255,255,.82); white-space:nowrap; line-height:1.3; }
.sf-hbreak{ display:block; font-size:.7rem; color:rgba(255,255,255,.42); }
.sf-hclosed{ color:rgba(255,255,255,.42); }
.sf-hrow.is-today{ background:rgba(255,255,255,.06); border-radius:9px; border-top-color:transparent; }
.sf-hrow.is-today + .sf-hrow{ border-top-color:transparent; }
.sf-hrow.is-today .sf-hlabel{ color:#fff; }
.sf-hrow.is-today.is-open .sf-hlabel, .sf-hrow.is-today.is-open .sf-htime{ color:#86e3a6; }
.sf-hrow.is-today.is-soon .sf-hlabel, .sf-hrow.is-today.is-soon .sf-htime{ color:#f3c479; }
.sf-hrow.is-today.is-lunch .sf-hlabel, .sf-hrow.is-today.is-lunch .sf-htime{ color:#f3c479; }
.sf-hrow.is-today.is-closed .sf-hlabel{ color:#f0a3ae; }
@keyframes sfHoursPulse{ 0%{ box-shadow:0 0 0 0 rgba(63,191,106,.5);} 70%{ box-shadow:0 0 0 8px rgba(63,191,106,0);} 100%{ box-shadow:0 0 0 0 rgba(63,191,106,0);} }

/* ===== Kategoria-hero: Editorial bal-also (1. varians) =====
   Csak ott, ahol valodi hatterkep van (.ct-media-container), hogy a kep nelkuli
   kategoriak megtartsak az alap sotet-vilagos kontrasztot. */
body.tax-product_cat .hero-section:has(.ct-media-container){ position:relative; display:flex; align-items:flex-end; justify-content:center; min-height:272px; overflow:hidden; }
body.tax-product_cat .hero-section:has(.ct-media-container) > figure,
body.tax-product_cat .hero-section:has(.ct-media-container) .ct-media-container{ position:absolute; inset:0; margin:0; width:100%; height:100%; }
body.tax-product_cat .hero-section:has(.ct-media-container) .ct-media-container img{ width:100%; height:100%; object-fit:cover; }
body.tax-product_cat .hero-section:has(.ct-media-container)::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(0deg, rgba(10,11,14,.90) 0%, rgba(10,11,14,.68) 55%, rgba(10,11,14,.58) 100%);
}
body.tax-product_cat .hero-section:has(.ct-media-container) .entry-header{
  position:relative; z-index:2;
  width:100%; max-width:1290px;
  margin:0;
  padding:0 32px 44px !important;
  text-align:left;
  background:none; border:none; box-shadow:none; border-radius:0; -webkit-backdrop-filter:none; backdrop-filter:none;
}
body.tax-product_cat .hero-section:has(.ct-media-container) .entry-header::before{ display:none !important; }
body.tax-product_cat .hero-section:has(.ct-media-container) .page-title{ color:#fff !important; text-shadow:0 2px 18px rgba(0,0,0,.4); margin:0; }
body.tax-product_cat .hero-section:has(.ct-media-container) .page-title::after{
  content:""; display:block; width:54px; height:3px; background:#fff; opacity:.9; margin-top:16px;
}
body.tax-product_cat .hero-section:has(.ct-media-container) .page-description{ max-width:64ch; margin:14px 0 0; }
/* Kategoria hero: rovid lead + "Tovabb olvasom" gomb (alap: vilagos hatter) */
.tax-product_cat .page-description .sf-cat-lead{ display:block; font-size:1rem; line-height:1.55; }
.tax-product_cat .page-description .sf-cat-more{ display:inline-flex; align-items:center; gap:7px; margin-top:14px; font-family:"Jost",sans-serif; font-weight:600; font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; color:var(--sf-ink); border:1.5px solid var(--sf-line); border-radius:7px; padding:9px 16px; text-decoration:none; transition:.15s; }
.tax-product_cat .page-description .sf-cat-more:hover{ background:var(--sf-ink); color:#fff; border-color:var(--sf-ink); }
.tax-product_cat .page-description .sf-cat-more svg{ width:15px; height:15px; }
/* hero-kep eseten feher szoveg */
body.tax-product_cat .hero-section:has(.ct-media-container) .sf-cat-lead{ color:rgba(255,255,255,.94) !important; text-shadow:0 1px 10px rgba(0,0,0,.4); }
body.tax-product_cat .hero-section:has(.ct-media-container) .sf-cat-more{ color:#fff; border-color:rgba(255,255,255,.6); }
body.tax-product_cat .hero-section:has(.ct-media-container) .sf-cat-more:hover{ background:#fff; color:var(--sf-ink); border-color:#fff; }
#sf-cat-desc{ scroll-margin-top:92px; }
@media (max-width:768px){
  /* Mobil: alacsony hero, a szöveg középen egy sötét PAD-ban; fölötte/alatta ~10% képhely */
  body.tax-product_cat .hero-section:has(.ct-media-container){ min-height:130px !important; height:130px !important; align-items:center !important; padding:0 !important; margin-top:0 !important; }
  /* egyenletes sötét overlay az EGÉSZ képen (pad nélkül) */
  body.tax-product_cat .hero-section:has(.ct-media-container)::before{ background:rgba(10,11,14,.7) !important; }
  body.tax-product_cat .hero-section:has(.ct-media-container) .entry-header{ width:auto !important; margin:0 !important; padding:0 18px !important; background:none !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; border-radius:0 !important; }
  /* "Kategória" felirat és cím-aláhúzás elrejtve (helytakarékos) */
  body.tax-product_cat .hero-section:has(.ct-media-container) .entry-header::before{ display:none !important; }
  body.tax-product_cat .hero-section:has(.ct-media-container) .page-title::after{ display:none !important; }
  body.tax-product_cat .hero-section:has(.ct-media-container) .page-title{ font-size:1.35rem; }
  body.tax-product_cat .page-description.ct-hidden-sm{ display:block !important; }
  body.tax-product_cat .hero-section:has(.ct-media-container) .page-description{ margin-top:4px; }
  body.tax-product_cat .hero-section:has(.ct-media-container) .sf-cat-lead{ font-size:.78rem; line-height:1.38; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  body.tax-product_cat .hero-section:has(.ct-media-container) .sf-cat-more{ margin-top:7px; padding:6px 12px; font-size:.7rem; }
}
/* Kisebb rés a hero és a termékek (rendezés-sáv) között */
body.tax-product_cat main.site-main > .ct-container{ padding-top:18px; }
@media(max-width:680px){ body.tax-product_cat main.site-main > .ct-container{ padding-top:14px; } ul.products{ margin-top:14px !important; } }

/* ===== Tudastar (blog) listazo ===== */
.sf-blog-hero{ max-width:820px; margin:48px auto 8px; text-align:center; padding:0 24px; }
.sf-blog-eyebrow{ display:inline-block; font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.14em; font-size:.74rem; font-weight:600; color:var(--sf-accent); margin-bottom:14px; }
.sf-blog-hero h1{ font-size:clamp(1.8rem,4vw,2.8rem); line-height:1.12; margin:0 0 16px; }
.sf-blog-hero p{ color:var(--sf-muted); font-size:1.05rem; line-height:1.6; margin:0; }
.sf-blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:1200px; margin:48px auto 64px; padding:0 28px; }
.sf-blog-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--sf-line); border-radius:8px; overflow:hidden; transition:transform .2s, box-shadow .2s; }
.sf-blog-card:hover{ transform:translateY(-4px); box-shadow:0 14px 34px rgba(16,16,18,.1); }
.sf-blog-card-media{ display:block; aspect-ratio:16/10; overflow:hidden; background:var(--sf-soft); }
.sf-blog-card-img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.sf-blog-card:hover .sf-blog-card-img{ transform:scale(1.05); }
.sf-blog-noimg{ background:linear-gradient(135deg,var(--sf-soft),#e9edf1); }
.sf-blog-card-body{ display:flex; flex-direction:column; gap:10px; padding:20px 22px 24px; flex:1; }
.sf-blog-tag{ align-self:flex-start; font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:.66rem; font-weight:600; color:var(--sf-accent); background:var(--sf-soft); padding:4px 10px; border-radius:4px; }
.sf-blog-card-title{ font-size:1.18rem; line-height:1.3; margin:0; }
.sf-blog-card-title a{ color:var(--sf-ink); text-decoration:none; }
.sf-blog-card-title a:hover{ color:var(--sf-accent); }
.sf-blog-card-excerpt{ color:var(--sf-muted); font-size:.92rem; line-height:1.55; margin:0; flex:1; }
.sf-blog-card-meta{ display:flex; gap:16px; font-size:.78rem; color:var(--sf-muted); }
.sf-blog-card-meta span{ position:relative; }
.sf-blog-card-meta span+span::before{ content:"·"; position:absolute; left:-10px; }
.sf-blog-card-link{ font-family:"Jost",sans-serif; font-weight:600; font-size:.86rem; color:var(--sf-ink); text-decoration:none; }
.sf-blog-card-link:hover{ color:var(--sf-accent); }
.sf-blog-empty{ text-align:center; color:var(--sf-muted); padding:64px 0; }
@media (max-width:900px){ .sf-blog-grid{ grid-template-columns:repeat(2,1fr); gap:20px; } }
@media (max-width:600px){ .sf-blog-grid{ grid-template-columns:1fr; } }

/* ===== Tudastar (blog) egyedi cikk ===== */
.single-post .entry-content{ max-width:760px; margin-left:auto; margin-right:auto; font-size:1.06rem; line-height:1.75; }
.single-post .entry-content > *{ max-width:760px; margin-left:auto; margin-right:auto; }
.single-post .entry-content h2{ font-size:1.6rem; margin:2em 0 .6em; line-height:1.2; }
.single-post .entry-content h3{ font-size:1.25rem; margin:1.6em 0 .5em; }
.single-post .entry-content p{ margin:0 0 1.1em; }
.single-post .entry-content ul, .single-post .entry-content ol{ margin:0 0 1.2em; padding-left:1.4em; }
.single-post .entry-content li{ margin-bottom:.5em; }
.single-post .entry-content img{ border-radius:8px; }
.single-post .entry-content a{ color:var(--sf-accent); text-decoration:underline; text-underline-offset:2px; }
.single-post .entry-content blockquote{ border-left:3px solid var(--sf-accent); background:var(--sf-soft); margin:1.6em 0; padding:18px 24px; border-radius:0 6px 6px 0; }
/* Cikkbeli GYIK */
.sf-faq{ max-width:760px; margin:2.4em auto; }
.sf-faq h2{ margin-bottom:.8em; }
.sf-faq details{ border:1px solid var(--sf-line); border-radius:8px; padding:0; margin-bottom:12px; background:#fff; }
.sf-faq summary{ font-family:"Jost",sans-serif; font-weight:600; font-size:1.02rem; padding:16px 20px; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.sf-faq summary::-webkit-details-marker{ display:none; }
.sf-faq summary::after{ content:"+"; font-size:1.4rem; color:var(--sf-accent); font-weight:400; line-height:1; }
.sf-faq details[open] summary::after{ content:"\2013"; }
.sf-faq details[open] summary{ border-bottom:1px solid var(--sf-line); }
.sf-faq details p{ margin:0; padding:14px 20px 18px; color:var(--sf-muted); line-height:1.65; }
/* Cikkvegi termek-CTA */
.sf-post-cta{ max-width:760px; margin:2.6em auto; background:var(--sf-ink); color:#fff; border-radius:10px; padding:32px 34px; text-align:center; }
.sf-post-cta h3{ color:#fff; font-size:1.4rem; margin:0 0 10px; }
.sf-post-cta p{ color:rgba(255,255,255,.78); margin:0 0 20px; }
.sf-post-cta .sf-btn{ background:#fff !important; color:var(--sf-ink) !important; border-color:#fff !important; }

/* ===== Kosar oldal: letisztult + sotet "Kosar osszesen" box ===== */
.woocommerce-cart table.shop_table{ border:1px solid var(--sf-line); border-radius:12px; border-collapse:separate; border-spacing:0; overflow:hidden; }
.woocommerce-cart table.cart th{ font-family:"Jost",sans-serif; text-transform:uppercase; font-size:.74rem; letter-spacing:.06em; color:var(--sf-muted); background:var(--sf-soft); padding:14px 16px; }
.woocommerce-cart table.cart td{ padding:16px; vertical-align:middle; border-top:1px solid var(--sf-line); }
.woocommerce-cart table.cart td.product-thumbnail img{ width:64px; height:64px; object-fit:contain; border:1px solid var(--sf-line); border-radius:8px; background:#fff; }
.woocommerce-cart td.product-name a{ color:var(--sf-ink); font-weight:600; text-decoration:none; }
.woocommerce-cart td.product-name a:hover{ color:var(--sf-accent); }
.woocommerce-cart .product-remove a.remove{ color:var(--sf-danger) !important; border-color:var(--sf-danger); }
.woocommerce-cart .actions .coupon .input-text{ border:1px solid var(--sf-line); border-radius:6px; padding:11px 13px; min-width:180px; }

/* Sotet osszesen-box */
.woocommerce-cart .cart_totals{ background:var(--sf-ink) !important; color:#fff; border-radius:14px; padding:26px 28px; }
.cart_totals h2{ color:#fff; font-family:"Jost",sans-serif; text-transform:uppercase; font-size:1.05rem; letter-spacing:.05em; margin:0 0 18px; }
.cart_totals table.shop_table{ border:0 !important; background:transparent; border-radius:0; }
.cart_totals table.shop_table th, .cart_totals table.shop_table td{ color:#fff !important; background:transparent !important; border:0 !important; border-bottom:1px solid rgba(255,255,255,.14) !important; padding:13px 0 !important; }
.cart_totals table.shop_table tr:last-child th, .cart_totals table.shop_table tr:last-child td{ border-bottom:0 !important; }
.cart_totals .order-total .amount{ font-size:1.25rem; }
.cart_totals a{ color:#fff; }
.cart_totals .woocommerce-Price-amount{ color:#fff; }
.cart_totals .woocommerce-shipping-methods{ list-style:none; margin:0; padding:0; }
.cart_totals .woocommerce-shipping-methods li{ margin:7px 0; display:flex; gap:8px; align-items:baseline; }
.cart_totals .woocommerce-shipping-methods label{ color:#fff; }
.cart_totals .shipping-calculator-button{ color:rgba(255,255,255,.85); text-decoration:underline; }
.cart_totals .woocommerce-shipping-destination, .cart_totals small{ color:rgba(255,255,255,.6); }
.cart_totals .wc-proceed-to-checkout{ padding-top:18px; }
.cart_totals .wc-proceed-to-checkout .checkout-button{ display:block; text-align:center; background:#fff !important; color:var(--sf-ink) !important; border:1.5px solid #fff !important; font-family:"Jost",sans-serif; text-transform:uppercase; font-weight:600; letter-spacing:.04em; }
.cart_totals .wc-proceed-to-checkout .checkout-button:hover{ background:transparent !important; color:#fff !important; }

/* Backorder elegans jelzes */
.woocommerce .backorder_notification, .woocommerce p.backorder_notification{ display:block; width:fit-content; background:#fff6e6; color:#9a6700; border:1px solid #f0d8a8; border-radius:6px; padding:3px 10px; font-size:.76rem; font-weight:600; margin:10px 0 0; line-height:1.3; }
.cart_totals .backorder_notification{ background:rgba(255,255,255,.1); color:#f3c479; border-color:rgba(243,196,121,.35); }
.woocommerce div.product p.stock.available-on-backorder{ display:inline-block; background:#fff6e6; color:#9a6700; border:1px solid #f0d8a8; border-radius:6px; padding:4px 12px; font-size:.82rem; font-weight:600; }

/* Cross-sells (erdekelhetnek meg) */
.woocommerce-cart .cross-sells h2{ font-family:"Jost",sans-serif; text-transform:uppercase; font-size:1.35rem; letter-spacing:.03em; margin:50px 0 20px; }

/* Backorder ertesito box (ship-progress stilusaban) */
.sf-bo-notice{ display:flex; align-items:flex-start; gap:14px; }
.sf-minicart .sf-bo-notice{ padding:4px 0 14px; margin-bottom:6px; border-bottom:1px solid var(--sf-line); }
.sf-bo-ring{ flex:0 0 46px; width:46px; height:46px; border-radius:50%; background:#fff6e6; color:#b9821a; display:grid; place-items:center; border:1px solid #f0d8a8; }
.sf-bo-ring svg{ width:22px; height:22px; }
.sf-bo-txt{ font-size:.86rem; line-height:1.45; }
.sf-bo-txt b{ color:var(--sf-ink); display:block; margin-bottom:3px; }
.sf-bo-txt small{ display:block; color:var(--sf-muted); font-size:.78rem; }
.sf-bo-tip{ margin-top:7px; color:#9a6700 !important; }
.sf-cart-shipwrap .sf-bo-notice{ border:1px solid #f0d8a8; background:#fffaf0; border-radius:10px; padding:16px 18px; margin-bottom:26px; }

/* Kosar frissitese kozben halvanyitas */
body.sf-cart-updating .woocommerce-cart-form, body.sf-cart-updating .cart_totals{ opacity:.55; pointer-events:none; transition:opacity .15s; }

/* Kuka gomb: a "mobil" (stackelt) elrendezestol kezdve, amikor a totals-box alulra kerul (Blocksy: <1000px) */
@media(max-width:999.98px){
  .woocommerce-cart table.cart td.product-remove, .woocommerce-cart .product-mobile-actions.product-remove{ position:static !important; }
  .woocommerce-cart table.cart td.product-remove a.remove, .woocommerce-cart .product-mobile-actions a.remove{ position:static !important; top:auto !important; right:auto !important; margin:0 !important; }
  .woocommerce-cart .product-mobile-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
  .woocommerce-cart table.cart img{ width:54px; height:54px; }
}

/* ===== Termekoldal: utanrendelheto kiszereles jelzes (A box) ===== */
.sf-pbo{ display:flex; gap:12px; align-items:flex-start; flex-wrap:wrap; background:#fff6e6; border:1px solid #f0d8a8; border-radius:9px; padding:13px 15px; margin:16px 0; }
.sf-pbo[hidden]{ display:none; }
.sf-pbo-icon{ color:#b9821a; flex:0 0 auto; margin-top:1px; }
.sf-pbo-icon svg{ width:20px; height:20px; display:block; }
.sf-pbo-txt{ font-size:.88rem; line-height:1.5; flex:1; min-width:0; }
.sf-pbo-txt b{ color:var(--sf-ink); }
.sf-pbo-av{ display:block; margin-top:6px; color:#9a6700; }
.sf-pbo-chip{ font-family:"Jost",sans-serif; font-weight:600; font-size:.82rem; padding:6px 12px; margin:4px 6px 0 0; border:1.5px solid #1f7a44; color:#1f7a44; background:#fff; border-radius:7px; cursor:pointer; transition:.15s; }
.sf-pbo-chip:hover{ background:#1f7a44; color:#fff; }
.sf-pbo-none{ flex-direction:column; }
.sf-pbo-none .sf-pbo-icon{ display:inline-block; }
.sf-pbo-alts{ display:flex; flex-direction:column; gap:10px; width:100%; margin-top:4px; }
.sf-pbo-alt{ display:flex; gap:13px; align-items:center; background:#fff; border:1px solid var(--sf-line); border-radius:9px; padding:10px 12px; text-decoration:none; }
.sf-pbo-alt:hover{ border-color:var(--sf-accent); }
.sf-pbo-alt img{ width:54px; height:54px; object-fit:contain; background:#fff; border:1px solid var(--sf-line); border-radius:7px; flex:0 0 auto; }
.sf-pbo-alt-i{ font-size:.85rem; line-height:1.35; }
.sf-pbo-alt-i b{ display:block; font-family:"Jost",sans-serif; color:var(--sf-ink); }
.sf-pbo-alt-i .k{ color:var(--sf-muted); font-size:.78rem; }
.sf-pbo-alt-go{ margin-left:auto; font-family:"Jost",sans-serif; font-weight:600; font-size:.8rem; color:var(--sf-ink); border:1.5px solid var(--sf-ink); border-radius:6px; padding:7px 13px; white-space:nowrap; }

/* ===== Egyseges keszlet-allapot box (zold/sarga/piros) + accordion ===== */
.sf-stk{ display:inline-flex; align-items:center; gap:8px; border-radius:8px; padding:8px 13px; font-size:.85rem; font-weight:600; line-height:1.2; margin:10px 0; }
.sf-stk .dot{ width:8px; height:8px; border-radius:50%; flex:0 0 auto; }
.sf-stk-in{ background:#f0faf4; color:#1f7a44; border:1px solid #bfe6cf; }
.sf-stk-in .dot{ background:#1f7a44; }
.sf-stk-bo{ background:#fff6e6; color:#9a6700; border:1px solid #f0d8a8; }
.sf-stk-bo .dot{ background:#b9821a; }
.sf-stk-oos{ background:#fdecea; color:#c0392b; border:1px solid #f1c4bf; }
.sf-stk-oos .dot{ background:#d23b30; }
.sf-stk-hint{ font-weight:500; opacity:.82; }
button.sf-stk{ -webkit-appearance:none; appearance:none; font-family:inherit; min-height:0; cursor:pointer; text-align:left; }
.sf-stk-btn .caret{ display:inline-flex; margin-left:3px; transition:transform .2s ease; }
.sf-stk-btn .caret svg{ width:15px; height:15px; }
.sf-stk-btn[aria-expanded="true"] .caret{ transform:rotate(180deg); }
.sf-stk-host{ display:block; }
/* a sajat box valtja ki a nativ variacio-elerhetoseget */
.woocommerce div.product .woocommerce-variation-availability{ display:none; }

/* ===== Penztar (checkout): kosar-stilus, sotet rendeles-box, baratsagosabb ===== */
/* Bizalom-sav felul */
.sf-co-trust{ display:flex; flex-wrap:wrap; gap:14px 28px; justify-content:center; background:var(--sf-soft); border:1px solid var(--sf-line); border-radius:10px; padding:14px 18px; margin:0 0 26px; }
.sf-co-trust span{ display:inline-flex; align-items:center; gap:8px; font-size:.86rem; color:var(--sf-ink); font-weight:500; }
.sf-co-trust svg{ width:18px; height:18px; color:var(--sf-accent); }
/* Szekciocimek */
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading{ font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:1.05rem; margin:0 0 16px; }
/* Urlap mezok baratsagosabb */
.woocommerce-checkout .form-row label{ font-weight:600; font-size:.84rem; margin-bottom:5px; display:block; }
.woocommerce-checkout .input-text, .woocommerce-checkout select, .woocommerce-checkout textarea, .woocommerce-checkout .select2-selection{ border:1px solid var(--sf-line) !important; border-radius:8px !important; padding:12px 14px !important; min-height:48px !important; font-size:.95rem; }
.woocommerce-checkout .select2-selection__rendered{ line-height:24px !important; }
/* Blocksy kulso review-kartya attetszove, sajat boxok ervenyesulnek */
.woocommerce-checkout .ct-order-review{ border:0 !important; padding:0 !important; background:transparent !important; }
/* Sotet "A rendeles tartalma" tabla (mint a kosar totals) */
.woocommerce-checkout .woocommerce-checkout-review-order-table{ background:var(--sf-ink) !important; color:#fff; border:0 !important; border-radius:14px; padding:22px 24px; border-collapse:separate !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td{ color:#fff !important; background:transparent !important; border:0 !important; border-bottom:1px solid rgba(255,255,255,.14) !important; padding:12px 0 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child td{ border-bottom:0 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount{ font-size:1.2rem; }
.woocommerce-checkout .woocommerce-checkout-review-order-table a{ color:#fff; text-decoration:underline; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-Price-amount{ color:#fff; }
.woocommerce-checkout #shipping_method label, .woocommerce-checkout .woocommerce-shipping-totals label{ color:#fff !important; }
.woocommerce-checkout .product-thumbnail img{ border-radius:7px; }
/* Fizetes feher kartya */
.woocommerce-checkout #payment{ background:#fff !important; border:1px solid var(--sf-line) !important; border-radius:14px !important; margin-top:18px; padding:10px 6px; }
.woocommerce-checkout #payment ul.payment_methods{ border:0 !important; }
.woocommerce-checkout #payment .place-order{ padding:0 8px 8px; }
/* Megrendeles gomb prominens */
.woocommerce-checkout #place_order{ width:100%; min-height:56px; font-size:1rem; letter-spacing:.05em; }
@media(max-width:999.98px){ .sf-co-trust{ gap:10px 18px; } }

/* Kosar vegosszeg: adotartalom rendezett (ne csusszon szet) */
.cart_totals .order-total td{ text-align:right; }
.cart_totals .order-total .woocommerce-Price-amount{ display:inline-block; }
.cart_totals .order-total small.includes_tax, .cart_totals .order-total .tax_label{ display:block; font-size:.72rem; font-weight:400; color:rgba(255,255,255,.6); margin-top:3px; white-space:nowrap; }
.woocommerce-checkout .order-total small.includes_tax{ display:block; font-size:.72rem; font-weight:400; color:rgba(255,255,255,.6); margin-top:3px; }

/* Lista nezet: "Kosarba" -> "Hozzaadva" visszajelzes, kek "view cart" link elrejtve */
ul.products li.product a.added_to_cart{ display:none !important; }
ul.products li.product .add_to_cart_button.sf-added{ background:#1f7a44 !important; border-color:#1f7a44 !important; }

/* (X Ft + áfa) egységes betűtípus (az összeg-span is) */
.cart_totals .order-total small.includes_tax, .cart_totals .order-total small.includes_tax *,
.woocommerce-checkout .order-total small.includes_tax, .woocommerce-checkout .order-total small.includes_tax *{ font-family:"Inter",sans-serif !important; font-weight:400 !important; }

/* ===== 12:00 cutoff: fejlec pill + box (foooldal/termekoldal) ===== */
.sf-cutoff{ display:inline-flex; align-items:center; gap:7px; font-size:.74rem; font-weight:600; color:var(--sf-ink); background:var(--sf-soft); border:1px solid var(--sf-line); border-radius:999px; padding:6px 12px; align-self:center; white-space:nowrap; font-variant-numeric:tabular-nums; font-feature-settings:"tnum"; }
.sf-cutoff svg{ width:16px; height:16px; color:var(--sf-accent); }
.sf-cutoff[data-state="today"]{ color:#1f7a44; border-color:#bfe6cf; background:#f0faf4; }
.sf-cutoff[data-state="today"] svg{ color:#1f7a44; }
@media(max-width:1100px){ .sf-cutoff{ display:none; } }
/* Mobil "Mai feladás" vékony sáv a menü alatt (csak ahol a pill rejtve van) */
.sf-cutbar{ display:none; }
.sf-cutbar[hidden]{ display:none!important; }
@media(max-width:1100px){ .sf-cutbar:not([hidden]){ display:flex; align-items:center; justify-content:center; gap:7px; background:#f0faf4; color:#1f7a44; border-top:1px solid #bfe6cf; font-size:.76rem; font-weight:600; padding:7px 12px; font-variant-numeric:tabular-nums; } }
.sf-cutbar svg{ width:15px; height:15px; color:#1f7a44; flex:0 0 auto; }
.sf-cutbar b{ font-weight:700; }
/* Floating "lap tetejére" gomb (csak mobil) */
.sf-totop{ position:fixed; right:16px; bottom:18px; width:46px; height:46px; border-radius:50%; background:var(--sf-ink); color:#fff; border:0; place-items:center; box-shadow:0 6px 18px rgba(0,0,0,.28); cursor:pointer; z-index:120; opacity:0; transform:translateY(10px); transition:opacity .2s, transform .2s; display:none; }
.sf-totop svg{ width:22px; height:22px; }
@media(max-width:880px){ .sf-totop{ display:grid; } .sf-totop:not(.show){ pointer-events:none; } .sf-totop.show{ opacity:1; transform:none; } }
.sf-cutoff-box{ display:flex; align-items:center; gap:12px; background:#f0faf4; border:1px solid #bfe6cf; border-radius:10px; padding:13px 16px; margin:16px 0; }
.sf-cutoff-box[data-state="next"]{ background:var(--sf-soft); border-color:var(--sf-line); }
.sf-cutoff-box-ic{ color:#1f7a44; flex:0 0 auto; }
.sf-cutoff-box[data-state="next"] .sf-cutoff-box-ic{ color:var(--sf-muted); }
.sf-cutoff-box-ic svg{ width:22px; height:22px; display:block; }
.sf-cutoff-box-txt{ font-size:.9rem; line-height:1.45; color:var(--sf-ink); }
.sf-cutoff-box-txt b{ color:var(--sf-ink); }

/* ===== Foooldal: tarsadalmi bizonyitek stat-sav ===== */
.sf-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:1200px; margin:34px auto; padding:22px 28px; background:var(--sf-ink); border-radius:14px; }
.sf-stat{ text-align:center; color:#fff; }
.sf-stat b{ display:block; font-family:"Jost",sans-serif; font-weight:700; font-size:1.5rem; line-height:1; }
.sf-stat span{ display:block; margin-top:6px; font-size:.8rem; color:rgba(255,255,255,.7); }
@media(max-width:680px){ .sf-stats{ grid-template-columns:repeat(2,1fr); gap:20px 12px; } }

/* ===== Foooldal: Csomagok/Tudastar promo-boxok ===== */
/* a 2 promo-box pontosan a felette levo 2-2 kategoria-csempe kozepehez igazitva:
   ugyanaz a szelesseg + ugyanaz a terkoz (18px), mint a .sf-cats-nal -> egy promo = 2 csempe szelesseg */
.sf-promos{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:18px 0 40px; }
.sf-promo{ position:relative; display:block; min-height:220px; border-radius:14px; overflow:hidden; text-decoration:none; }
.sf-promo-bg{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .5s; }
.sf-promo:hover .sf-promo-bg{ transform:scale(1.06); }
.sf-promo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,11,14,.25) 0%, rgba(10,11,14,.78) 100%); }
.sf-promo-in{ position:relative; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; height:100%; min-height:220px; padding:26px 28px; gap:5px; }
.sf-promo-eyebrow{ font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.16em; font-size:.7rem; font-weight:600; color:rgba(255,255,255,.85); }
.sf-promo-title{ font-family:"Jost",sans-serif; font-weight:700; font-size:1.9rem; color:#fff; line-height:1.05; }
.sf-promo-desc{ color:rgba(255,255,255,.85); font-size:.92rem; max-width:34ch; }
.sf-promo-cta{ margin-top:10px; font-family:"Jost",sans-serif; font-weight:600; font-size:.86rem; color:#fff; }
@media(max-width:680px){ .sf-promos{ grid-template-columns:1fr; } }

/* ===== Velemenyek marquee (C) ===== */
.sf-reviews{ max-width:100%; margin:48px 0; overflow:hidden; }
.sf-reviews-h{ text-align:center; }
.sf-reviews-h::after{ margin-left:auto; margin-right:auto; }
.sf-rev-marquee{ overflow:hidden; margin-top:26px; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.sf-rev-track{ display:flex; gap:20px; width:max-content; animation:sfRevScroll 55s linear infinite; }
.sf-rev-marquee:hover .sf-rev-track{ animation-play-state:paused; }
@keyframes sfRevScroll{ to{ transform:translateX(-50%); } }
.sf-rev{ flex:0 0 340px; max-width:340px; border:1px solid var(--sf-line); border-radius:12px; padding:20px 22px; background:#fff; }
.sf-rev-stars{ color:#f5a623; letter-spacing:2px; font-size:1rem; }
.sf-rev p{ font-size:.9rem; line-height:1.55; margin:10px 0 14px; color:#2a2a2e; }
.sf-rev-who{ display:flex; align-items:center; gap:10px; }
.sf-rev-av{ width:34px; height:34px; border-radius:50%; background:var(--sf-soft); display:grid; place-items:center; font-family:"Jost",sans-serif; font-weight:700; color:var(--sf-accent); }
.sf-rev-nm{ display:block; font-weight:600; font-size:.86rem; }
.sf-rev-g{ display:block; font-size:.72rem; color:var(--sf-muted); }

/* ===== USP-sav (D) ===== */
.sf-usp{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; max-width:1200px; margin:40px auto; padding:34px 28px; background:var(--sf-soft); border-radius:14px; }
.sf-usp-i{ text-align:center; }
.sf-usp-ic{ width:48px; height:48px; margin:0 auto 12px; border-radius:50%; background:#fff; border:1px solid var(--sf-line); display:grid; place-items:center; color:var(--sf-accent); }
.sf-usp-ic svg{ width:22px; height:22px; }
.sf-usp-i b{ display:block; font-family:"Jost",sans-serif; font-size:1rem; }
.sf-usp-i span{ font-size:.84rem; color:var(--sf-muted); }
@media(max-width:680px){ .sf-usp{ grid-template-columns:repeat(2,1fr); gap:24px 12px; } }

/* ===== Termekoldal Cialdini (E) ===== */
.sf-pp-social{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.84rem; color:var(--sf-muted); margin:0 0 6px; }
.sf-pp-social .sf-pp-auth{ color:var(--sf-ink); font-weight:600; }
.sf-pp-social .sf-pp-dot{ opacity:.5; }
.sf-pp-stock{ display:inline-flex; align-items:center; gap:8px; background:#f0faf4; color:#1f7a44; border:1px solid #bfe6cf; border-radius:8px; padding:8px 13px; font-size:.85rem; font-weight:600; margin:10px 0; }
.sf-pp-stock .dot{ width:8px; height:8px; border-radius:50%; background:#1f7a44; }
.sf-pp-trust{ display:flex; flex-wrap:wrap; gap:10px 18px; margin:14px 0 0; font-size:.78rem; color:var(--sf-muted); }
.sf-pp-trust span{ display:inline-flex; align-items:center; gap:6px; }
.sf-pp-trust svg{ width:15px; height:15px; color:var(--sf-accent); }

/* Csillag-ertekeles (placeholder, valos Google-atlagra cserelendo) */
.sf-pp-social .sf-pp-stars{ color:#f5a623; letter-spacing:1px; }
.sf-pp-social .sf-pp-rate{ font-weight:700; color:var(--sf-ink); }
.sf-reviews-rate{ text-align:center; color:var(--sf-muted); font-size:.9rem; margin:8px 0 0; }
.sf-reviews-rate .sf-rev-stars{ color:#f5a623; letter-spacing:1px; }
.sf-reviews-rate b{ color:var(--sf-ink); }

/* ===== Foooldal SEO-tartalom ===== */
.sf-home-seo{ max-width:1290px; margin:56px auto 8px; padding:0; }
.sf-home-seo h2{ font-family:"Jost",sans-serif; font-size:1.4rem; margin:32px 0 10px; line-height:1.2; }
.sf-home-seo h2:first-child{ margin-top:0; }
.sf-home-seo p{ font-size:1rem; line-height:1.7; color:#2a2a2e; margin:0 0 14px; text-align:justify; -webkit-hyphens:auto; hyphens:auto; }
.sf-home-seo ul{ margin:0 0 16px; padding-left:1.3em; }
.sf-home-seo li{ margin-bottom:8px; line-height:1.6; }
.sf-home-seo a{ color:var(--sf-accent); text-decoration:underline; text-underline-offset:2px; }
.sf-home-seo a strong, .sf-home-seo strong a{ color:var(--sf-accent); }
.sf-home-seo .sf-faq{ max-width:none; margin:6px 0 0; }

/* Termék-badge-ek */
li.product .ct-media-container, ul.products li.product .woocommerce-loop-product__link, .woocommerce-product-gallery{ position:relative; }
.sf-badges{ position:absolute; top:8px; left:8px; z-index:6; display:flex; flex-direction:column; gap:5px; align-items:flex-start; pointer-events:none; }
.sf-badge{ font-family:"Jost",sans-serif; font-size:.66rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:4px 9px; border-radius:999px; line-height:1.2; box-shadow:0 2px 6px rgba(0,0,0,.18); white-space:nowrap; }
.sf-badges-single{ margin:0 0 12px; }
.sf-badges-single .sf-badges{ position:static; flex-direction:row; flex-wrap:wrap; }
/* Badge-effektek */
@keyframes sfBadgePulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.09); } }
.sf-badge.sf-fx-pulse{ animation:sfBadgePulse 1.6s ease-in-out infinite; transform-origin:center; }
.sf-badge.sf-fx-shine{ position:relative; overflow:hidden; }
.sf-badge.sf-fx-shine::after{ content:""; position:absolute; top:0; left:-60%; width:45%; height:100%; background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-20deg); animation:sfBadgeShine 2.8s ease-in-out infinite; }
@keyframes sfBadgeShine{ 0%{ left:-60%; } 55%,100%{ left:135%; } }
@keyframes sfBadgePop{ 0%,68%,100%{ transform:translateY(0); } 80%{ transform:translateY(-4px); } 90%{ transform:translateY(-1px); } }
.sf-badge.sf-fx-pop{ animation:sfBadgePop 2.2s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce){ .sf-badge.sf-fx-pulse,.sf-badge.sf-fx-pop{ animation:none; } .sf-badge.sf-fx-shine::after{ animation:none; display:none; } }

/* Kategória SEO-leírás a termékek alatt */
.sf-cat-desc{ border-top:1px solid var(--sf-line); margin-top:48px; padding:44px 28px 8px; }
.sf-cat-desc-in{ max-width:860px; margin:0 auto; color:#2a2a2e; font-size:1rem; line-height:1.75; }
.sf-cat-desc-in h2{ font-family:"Jost",sans-serif; font-size:1.5rem; margin:1.7em 0 .45em; line-height:1.2; color:var(--sf-ink); }
.sf-cat-desc-in h2:first-child, .sf-cat-desc-in > :first-child{ margin-top:0; }
.sf-cat-desc-in h3{ font-family:"Jost",sans-serif; font-size:1.15rem; margin:1.4em 0 .4em; color:var(--sf-ink); }
.sf-cat-desc-in p{ margin:0 0 1em; text-align:justify; -webkit-hyphens:auto; hyphens:auto; }
.sf-cat-desc-in ul{ margin:0 0 1.1em 1.2em; }
.sf-cat-desc-in li{ margin:.3em 0; text-align:justify; -webkit-hyphens:auto; hyphens:auto; }
.sf-cat-desc-in a{ color:var(--sf-accent); text-decoration:underline; text-underline-offset:2px; }
.sf-cat-desc-in a:hover{ color:var(--sf-ink); }
.sf-cat-desc-in strong{ color:var(--sf-ink); }
@media(max-width:600px){ .sf-cat-desc{ padding:30px 18px 4px; margin-top:32px; } }

/* Mini cart nagyker sor-ar: athuzott eredeti + piros kedvezmenyes */
.sf-minicart .sf-mc-sub del{ color:var(--sf-muted); font-weight:400; font-family:"Inter",sans-serif; margin-right:5px; }
.sf-minicart .sf-mc-sub del .woocommerce-Price-amount{ color:var(--sf-muted); }
.sf-minicart .sf-mc-disc{ color:var(--sf-danger); font-weight:700; }
.sf-minicart .sf-mc-disc .woocommerce-Price-amount{ color:var(--sf-danger); }

/* ============================================================
   BELEPETT FIOK (My Account) – kartyas dashboard, sidebar NELKUL
   ============================================================ */
/* Blocksy alap page-cim elrejtve (sajat koszontes a dashboardon) */
.woocommerce-account .page-title,
.woocommerce-account .entry-header{ display:none !important; }
.woocommerce-account .ct-acount-nav{ display:contents; }
.woocommerce-account .woocommerce{ display:block; }   /* full-width, nincs grid */
.woocommerce-account .woocommerce-MyAccount-content{ background:none; padding:0; margin:0; width:100%; float:none; box-sizing:border-box; }

/* --- vekony fiok-nav CSAK az aloldalakon (a dashboardon a kartyak navigalnak) --- */
.sf-acct-side.is-dashboard{ display:none; }
.sf-acct-side{ margin:6px 0 26px; }
.sf-acct-side ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:2px; border-bottom:1px solid var(--sf-line); }
.sf-acct-side li{ margin:0; border:0; }
.sf-acct-side li a{
  display:flex; align-items:center; gap:7px; padding:13px 16px; white-space:nowrap;
  color:var(--sf-muted); font-family:"Jost",sans-serif; font-weight:500; font-size:.92rem;
  text-decoration:none; border-bottom:2px solid transparent; margin-bottom:-1px;
}
.sf-acct-side li a svg{ display:none; }
.sf-acct-side li a:hover{ color:var(--sf-ink); }
.woocommerce-account .sf-acct-side li.is-active a{ color:var(--sf-ink) !important; border-bottom-color:var(--sf-ink) !important; background:none !important; }
.sf-acct-side .sf-acct-favcount{ background:var(--sf-ink); color:#fff; font-family:"Jost",sans-serif; font-weight:700; font-size:.66rem; min-width:18px; height:18px; border-radius:40px; display:inline-flex; align-items:center; justify-content:center; padding:0 5px; }
.sf-acct-side .sf-acct-favcount[hidden]{ display:none !important; }
.sf-acct-side .sf-nav-logout a{ color:#b03030; }
.woocommerce-account .sf-acct-side li a::before,
.woocommerce-account .sf-acct-side li a::after{ content:none !important; display:none !important; -webkit-mask:none !important; mask:none !important; background-image:none !important; }

/* --- koszontes sor --- */
.sf-acct-hello{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap; margin:8px 0 22px; }
.sf-acct-hello h1{ font-family:"Jost",sans-serif; font-size:2rem; font-weight:600; letter-spacing:-.015em; margin:0; }
.sf-acct-hello p{ margin:7px 0 0; color:var(--sf-muted); font-size:.92rem; }
.sf-acct-logout{ font-family:"Jost",sans-serif; font-size:.76rem; text-transform:uppercase; letter-spacing:.07em; color:var(--sf-muted); text-decoration:none; border:1px solid var(--sf-line); border-radius:5px; padding:8px 14px; white-space:nowrap; }
.sf-acct-logout:hover{ border-color:var(--sf-ink); color:var(--sf-ink); }

/* --- nagyker/torzs CHIP a nev mellett --- */
.sf-acct-namechip{ display:inline-flex; align-items:center; border:1px solid var(--sf-line); border-radius:40px; overflow:hidden; font-family:"Jost",sans-serif; vertical-align:middle; margin-left:10px; }
.sf-acct-namechip .pct{ font-weight:700; padding:6px 11px; font-size:.82rem; line-height:1; }
.sf-acct-namechip .lbl{ padding:6px 13px 6px 10px; font-weight:500; font-size:.8rem; letter-spacing:.02em; }
.sf-acct-namechip.gold .pct{ background:linear-gradient(120deg,#d8b25c,#b88c30); color:#1a1408; }
.sf-acct-namechip.silver .pct{ background:linear-gradient(120deg,#aebfd1,#7c97b2); color:#0f1620; }

/* --- gyors-kartyak --- */
.sf-acct-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(168px,1fr)); gap:14px; margin-bottom:26px; }
.sf-acct-card{ background:#fff; border:1px solid var(--sf-line); border-radius:10px; padding:18px 16px; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:10px; transition:.15s; }
.sf-acct-card:hover{ border-color:var(--sf-ink); transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,0,0,.06); }
.sf-acct-card-ic{ width:38px; height:38px; border-radius:9px; background:var(--sf-soft); display:flex; align-items:center; justify-content:center; }
.sf-acct-card-ic svg{ width:20px; height:20px; }
.sf-acct-card b{ font-family:"Jost",sans-serif; font-weight:600; font-size:1rem; }
.sf-acct-card small{ color:var(--sf-muted); font-size:.8rem; }
.sf-acct-card-num{ font-family:"Jost",sans-serif; font-weight:700; color:var(--sf-ink); }

/* --- panelek --- */
.sf-acct-panel{ background:#fff; border:1px solid var(--sf-line); border-radius:10px; padding:22px; margin-bottom:18px; }
.sf-acct-panel-h{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.sf-acct-panel-h h2{ font-family:"Jost",sans-serif; font-size:1.05rem; font-weight:600; margin:0; }
.sf-acct-panel-h a{ font-family:"Jost",sans-serif; font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:var(--sf-muted); text-decoration:none; }
.sf-acct-panel-h a:hover{ color:var(--sf-ink); }

/* orders table */
table.sf-acct-orders{ width:100%; border-collapse:collapse; font-size:.9rem; margin:0; }
table.sf-acct-orders th{ text-align:left; font-family:"Jost",sans-serif; font-weight:500; text-transform:uppercase; letter-spacing:.05em; font-size:.72rem; color:var(--sf-muted); padding:0 0 10px; border-bottom:1px solid var(--sf-line); }
table.sf-acct-orders td{ padding:13px 0; border-bottom:1px solid #f0f0f0; vertical-align:middle; }
table.sf-acct-orders tr:last-child td{ border-bottom:0; }
.sf-ostatus{ font-family:"Jost",sans-serif; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; padding:4px 10px; border-radius:40px; display:inline-block; }
.sf-ostatus.s-done{ background:#e8f3ec; color:#2e7d4f; }
.sf-ostatus.s-prog{ background:#eef1f5; color:#3a4a5c; }
.sf-ostatus.s-ship{ background:#fff3e0; color:#b06a00; }
.sf-acct-tbtn{ font-family:"Jost",sans-serif; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; border:1.5px solid var(--sf-ink); border-radius:5px; padding:6px 12px; text-decoration:none; color:var(--sf-ink); white-space:nowrap; display:inline-block; }
.sf-acct-tbtn:hover{ background:var(--sf-ink); color:#fff; }

/* also sor */
.sf-acct-row2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.sf-acct-row2 .sf-acct-panel{ margin-bottom:0; }
.sf-acct-addr{ font-style:normal; font-size:.92rem; line-height:1.8; color:var(--sf-ink); }
.sf-acct-addr-phone{ margin:6px 0 0; font-size:.9rem; color:var(--sf-muted); }
.sf-acct-empty{ color:var(--sf-muted); font-size:.9rem; }
.sf-acct-help-txt{ font-size:.88rem; line-height:1.6; color:var(--sf-muted); margin:14px 0 0; }
.sf-acct-help-btn{ display:inline-block; margin-top:13px; font-family:"Jost",sans-serif; font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; background:var(--sf-ink); color:#fff; text-decoration:none; border-radius:5px; padding:10px 18px; }
.sf-acct-help-btn:hover{ background:#000; color:#fff; }
.sf-acct-panel .sf-cutoff-box{ margin:0; }

/* altalanos fiok-aloldal */
.woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-MyAccount-content table.shop_table{ border:1px solid var(--sf-line); border-radius:10px; overflow:hidden; background:#fff; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3{ font-family:"Jost",sans-serif; }
.woocommerce-MyAccount-content .woocommerce-MyAccount-debit-total{ display:none !important; }

/* Rendelés-tábla desktopon: keskeny adat-oszlopok (rendelésszám/dátum/állapot/összeg a tartalmukra
   zsugorítva), hogy az akció-gombok egy sorba kiférjenek a maradék helyen. */
@media(min-width:769px){
  .woocommerce-MyAccount-content .account-orders-table{ width:100%; }
  .woocommerce-MyAccount-content .account-orders-table th,
  .woocommerce-MyAccount-content .account-orders-table td{ white-space:nowrap; vertical-align:middle; }
  .woocommerce-MyAccount-content .account-orders-table .woocommerce-orders-table__header-order-number,
  .woocommerce-MyAccount-content .account-orders-table .woocommerce-orders-table__cell-order-number,
  .woocommerce-MyAccount-content .account-orders-table .woocommerce-orders-table__header-order-date,
  .woocommerce-MyAccount-content .account-orders-table .woocommerce-orders-table__cell-order-date,
  .woocommerce-MyAccount-content .account-orders-table .woocommerce-orders-table__header-order-status,
  .woocommerce-MyAccount-content .account-orders-table .woocommerce-orders-table__cell-order-status,
  .woocommerce-MyAccount-content .account-orders-table .woocommerce-orders-table__header-order-total,
  .woocommerce-MyAccount-content .account-orders-table .woocommerce-orders-table__cell-order-total{ width:1%; }
  /* az összeg kapjon kicsit több helyet */
  .woocommerce-MyAccount-content .account-orders-table .woocommerce-orders-table__header-order-total,
  .woocommerce-MyAccount-content .account-orders-table .woocommerce-orders-table__cell-order-total{ min-width:120px; padding-right:18px; }
  .woocommerce-MyAccount-content .account-orders-table .woocommerce-orders-table__cell-order-actions .sf-oacts{ flex-wrap:nowrap; justify-content:flex-end; }
}
/* Ha az akció-gombok kilógnának a szűkebb desktop-sávban, csak ikonok látszanak */
@media(min-width:769px) and (max-width:1150px){
  .woocommerce-MyAccount-content .account-orders-table .sf-oact{ padding:0; width:34px; height:34px; justify-content:center; }
  .woocommerce-MyAccount-content .account-orders-table .sf-oact-t{ display:none; }
}

/* reszponziv */
@media (max-width:820px){
  .sf-acct-row2{ grid-template-columns:1fr; }
  .sf-acct-tier{ flex-wrap:wrap; }
  .sf-acct-tier-chip{ margin-left:0; }
}
@media (max-width:560px){
  .sf-acct-hello h1{ font-size:1.55rem; }
  .sf-acct-cards{ grid-template-columns:1fr 1fr; }
  .sf-acct-side ul{ flex-wrap:wrap; gap:6px; border-bottom:0; }
  .sf-acct-side li a{ border:1px solid var(--sf-line); border-radius:40px; padding:8px 13px; font-size:.82rem; margin-bottom:0; }
  .woocommerce-account .sf-acct-side li.is-active a{ background:var(--sf-ink) !important; color:#fff !important; border-color:var(--sf-ink) !important; }
  /* vekony, EGYSOROS -% sav mobilon: "-30% Nagykereskedelmi partner ... Aktiv" */
  .sf-acct-tier{ flex-wrap:nowrap; align-items:center; gap:9px; padding:9px 12px; border-radius:8px; margin-bottom:18px; }
  .sf-acct-tier-pct{ font-size:.92rem; padding:4px 9px; border-radius:6px; flex:0 0 auto; }
  .sf-acct-tier-meta{ min-width:0; }
  .sf-acct-tier-meta b{ font-size:.82rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .sf-acct-tier-meta span{ display:none; }
  .sf-acct-tier-chip{ margin-left:auto; flex:0 0 auto; font-size:.55rem; padding:4px 9px; }
}

/* ===== Termekoldal: variacio PILLEK (dropdown helyett) ===== */
.sf-swatch-hidden{ display:none !important; }
.sf-swatch{ display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 2px; }
.sf-swatch-pill{ font-family:"Jost",sans-serif; font-weight:600; font-size:.85rem; padding:9px 15px; border:1.5px solid var(--sf-ink); border-radius:7px; background:#fff; color:var(--sf-ink); cursor:pointer; transition:.15s; line-height:1; }
.sf-swatch-pill:hover{ background:var(--sf-soft); }
.sf-swatch-pill.sel{ background:var(--sf-ink); color:#fff; }
.sf-swatch-pill.is-in{ border-color:#3fbf6a; color:#1f7a44; }
.sf-swatch-pill.is-in.sel{ background:#1f7a44; border-color:#1f7a44; color:#fff; }
.sf-swatch-pill.is-bo{ border-color:#f0d8a8; color:#9a6700; background:#fff8ec; }
.sf-swatch-pill.is-bo.sel{ background:#9a6700; border-color:#9a6700; color:#fff; }
.sf-swatch-pill.is-oos{ border-color:var(--sf-line); color:#b8b8bc; text-decoration:line-through; background:#fafafa; }
.sf-swatch-pill.is-oos.sel{ background:#c0392b; border-color:#c0392b; color:#fff; text-decoration:none; }
.sf-swatch-pill.disabled{ opacity:.4; pointer-events:none; }

/* Variacios "X Ft-tol": nagykernel a dk-rp osztalyokat hasznalja (azonos szin a sima termekkel) */

/* ===== Gyors-kosar modal (lista variacios termek) ===== */
.sf-cart-wrap.sf-mc-show .sf-minicart{ display:block; }
.sf-qa-ov{ position:fixed; inset:0; background:rgba(10,11,14,.55); display:flex; align-items:center; justify-content:center; padding:20px; z-index:9999; }
.sf-qa-ov[hidden]{ display:none; }
.sf-qa-modal{ background:#fff; border-radius:14px; max-width:620px; width:100%; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.4); position:relative; display:grid; grid-template-columns:220px 1fr; }
.sf-qa-x{ position:absolute; top:12px; right:12px; width:34px; height:34px; border-radius:50%; border:0; background:rgba(0,0,0,.06); font-size:1.2rem; line-height:1; cursor:pointer; z-index:2; }
.sf-qa-x:hover{ background:rgba(0,0,0,.12); }
.sf-qa-img{ background:var(--sf-soft) center/cover no-repeat; min-height:240px; }
.sf-qa-body{ padding:26px 26px 24px; min-width:0; }
.sf-qa-eyebrow{ font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.14em; font-size:.66rem; color:var(--sf-muted); }
.sf-qa-title{ font-family:"Jost",sans-serif; font-weight:700; font-size:1.4rem; margin:6px 0 0; line-height:1.12; }
.sf-qa-price{ font-family:"Jost",sans-serif; font-weight:700; font-size:1.2rem; margin:12px 0 0; }
.sf-qa-price .woocommerce-price-suffix, .sf-qa-price small{ color:var(--sf-muted); font-weight:400; font-size:.78rem; font-family:"Inter",sans-serif; }
.sf-qa-bo{ display:flex; align-items:center; gap:7px; margin-top:10px; font-size:.82rem; color:#9a6700; background:#fff8ec; border:1px solid #f0d8a8; border-radius:7px; padding:7px 10px; }
.sf-qa-bo[hidden]{ display:none !important; }
.sf-qa-bo svg{ width:16px; height:16px; flex:0 0 auto; }
.sf-qa-lbl{ font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:.74rem; color:var(--sf-muted); margin:18px 0 9px; }
.sf-qa-pills{ display:flex; flex-wrap:wrap; gap:8px; }
.sf-qa-row{ display:flex; gap:10px; align-items:stretch; margin-top:22px; }
.sf-qa-qty{ display:flex; align-items:center; border:1px solid var(--sf-line); border-radius:6px; }
.sf-qa-qty button{ width:38px; height:46px; border:0; background:#fff; font-size:1.1rem; cursor:pointer; }
.sf-qa-q{ width:32px; text-align:center; font-family:"Jost",sans-serif; font-weight:600; }
.sf-qa-add{ flex:1; background:var(--sf-ink); color:#fff; border:0; font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.04em; font-weight:600; font-size:.85rem; padding:14px; border-radius:6px; cursor:pointer; }
.sf-qa-add:hover{ background:#000; }
.sf-qa-add:disabled{ opacity:.5; cursor:not-allowed; }
.sf-qa-link{ display:inline-block; margin-top:14px; font-size:.8rem; color:var(--sf-muted); text-decoration:underline; }
.sf-quickadd.loading{ opacity:.6; pointer-events:none; }
@media(max-width:560px){
  .sf-qa-ov{ align-items:flex-end; padding:0; }
  .sf-qa-modal{ grid-template-columns:1fr; max-width:none; border-radius:16px 16px 0 0; max-height:92vh; overflow:auto; }
  .sf-qa-img{ min-height:140px; }
}

/* Foooldal kategoria-csempek: hoverre egyedi (rendszerbe illo) szin, a Blocksy kek helyett */
.sf-cat .sf-cat-n{ transition:color .2s; }
.sf-cat:hover .sf-cat-n,
.sf-cat:hover .sf-cat-n a{ color:inherit; }
.sf-cats .sf-cat:nth-child(1):hover .sf-cat-n{ color:#1f8a70; }   /* Tisztítás – zöld */
.sf-cats .sf-cat:nth-child(2):hover .sf-cat-n{ color:#c0892d; }   /* Polírozás – arany */
.sf-cats .sf-cat:nth-child(3):hover .sf-cat-n{ color:#5a4e9c; }   /* Bevonatok – indigó */
.sf-cats .sf-cat:nth-child(4):hover .sf-cat-n{ color:#b15842; }   /* Ápolás – terrakotta */
.sf-cats .sf-cat:nth-child(1):hover::after{ color:#1f8a70; }
.sf-cats .sf-cat:nth-child(2):hover::after{ color:#c0892d; }
.sf-cats .sf-cat:nth-child(3):hover::after{ color:#5a4e9c; }
.sf-cats .sf-cat:nth-child(4):hover::after{ color:#b15842; }

/* Egyseges mennyiseg-lepteto (Blocksy ct-increase/ct-decrease) a mini cart stilusara - MINDENHOL (termekoldal, kosar, gyorskosar) */
.quantity[data-type]{
  display:inline-flex !important; align-items:center; border:1px solid var(--sf-line); border-radius:7px;
  overflow:hidden; background:#fff; width:auto; height:38px; position:relative;
}
.quantity[data-type] .ct-decrease,
.quantity[data-type] .ct-increase{
  position:static !important; transform:none !important; inset:auto !important; margin:0 !important;
  width:34px; height:100%; display:grid; place-items:center; cursor:pointer; color:var(--sf-ink); opacity:1; background:#fff; border-radius:0;
}
.quantity[data-type] .ct-decrease{ order:0; }
.quantity[data-type] input.qty{
  order:1; border:0 !important; box-shadow:none !important; width:46px; height:100%; text-align:center; min-height:0;
  font-family:"Jost",sans-serif; font-weight:600; font-size:.9rem; background:transparent; padding:0; -moz-appearance:textfield; border-radius:0;
}
.quantity[data-type] input.qty::-webkit-outer-spin-button,
.quantity[data-type] input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.quantity[data-type] .ct-increase{ order:2; }
.quantity[data-type] .ct-decrease:hover,
.quantity[data-type] .ct-increase:hover{ background:var(--sf-soft); color:var(--sf-ink); }
/* Termekoldalon a lepteto magassaga a Kosarba-gombhoz igazodik */
.single-product .ct-cart-actions .quantity[data-type]{ height:52px; }
@media(max-width:689px){ .single-product .ct-cart-actions .quantity[data-type]{ height:40px; } }

/* Rendeleseim: eszkozsor (kereses + limit) + lapozo */
.sf-orders-tools{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:0 0 18px; }
.sf-orders-search{ display:flex; align-items:center; border:1px solid var(--sf-line); border-radius:7px; overflow:hidden; background:#fff; flex:1 1 280px; max-width:420px; }
.sf-orders-search input{ border:0 !important; box-shadow:none !important; flex:1; padding:10px 14px; font-size:.9rem; background:transparent; min-width:0; }
.sf-orders-search button{ border:0; background:var(--sf-ink); color:#fff; width:42px; display:grid; place-items:center; cursor:pointer; align-self:stretch; }
.sf-orders-search button svg{ width:17px; height:17px; }
.sf-orders-per{ font-family:"Jost",sans-serif; font-size:.85rem; color:var(--sf-muted); display:inline-flex; align-items:center; gap:8px; }
.sf-orders-per select{ border:1px solid var(--sf-line); border-radius:6px; padding:8px 10px; font-family:"Jost",sans-serif; font-size:.85rem; background:#fff; }
.sf-orders-clear{ font-family:"Jost",sans-serif; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--sf-muted); text-decoration:underline; }
.sf-orders-clear:hover{ color:var(--sf-ink); }
/* lapozo (prev/next) a rendszer stilusaban */
.woocommerce-MyAccount-content .woocommerce-pagination{ margin-top:20px; }
.woocommerce-MyAccount-content .woocommerce-pagination .button,
.woocommerce-MyAccount-content .woocommerce-pagination a.button{ font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:.78rem; border:1.5px solid var(--sf-ink); background:#fff; color:var(--sf-ink); border-radius:6px; padding:9px 16px; }
.woocommerce-MyAccount-content .woocommerce-pagination .button:hover{ background:var(--sf-ink); color:#fff; }
@media(max-width:560px){ .sf-orders-tools{ gap:10px; } .sf-orders-search{ flex:1 1 100%; max-width:none; } }

/* Dinamikus "legutobbi rendeles" VILAGOS kartya + progress-bar (mint a kovetes-idovonal) */
.sf-acct-orderbox{ background:#fff; border:1px solid var(--sf-line); border-radius:12px; padding:18px 22px 22px; margin:0 0 22px; }
.sf-acct-orderbox-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; margin-bottom:20px; }
.sf-acct-orderbox-eyebrow{ display:block; font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.12em; font-size:.66rem; color:var(--sf-muted); }
.sf-acct-orderbox-title{ display:block; font-family:"Jost",sans-serif; font-weight:600; font-size:1.05rem; margin-top:3px; }
.sf-acct-orderbox-go{ font-family:"Jost",sans-serif; font-size:.76rem; text-transform:uppercase; letter-spacing:.06em; border:1.5px solid var(--sf-ink); border-radius:6px; padding:9px 14px; color:var(--sf-ink); white-space:nowrap; text-decoration:none; }
.sf-acct-orderbox-go:hover{ background:var(--sf-ink); color:#fff; }
.sf-acct-orderbox-msg{ font-size:.86rem; color:var(--sf-muted); margin:18px 0 0; }
/* progress */
.sf-acct-progress{ position:relative; --done:#101012; }
.sf-acct-orderbox.state-done .sf-acct-progress{ --done:#1f7a44; }
.sf-acct-orderbox.state-pickup .sf-acct-progress{ --done:#b06a00; }
.sf-acct-progress-track{ position:absolute; top:9px; left:0; right:0; height:3px; background:var(--sf-line); border-radius:3px; }
.sf-acct-progress-fill{ position:absolute; top:0; left:0; height:100%; border-radius:3px; background:var(--done);
  width:calc(var(--active) / 4 * 100%); transition:width .4s ease; }
.sf-acct-progress-steps{ position:relative; display:flex; }
.sf-acct-pstep{ flex:1; display:flex; flex-direction:column; align-items:center; gap:9px; text-align:center; }
.sf-acct-pdot{ width:21px; height:21px; border-radius:50%; background:#fff; border:3px solid var(--sf-line); box-sizing:border-box; }
.sf-acct-pstep.is-done .sf-acct-pdot{ background:var(--done); border-color:var(--done); }
.sf-acct-pstep.is-current .sf-acct-pdot{ border-color:var(--done); box-shadow:0 0 0 4px color-mix(in srgb, var(--done) 18%, transparent); }
.sf-acct-plabel{ font-family:"Jost",sans-serif; font-size:.72rem; color:var(--sf-muted); letter-spacing:.02em; }
.sf-acct-pstep.is-done .sf-acct-plabel, .sf-acct-pstep.is-current .sf-acct-plabel{ color:var(--sf-ink); font-weight:500; }
@media(max-width:560px){ .sf-acct-plabel{ font-size:.62rem; } }

/* ===== Fiok dashboard "feldobas": premium tier = 1 akcent (arany/ezust), sima vasarlo = szines ikonok ===== */
/* PRÉMIUM (nagyker arany / torzs ezust) */
.sf-acct-dash.tier-gold{ --acc:#b88c30; --acc-tint:#faf4e6; }
.sf-acct-dash.tier-silver{ --acc:#7c97b2; --acc-tint:#eef2f6; }
.tier-gold .sf-acct-card-ic, .tier-silver .sf-acct-card-ic{ background:var(--acc-tint); }
.tier-gold .sf-acct-card-ic svg, .tier-silver .sf-acct-card-ic svg{ stroke:var(--acc); }
.tier-gold .sf-acct-card-num, .tier-silver .sf-acct-card-num{ color:var(--acc); }
.tier-gold .sf-acct-card:hover, .tier-silver .sf-acct-card:hover{ border-color:var(--acc); }
/* a folyamatban levo (open) rendeles progress-barja a tier-akcentet veszi (a done=zold, pickup=barna marad jelentes-hordozonak) */
.tier-gold .sf-acct-orderbox.state-open .sf-acct-progress{ --done:var(--acc); }
.tier-silver .sf-acct-orderbox.state-open .sf-acct-progress{ --done:var(--acc); }

/* SIMA VÁSÁRLÓ: szines ikonok (kategoria-paletta) */
.tier-plain .sf-acct-cards .sf-acct-card:nth-child(1){ --c:#1f8a70; }
.tier-plain .sf-acct-cards .sf-acct-card:nth-child(2){ --c:#b15842; }
.tier-plain .sf-acct-cards .sf-acct-card:nth-child(3){ --c:#5a4e9c; }
.tier-plain .sf-acct-cards .sf-acct-card:nth-child(4){ --c:#b88c30; }
.tier-plain .sf-acct-cards .sf-acct-card:nth-child(5){ --c:#46617d; }
.tier-plain .sf-acct-cards .sf-acct-card:nth-child(6){ --c:#3f7d7a; }
.tier-plain .sf-acct-card-ic{ background:color-mix(in srgb, var(--c, #101012) 13%, #fff); }
.tier-plain .sf-acct-card-ic svg{ stroke:var(--c, #101012); }
.tier-plain .sf-acct-card-num{ color:var(--c); }
.tier-plain .sf-acct-card:hover{ border-color:var(--c); }

/* Gyors-kartya cime hoverre az akcent-szinre valt (a Blocksy kek helyett) */
.sf-acct-card b{ transition:color .15s; }
.tier-plain .sf-acct-card:hover b{ color:var(--c) !important; }
.tier-gold .sf-acct-card:hover b, .tier-silver .sf-acct-card:hover b{ color:var(--acc) !important; }

/* ============================================================
   KÖSZÖNJÜK (order-received) oldal
   ============================================================ */
.sf-ty{ max-width:900px; margin:0 auto; }
.sf-ty-head{ display:flex; align-items:center; gap:15px; margin-bottom:20px; }
.sf-ty-check{ width:48px; height:48px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto; background:#1f7a44; }
.sf-ty.state-wait .sf-ty-check{ background:#b06a00; } .sf-ty.state-pickup .sf-ty-check{ background:var(--sf-ink); }
.sf-ty-check svg{ width:25px; height:25px; stroke:#fff; stroke-width:2.6; fill:none; }
.sf-ty-eyebrow{ font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.13em; font-size:.68rem; color:var(--sf-muted); }
.sf-ty-h{ font-family:"Jost",sans-serif; font-size:1.6rem; font-weight:600; margin:2px 0 0; }
.sf-ty-card{ background:#fff; border:1px solid var(--sf-line); border-radius:11px; padding:18px 20px; margin-bottom:14px; }
.sf-ty-progwrap{ padding:20px 22px; }
.sf-ty-card-h{ font-family:"Jost",sans-serif; font-weight:600; font-size:1rem; margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.sf-ty-mini{ width:22px; height:22px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto; }
.sf-ty-mini svg{ width:13px; height:13px; stroke:#fff; stroke-width:3; fill:none; }
.sf-ty-mini.ok{ background:#1f7a44; } .sf-ty-mini.wait{ background:#b06a00; }
.sf-ty-mut{ font-size:.88rem; color:var(--sf-muted); line-height:1.6; }
.sf-ty-soft{ background:var(--sf-soft); border-radius:9px; padding:11px 14px; font-size:.88rem; margin-top:12px; }
.sf-ty-fine{ font-size:.78rem; color:var(--sf-muted); margin-top:8px; }
.sf-ty-tags{ display:flex; gap:9px; flex-wrap:wrap; margin-top:8px; }
.sf-ty-tag{ font-family:"Jost",sans-serif; font-size:.78rem; border:1px solid var(--sf-line); border-radius:40px; padding:6px 13px; }
.sf-ty-amber{ display:flex; gap:11px; align-items:flex-start; background:#fff6e6; border:1px solid #f0d8a8; border-radius:9px; padding:12px 15px; font-size:.86rem; color:#7a5200; line-height:1.55; margin-bottom:14px; }
.sf-ty-amber svg{ width:20px; height:20px; flex:0 0 auto; margin-top:1px; }
.sf-ty-amber b{ color:#5a3d00; }
/* ETA: cimke fent, ertek alatta */
.sf-ty-eta{ display:flex; gap:14px; }
.sf-ty-eta .box{ flex:1; background:var(--sf-soft); border-radius:9px; padding:12px 14px; }
.sf-ty-eta .lbl{ display:block; font-family:"Jost",sans-serif; font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--sf-muted); }
.sf-ty-eta .val{ display:block; margin-top:5px; font-family:"Jost",sans-serif; font-weight:600; font-size:1rem; }
/* bank */
.sf-ty-bank{ border:1px solid var(--sf-line); border-radius:9px; padding:4px 14px; }
.sf-ty-bankrow{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid #f0f0f0; }
.sf-ty-bankrow:last-child{ border-bottom:0; }
.sf-ty-bankrow .k{ color:var(--sf-muted); font-size:.8rem; }
.sf-ty-bankrow .v{ font-family:"Jost",sans-serif; font-weight:600; font-size:.95rem; letter-spacing:.01em; }
.sf-ty-bankrow-ref{ background:#fbf6ea; margin:0 -14px; padding-left:14px; padding-right:14px; border-radius:8px; }
.sf-ty-copy{ display:inline-flex; align-items:center; gap:7px; border:1.5px solid var(--sf-line); border-radius:9px; padding:8px 13px; background:#fff; cursor:pointer; font-family:"Jost",sans-serif; font-weight:500; font-size:.8rem; color:var(--sf-ink); white-space:nowrap; }
.sf-ty-copy svg{ width:14px; height:14px; }
.sf-ty-copy.done{ border-color:#1f7a44; color:#1f7a44; }
.sf-ty-refnote{ font-size:.83rem; color:var(--sf-muted); margin-top:11px; line-height:1.55; }
.sf-ty-refnote b{ color:var(--sf-ink); }
.sf-ty-refnote a{ color:var(--sf-ink); font-weight:600; }
/* grid */
.sf-ty-grid{ display:grid; grid-template-columns:1fr 320px; gap:16px; align-items:start; }
.sf-ty-main{ min-width:0; } .sf-ty-main .sf-ty-card:last-child{ margin-bottom:0; }
.sf-ty-side .sf-ty-card{ margin-bottom:14px; }
.sf-ty-item{ display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid #f0f0f0; font-size:.86rem; }
.sf-ty-item .nm small{ color:var(--sf-muted); }
.sf-ty-item .amt{ font-family:"Jost",sans-serif; font-weight:600; white-space:nowrap; }
.sf-ty-sumrow{ display:flex; justify-content:space-between; padding:8px 0; font-size:.88rem; }
.sf-ty-sumrow .k{ color:var(--sf-muted); } .sf-ty-sumrow .v{ font-family:"Jost",sans-serif; font-weight:600; }
.sf-ty-sumrow.tot{ border-top:1px solid var(--sf-line); margin-top:4px; padding-top:11px; }
.sf-ty-sumrow.tot .v{ font-size:1.15rem; }
.sf-ty-tudas{ display:flex; align-items:center; justify-content:space-between; gap:12px; background:radial-gradient(120% 140% at 80% 0%,#26262c,#101012); color:#fff; border-radius:10px; padding:15px 18px; text-decoration:none; }
.sf-ty-tudas b{ font-family:"Jost",sans-serif; font-size:1rem; } .sf-ty-tudas small{ color:#b7b7bd; font-size:.8rem; display:block; margin-top:2px; } .sf-ty-tudas span{ font-size:1.2rem; }
/* guest */
.sf-ty-guest{ background:#faf7ef; border:1px solid #ecdcae; border-radius:11px; padding:16px 20px; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-top:16px; }
.sf-ty-guest-txt b{ font-family:"Jost",sans-serif; } .sf-ty-guest-txt small{ color:var(--sf-muted); font-size:.84rem; display:block; margin-top:2px; }
.sf-ty-guest-form{ display:flex; gap:9px; flex-wrap:wrap; }
.sf-ty-guest-form input{ border:1px solid var(--sf-line); border-radius:6px; padding:10px 13px; font-size:.9rem; min-width:200px; }
.sf-ty-btn-d{ background:var(--sf-ink); color:#fff; border:0; font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.05em; font-weight:600; font-size:.78rem; padding:11px 18px; border-radius:6px; cursor:pointer; }
/* foot */
.sf-ty-foot{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:18px; }
.sf-ty-btn-o{ font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.05em; font-weight:600; font-size:.78rem; padding:11px 18px; border-radius:6px; border:1.5px solid var(--sf-ink); color:var(--sf-ink); text-decoration:none; }
.sf-ty-btn-o:hover{ background:var(--sf-ink); color:#fff; }
.sf-ty-sos{ font-size:.85rem; color:var(--sf-muted); margin-left:auto; }
.sf-ty-sos a{ color:var(--sf-ink); font-weight:600; text-decoration:none; border-bottom:1px solid var(--sf-line); }
@media(max-width:760px){
  .sf-ty-grid{ grid-template-columns:1fr; }
  .sf-ty-eta{ flex-direction:column; }
  .sf-ty-sos{ margin-left:0; width:100%; }
  .sf-ty-guest-form input{ flex:1; min-width:0; }
}

/* Díjbekérő (proforma) PDF gomb a köszönő oldalon */
.sf-ty-pdf{ display:inline-flex; align-items:center; gap:9px; margin-top:13px; font-family:"Jost",sans-serif; font-weight:600; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; background:var(--sf-ink); color:#fff; border:1.5px solid var(--sf-ink); border-radius:6px; padding:11px 18px; text-decoration:none; }
.sf-ty-pdf:hover{ background:#fff; color:var(--sf-ink); }
.sf-ty-pdf svg{ width:17px; height:17px; }

/* Fiók mobil-finomítások (köszöntés/chip/kijelentkezés/rendelés-műveletek) */
.sf-acct-namechip .short{ display:none; }
.sf-acct-logout-ic{ display:none; }
/* rendelés-művelet ikongombok (kompakt) */
.sf-oacts{ display:inline-flex; gap:7px; flex-wrap:wrap; }
/* desktop: ikon + szoveg gomb */
.sf-oact{ display:inline-flex; align-items:center; gap:7px; border:1.5px solid var(--sf-line); border-radius:7px; padding:7px 12px; color:var(--sf-ink); text-decoration:none; transition:.15s; font-family:"Jost",sans-serif; font-size:.74rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.sf-oact:hover{ border-color:var(--sf-ink); background:var(--sf-ink); color:#fff; }
.sf-oact svg{ width:16px; height:16px; flex:0 0 auto; }
@media (max-width:560px){
  .sf-acct-hello-sub{ display:none; }                 /* alcím rejtve mobilon */
  .sf-acct-hello{ position:relative; padding-right:48px; }
  .sf-acct-logout{ position:absolute; top:0; right:0; }
  .sf-acct-hello h1{ font-size:1.35rem; }             /* kisebb név, hogy a chip beférjen */
  .sf-acct-namechip{ margin-left:8px; }
  .sf-acct-namechip .pct{ padding:4px 8px; font-size:.72rem; }
  .sf-acct-namechip .lbl{ padding:4px 10px 4px 8px; font-size:.72rem; }
  .sf-acct-namechip .full{ display:none; }
  .sf-acct-namechip .short{ display:inline; }          /* rövid címke: "Nagyker" */
  .sf-acct-logout{ padding:0; width:38px; height:38px; display:grid; place-items:center; border-radius:7px; flex:0 0 auto; }
  .sf-acct-logout-ic{ display:block; width:18px; height:18px; }
  .sf-acct-logout-txt{ display:none; }                 /* kijelentkezés csak ikon mobilon */
  .sf-oact{ padding:0; width:34px; height:34px; justify-content:center; }
  .sf-oact-t{ display:none; }
}

/* ===== Fiók: Értékeléseim (vásárolt termékek + gyors csillagos értékelés) ===== */
.sf-rev-intro{ color:var(--sf-muted); font-size:.92rem; line-height:1.55; margin:0 0 16px; }
.sf-rev-tools{ margin-bottom:16px; }
.sf-rev-empty{ background:var(--sf-soft); border:1px solid var(--sf-line); border-radius:12px; padding:26px; text-align:center; color:var(--sf-muted); }
.sf-rev-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.sf-rev-item{ display:flex; gap:16px; padding:16px; border:1px solid var(--sf-line); border-radius:12px; background:#fff; }
.sf-rev-thumb{ flex:0 0 78px; width:78px; height:78px; border-radius:9px; overflow:hidden; background:var(--sf-soft); display:block; }
.sf-rev-thumb img{ width:100%; height:100%; object-fit:cover; display:block; margin:0; }
.sf-rev-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.sf-rev-name{ font-family:"Jost",sans-serif; font-weight:600; font-size:1.02rem; color:var(--sf-ink); text-decoration:none; line-height:1.3; }
.sf-rev-name:hover{ color:var(--sf-accent); }
.sf-rev-meta{ font-size:.8rem; color:var(--sf-muted); margin-bottom:4px; }
/* csillag-bevitel */
.sf-stars{ display:inline-flex; gap:3px; }
.sf-star{ background:none; border:0; padding:0 1px; cursor:pointer; font-size:1.6rem; line-height:1; color:#d9d9de; transition:color .12s, transform .08s; }
.sf-star:hover{ transform:scale(1.12); }
.sf-star.on{ color:#f5a623; }
.sf-rev-text{ width:100%; margin-top:8px; border:1px solid var(--sf-line); border-radius:8px; padding:9px 11px; font:inherit; font-size:.9rem; resize:vertical; outline:none; }
.sf-rev-text:focus{ border-color:var(--sf-ink); }
.sf-rev-actions{ display:flex; align-items:center; gap:12px; margin-top:9px; }
.sf-rev-submit{ background:var(--sf-ink); color:#fff; border:0; border-radius:8px; padding:9px 16px; font-weight:600; cursor:pointer; }
.sf-rev-submit:disabled{ opacity:.55; cursor:default; }
.sf-rev-msg{ font-size:.84rem; color:var(--sf-muted); }
.sf-rev-msg.err{ color:#c0392b; }
/* elkészült értékelés */
.sf-rev-done{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:6px; }
.sf-rev-stars-static{ display:inline-flex; gap:2px; font-size:1.15rem; line-height:1; }
.sf-rev-stars-static span{ color:#d9d9de; }
.sf-rev-stars-static span.on{ color:#f5a623; }
.sf-rev-badge{ display:inline-flex; align-items:center; gap:5px; font-size:.8rem; font-weight:600; color:#1f9d57; background:#eaf7ef; border:1px solid #c7ebd5; border-radius:999px; padding:3px 10px; }
.sf-rev-badge svg{ width:13px; height:13px; }
.sf-rev-pending{ font-size:.78rem; color:#b5651d; background:#fdf1e3; border-radius:999px; padding:3px 10px; }
.sf-rev-yourtext{ font-size:.88rem; color:var(--sf-muted); margin:8px 0 0; line-height:1.5; }
.sf-rev-pager{ display:flex; gap:6px; justify-content:center; margin-top:20px; }
.sf-rev-pager a, .sf-rev-pager span{ min-width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--sf-line); border-radius:8px; text-decoration:none; color:var(--sf-ink); font-size:.9rem; }
.sf-rev-pager .is-current{ background:var(--sf-ink); color:#fff; border-color:var(--sf-ink); }
@media(max-width:560px){
  .sf-rev-item{ gap:12px; padding:12px; }
  .sf-rev-thumb{ flex-basis:60px; width:60px; height:60px; }
  .sf-star{ font-size:1.8rem; }
}

/* ===== Mobil finomítások: termékkártya + főoldali tájékoztató szöveg ===== */
@media(max-width:680px){
  /* termékkártya: a név max 2 sor (trim), alatta a rövid leírás 2 sor -> névvel együtt fix 4 sor (egységes magasság) */
  ul.products li.product .woocommerce-loop-product__title{
    font-size:.9rem; padding:0 10px; line-height:1.3;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
    min-height:2.6em;
  }
  .sf-card-desc{
    display:-webkit-box !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
    padding:4px 10px 0; line-height:1.45; min-height:2.9em;
  }
  ul.products li.product .price{ padding:5px 10px 0; font-size:1rem; }
  ul.products li.product .button,
  ul.products li.product .added_to_cart{
    display:block; width:fit-content; max-width:100%;
    margin:10px auto 0 !important; padding:8px 16px !important;
    font-size:.74rem !important; letter-spacing:.02em !important;
  }
  /* főoldali tájékoztató: szebb címsor + balra zárt szöveg (nincs csúnya sorkizárás) */
  .sf-home-seo{ margin:36px 0 8px; padding:0; }
  .sf-home-seo h2{ font-size:1.16rem; line-height:1.3; text-wrap:balance; overflow-wrap:break-word; }
  .sf-home-seo p{ text-align:left; -webkit-hyphens:none; hyphens:none; font-size:.96rem; line-height:1.62; }
}

/* Fiók: Értékeléseim mindig a teljes tartalom-szélességet tölti ki (dinamikus) */
.sf-acct-rev{ width:100%; }
.sf-rev-list, .sf-rev-item{ width:100%; }

/* ===== Csillagos értékelés igazítása + számszerű érték (kártya + termékoldal) ===== */
ul.products li.product .sf-rate{ display:flex; align-items:center; gap:7px; padding:8px 16px 0; }
.sf-rate{ display:inline-flex; align-items:center; gap:7px; }
.sf-rate .star-rating{ margin:0; float:none; }
.sf-rate-num{ font-family:"Jost",sans-serif; font-weight:600; font-size:.82rem; color:var(--sf-muted); line-height:1; }
@media(max-width:680px){ ul.products li.product .sf-rate{ padding:6px 10px 0; } }

/* ===== Jogi oldalak: Szállítási (doc) + ÁSZF/Adatkezelési (TOC) ===== */
.sf-legal-doc{ max-width:820px; margin:0 auto; }
.sf-legal-grid{ display:grid; grid-template-columns:256px 1fr; gap:42px; align-items:start; }
.sf-legal-toc{ position:sticky; top:90px; }
.sf-legal-toc-in{ border:1px solid var(--sf-line); border-radius:12px; padding:20px 18px; background:#fafafa; max-height:calc(100vh - 120px); overflow:auto; }
.sf-legal-toc b{ font-family:"Jost",sans-serif; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sf-muted); display:block; margin-bottom:12px; }
.sf-legal-toc nav{ display:flex; flex-direction:column; }
.sf-legal-toc a{ font-size:.85rem; color:#56565b; text-decoration:none; padding:7px 0 7px 12px; border-left:2px solid var(--sf-line); line-height:1.4; transition:.12s; }
.sf-legal-toc a:hover{ color:var(--sf-ink); border-left-color:var(--sf-muted); }
.sf-legal-toc a.is-active{ color:var(--sf-ink); font-weight:600; border-left-color:var(--sf-ink); }
.sf-legal-body{ max-width:840px; min-width:0; }
.sf-legal-meta{ display:inline-flex; align-items:center; gap:8px; font-size:.78rem; color:var(--sf-muted); background:var(--sf-soft); border:1px solid var(--sf-line); border-radius:999px; padding:5px 14px; margin:0 0 28px; }
.sf-legal-dot{ width:7px; height:7px; border-radius:50%; background:#1f9d57; flex:0 0 auto; }
.sf-legal-h{ font-family:"Jost",sans-serif; font-weight:600; font-size:1.3rem; line-height:1.25; margin:36px 0 14px; padding-top:10px; border-top:1px solid var(--sf-line); scroll-margin-top:96px; }
.sf-legal-body > .sf-legal-h:first-of-type{ border-top:0; padding-top:0; margin-top:8px; }
.sf-legal-body p{ margin:0 0 13px; line-height:1.72; text-align:justify; -webkit-hyphens:auto; hyphens:auto; }
.sf-legal-body li{ line-height:1.6; margin-bottom:7px; text-align:justify; -webkit-hyphens:auto; hyphens:auto; }
.sf-legal-body a{ color:var(--sf-accent); text-underline-offset:2px; }
html{ scroll-behavior:smooth; }
@media(max-width:900px){
  .sf-legal-grid{ grid-template-columns:1fr; gap:22px; }
  .sf-legal-toc{ position:static; }
  .sf-legal-toc-in{ max-height:none; }
}
/* Jogi oldalak: címsorok egységesítése (ne nagybetűs a doc-nézetben) */
.sf-legal-body h2{ text-transform:none; letter-spacing:normal; font-size:1.3rem; line-height:1.25; }
.sf-legal-body h3{ font-family:"Jost",sans-serif; font-weight:600; font-size:1.05rem; text-transform:none; letter-spacing:normal; margin:20px 0 8px; }

/* ===== Csomag-súly figyelmeztetés (pénztár + fiók) ===== */
.sf-heavy-warn{ display:flex; align-items:center; gap:10px; background:#fdf3e3; border:1px solid #f0c98a; color:#8a5a1a; border-radius:10px; padding:12px 16px; font-size:.92rem; font-weight:500; line-height:1.4; margin:0 0 18px; }
.sf-heavy-warn svg{ width:20px; height:20px; flex:0 0 auto; color:#c0892d; }
.sf-heavy-kg{ white-space:nowrap; }
.sf-heavy-checkout{ margin:0 0 22px; }
