/* Bluestar DJ Backline - frontend stilus (2026-09-26, a beatsafaridnb.com/bluestarupgrade referencia alapjan)
   Temak: html[data-theme=dark] (kobaltkek + rez, alapertelmezett) es html[data-theme=light] (ezust + kobalt). */
@import url(/assets/fonts.css);

:root{
  --display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;
  --body:Manrope,Arial,sans-serif;
  --bg:#081322;--surface:#0e1b30;--line:#614737;--edge:#a66c48;--text:#edf5ff;--muted:#abbcd1;--soft:#afc3d9;
  --brand:#b9511f;--accent:#f6a067;--price:#ffae78;--cta-a:#bd592a;--cta-b:#944016;--glow:#e67e3530;--grid:#d58b4b09;
  --card-a:#12263f;--card-b:#0c192b;--header:#081322f5;--title:#edf5ff;--label:#ffab70;
  --stage-a:#f6f8fb;--stage-b:#d3dde8;--stage-line:#ffffff10;
  --cut-a:#264c72;--cut-b:#0b1b30;
}
/* sotet tema: a kivagott kepek mogotti szinpad valtozatai (Admin > Beallitasok > Megjelenes) */
html[data-cut=vilagosabb]{--cut-a:#3a6494;--cut-b:#17304f}
html[data-cut=kozep]{--cut-a:#5d8bbf;--cut-b:#0f2340}
html[data-theme=light]{
  --bg:#edf0f3;--surface:#fff;--line:#bac4d0;--edge:#a3b0c2;--text:#263449;--muted:#576475;--soft:#576475;
  --brand:#344e80;--accent:#344e80;--price:#344e80;--cta-a:#496696;--cta-b:#30476e;--glow:#24395820;--grid:#579bdd06;
  --card-a:#fff;--card-b:#f2f4f7;--header:#f6f8faf5;--title:#183f70;--label:#a94812;
  --stage-a:#ffffff;--stage-b:#dbe3ec;--stage-line:#0000000a;
  --cut-a:#e2e7ef;--cut-b:#bdc8d7;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px;-webkit-text-size-adjust:100%}
body{margin:0;background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:40px 40px;color:var(--text);font:16px/1.7 var(--body);min-height:100vh;display:flex;flex-direction:column}
body.dialog-open{overflow:hidden}
main{flex:1}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button,a,input{touch-action:manipulation}
a,button{transition:background .2s,color .2s,transform .2s,border-color .2s,box-shadow .2s}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
img{max-width:100%;height:auto}
h1,h2,h3,p{margin-top:0}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container{width:min(1320px,calc(100% - 96px));margin-inline:auto}
@media(min-width:1450px){.container{max-width:1280px}}
@media(max-width:1100px){.container{width:calc(100% - 56px)}}
@media(max-width:1000px){.container{width:calc(100% - 40px)}}
@media(max-width:600px){.container{width:calc(100% - 32px)}}

/* --- gombok --- */
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(var(--cta-a),var(--cta-b));padding:16px 23px;color:#fff;font-size:14px;font-weight:800;border:1px solid var(--brand);border-radius:3px;box-shadow:inset 0 1px #ffffff25;text-transform:uppercase}
.button:hover{background:var(--brand);transform:translateY(-2px)}
.button:disabled{opacity:.55;cursor:wait;transform:none}
.ghost{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--text);font-size:14px;font-weight:700;text-transform:uppercase}
.ghost:hover{border-color:var(--accent);color:var(--accent)}
.skip{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;color:#000;padding:12px}.skip:focus{top:10px}

/* --- fejlec --- */
header.top{position:sticky;top:0;z-index:30;background:var(--header);border-bottom:1px solid var(--edge);backdrop-filter:blur(20px)}
.header-inner{width:min(1440px,calc(100% - 64px));margin:auto;display:grid;grid-template-columns:100px minmax(0,640px) auto;justify-content:space-between;align-items:center;gap:24px;height:90px}
.brand{display:block;justify-self:start;line-height:0}
.brand img{display:block;width:76px;height:72px;object-fit:contain}
.header-search{display:flex;align-items:stretch;width:100%;min-width:0;border:1px solid var(--edge);border-radius:8px;background:var(--surface);overflow:hidden}
.header-search input{flex:1;width:0;min-width:0;border:0;border-radius:0;padding:12px 14px;background:var(--surface);color:var(--text);font-size:14px;outline:none}
.header-search input::placeholder{color:var(--muted)}
.header-search button{display:flex;align-items:center;justify-content:center;width:48px;flex-shrink:0;border:0;background:var(--brand);color:#fff}
.header-search svg{width:20px;height:20px}
.header-search:focus-within{outline:2px solid var(--accent);outline-offset:3px}
.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;min-width:0}
.language-selector{display:flex;gap:4px}
.language-selector a{display:flex;align-items:center;justify-content:center;width:34px;height:36px;font-size:22px;line-height:1;border:1px solid transparent;border-radius:5px;opacity:.55}
.language-selector a[aria-current=true],.language-selector a:hover{opacity:1;border-color:var(--line);background:var(--surface)}
.login-trigger{border:1px solid var(--line);border-radius:7px;background:var(--surface);color:#ffab70;padding:10px 12px;font-size:12px;font-weight:800;white-space:nowrap;text-transform:uppercase}
.login-trigger:hover{color:var(--accent)}
.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;padding:10px;border:1px solid var(--edge);border-radius:7px;background:var(--surface);color:var(--accent)}
.icon-button svg{width:22px;height:22px}
.icon-button:hover{background:var(--brand);color:#fff}
.icon-button .badge{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--brand);color:#fff;font-size:11px;font-weight:800;line-height:19px;text-align:center;border:1px solid var(--bg)}
.icon-button .badge:empty{display:none}
@media(max-width:1100px){.header-inner{gap:18px}}
@media(max-width:1000px){.header-inner{grid-template-columns:85px minmax(0,1fr) auto;gap:16px}}
@media(max-width:850px){.header-inner{height:76px;width:calc(100% - 36px)}}
@media(max-width:650px){
  .header-inner{grid-template-columns:1fr auto;gap:8px;height:auto;min-height:112px;padding-block:10px}
  .brand{grid-column:1;grid-row:1}.brand img{width:52px;height:50px}
  .header-actions{grid-column:2;grid-row:1;gap:5px}
  .header-search{grid-column:1/-1;grid-row:2;min-height:42px}
  .header-search input{padding:10px;font-size:13px}.header-search button{width:40px}
  .login-trigger{padding:8px;font-size:10px}
  .language-selector a{width:27px;font-size:19px}
  .icon-button{width:36px;height:36px;flex-basis:36px;padding:7px}
}

/* --- kartya-racs (kezdolap + lista) --- */
.home-products{padding-top:36px;padding-bottom:45px}
.catalog{padding-top:32px;padding-bottom:50px}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.product-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--edge);border-radius:9px;background:linear-gradient(145deg,var(--card-a),var(--card-b));overflow:hidden;padding:17px;box-shadow:inset 0 1px 0 var(--glow);transition:transform .25s,border-color .25s,box-shadow .25s}
.product-card:hover{border-color:var(--accent);box-shadow:0 12px 36px var(--glow),inset 0 1px var(--accent);transform:translateY(-5px)}
.product-photo{display:block;position:relative;aspect-ratio:1.62;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,var(--stage-a),var(--stage-b) 78%);perspective:900px}
.studio-stage{display:block;position:relative;width:100%;height:100%;isolation:isolate;background:radial-gradient(ellipse at 50% 45%,var(--stage-a),var(--stage-b) 78%);transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s cubic-bezier(.2,.7,.2,1);transform-origin:50% 50%;backface-visibility:hidden}
.studio-stage img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:4%}
/* Kivagott (atlatszo hatteru, webp) termekkepek: a referencia sotetkek / ezust szinpada, keveres nelkul. A feher lapos jpg-k maradnak a vilagos szinpadon multiply-jal. */
.studio-stage.cut,.album-thumb.cut,.studio-stage:has(>img[src*=".webp"]),.album-thumb:has(>img[src*=".webp"]),.cart-photo:has(>img[src*=".webp"]),.suggest-thumb:has(>img[src*=".webp"]),.viewer-thumbs [data-viewer-index]:has(>img[src*=".webp"]),.viewer-display:has(.viewer-stage>img[src*=".webp"]){background:radial-gradient(ellipse at 50% 42%,var(--cut-a),var(--cut-b) 75%)}
.studio-stage.cut img,.album-thumb.cut img,:is(.studio-stage,.album-thumb,.cart-photo,.suggest-thumb,.viewer-stage,[data-viewer-index],.category-ribbon-photo) img[src*=".webp"]{mix-blend-mode:normal}
.studio-stage:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,30%),#ffffff66,transparent 58%);opacity:0;pointer-events:none;transition:opacity .4s}
.product-card:hover .studio-stage:after,.image-button:hover .studio-stage:after{opacity:.25}
.is-tilting .studio-stage{transition:transform .1s linear;will-change:transform}
.photo-pending{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;color:#5f7590;padding:10px}
.photo-pending svg{width:36px;height:36px;opacity:.6}
.photo-pending strong{font-size:13px;line-height:1.3}.photo-pending small{font-size:11px}
.video-mark{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:5px;background:#0b1a2ce6;color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--edge);z-index:2}
.video-mark svg{width:12px;height:12px}
.product-info{padding:18px 0 0;display:flex;flex-direction:column;flex:1}.category-menu-card .product-info{gap:8px}
.product-category{font-size:10px;letter-spacing:.16em;color:var(--accent);margin:0;text-transform:uppercase;font-weight:700;text-align:center}
.product-card h3{font-family:var(--body);font-size:19px;font-weight:500;line-height:1.4;letter-spacing:-.025em;margin:0 0 11px;text-align:center;overflow-wrap:anywhere;color:var(--title)}
.product-card h3 a:hover{color:var(--accent)}
.product-summary{font-size:13px;line-height:20.6px;height:41.2px;color:var(--soft);margin:0 0 25px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-summary:empty{display:none}
.product-card-bottom{margin-top:auto;padding:16px 0;border-top:1px solid var(--line);min-height:75px;display:flex;flex-direction:column;justify-content:center}
.product-card-bottom>span{color:var(--price);font-size:22px;font-weight:800;line-height:1.7}
.price-unit{font-size:12px;font-weight:400;white-space:nowrap}
.card-actions{display:grid;gap:8px}
.card-cta{display:flex;align-items:center;justify-content:center;padding:11px 16px;border:1px solid var(--edge);border-radius:5px;background:linear-gradient(var(--cta-a),var(--cta-b));box-shadow:inset 0 1px #ffffff25;font-size:13px;font-weight:800;line-height:1.7;color:#fff;text-transform:uppercase;text-align:center}
.rental-card .card-actions .card-cta{height:44.4px;padding-block:0;flex-shrink:0;font-size:16px;font-weight:800;line-height:1.2}
.product-card:hover .card-cta{background:var(--brand)}
.card-cta:hover{transform:translateY(-1px)}
.category-menu-card h2{font:700 clamp(18px,1.55vw,23px)/1.3 var(--body);letter-spacing:-.035em;margin:0 0 10px;text-align:center;text-transform:uppercase;color:var(--title)}
.category-menu-card .card-cta{margin-top:auto}
.menu-symbol{position:relative;aspect-ratio:1.62;display:flex;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--accent)}
.menu-symbol svg{width:90px;height:90px}
.menu-symbol svg.menu-art{width:auto;height:78%;max-width:84%}
.menu-symbol.about-logo img{position:absolute;inset:5% 14% 21%;width:72%;height:74%;object-fit:contain}
.empty-result{grid-column:1/-1;text-align:center;padding:70px 20px;border:1px solid var(--line);border-radius:9px;color:var(--muted)}
.empty-result h2{font:500 36px var(--display);margin-bottom:10px;color:var(--text)}
.more-row{display:flex;justify-content:center;margin-top:28px}
.results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;font-size:13px;color:var(--soft)}
.results-heading h1{font:500 30px/1.1 var(--display);margin:0;color:var(--text)}
.catdesc{color:var(--soft);font-size:14px;max-width:800px;margin:0 0 18px}
.catdesc p{margin:0 0 8px}
@media(min-width:1001px){.product-card{padding:14px}.product-card h3{font-size:17px}.product-card-bottom>span{font-size:20px}.card-cta{padding:11px 12px;font-size:12px}.rental-card .card-actions .card-cta{padding:0 12px;font-size:16px}}
@media(max-width:767px){.home-products{padding-top:22px}}
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:767px){.product-grid{gap:12px}.product-card{padding:12px}.product-card h3{font-size:15px}}
@media(max-width:600px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-card{padding:10px}
  .product-photo{aspect-ratio:1.25}
  .product-info{padding-top:12px}
  .product-card h3{font-size:14px;line-height:1.3}
  .category-menu-card h2{font-size:16px}
  .product-summary{font-size:11px;line-height:17px;height:34px}
  .product-card-bottom>span{font-size:16px}.price-unit{display:block;font-size:10px}.product-card-bottom{min-height:70px;padding:12px 0}
  .card-cta,.rental-card .card-actions .card-cta{font-size:12px;padding:10px 4px;height:auto}
  .menu-symbol svg{width:60px;height:60px}
  .menu-symbol svg.menu-art{width:auto;height:78%;max-width:84%}
}
@media(prefers-reduced-motion:reduce){.product-card,.product-card:hover{transition:none;transform:none}}

/* --- kategoria-szalag --- */
.category-ribbon{display:grid;grid-template-columns:repeat(var(--ribbon-n,10),minmax(0,1fr));gap:8px;width:100%;margin:0 0 28px}
.category-ribbon>a{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--edge);border-radius:5px;background:var(--surface);overflow:hidden;transition:border-color .18s,box-shadow .18s}
.category-ribbon .category-ribbon-photo{display:block;aspect-ratio:1.3;background:radial-gradient(ellipse at 50% 45%,var(--stage-a),var(--stage-b) 78%)}
.category-ribbon>a:hover{border-color:var(--edge);box-shadow:0 6px 18px #0004}
.category-ribbon>a[aria-current]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 6px 18px #0005}
.category-ribbon>a[aria-current]::after{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:var(--accent)}
.category-ribbon img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:6%;filter:grayscale(1);transition:filter .22s ease}
.category-ribbon>a:hover img,.category-ribbon>a:focus-visible img,.category-ribbon>a[aria-current] img{filter:none}
/* kivagott (webp) kategoria-kep: a referencia sotetkek/ezust szinpada, szinesben (a szurkearnyalat a sotet szinpadon olvashatatlan lenne) */
.category-ribbon .category-ribbon-photo:has(>img[src*=".webp"]){background:radial-gradient(ellipse at 50% 42%,var(--cut-a),var(--cut-b) 75%)}
.category-ribbon img[src*=".webp"]{filter:none;padding:8%}
.category-ribbon-label{display:flex;align-items:center;justify-content:center;min-height:34px;padding:5px 3px;background:var(--surface);color:var(--label);font-size:10px;font-weight:700;text-align:center;text-transform:uppercase;line-height:1.2;border-top:1px solid var(--line);overflow-wrap:anywhere}
.category-ribbon>a[aria-current] .category-ribbon-label{background:var(--brand);color:#fff;border-top-color:var(--brand)}
@media(max-width:1200px){.category-ribbon{gap:6px}.category-ribbon-label{font-size:9px;min-height:32px}}
@media(max-width:900px),(hover:none){
  .category-ribbon{display:flex;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
  .category-ribbon>a{flex:0 0 108px;scroll-snap-align:start}
  .category-ribbon-label{font-size:10px}
}

/* --- termekoldal --- */
.product-detail{padding-top:28px;padding-bottom:0}
.breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--soft);padding:28px 0 42px}
.breadcrumb a:hover{color:var(--accent)}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:65px}
.detail-visual{min-width:0}
.detail-main-photo{position:relative;display:block;overflow:hidden;border:1px solid var(--edge);border-radius:8px;background:radial-gradient(ellipse at 50% 45%,var(--stage-a),var(--stage-b) 78%);touch-action:pan-y}
.image-button{display:block;position:relative;width:100%;padding:0;border:0;background:none;color:inherit;perspective:1100px;cursor:zoom-in}
.image-button .studio-stage{aspect-ratio:3/2}
.image-button .studio-stage img{padding:5%}
.detail-main-photo:has(.carousel-position) .image-button{padding-bottom:48px}
.zoom-hint{position:absolute;bottom:12px;right:12px;padding:5px 10px;border:1px solid var(--edge);border-radius:4px;background:#0a1724e8;color:#b5d9ee;font-size:12px;pointer-events:none;z-index:2}
.detail-main-photo:has(.carousel-position) .zoom-hint{bottom:58px}
.carousel-prev,.carousel-next{position:absolute;top:calc(50% - 24px);transform:translateY(-50%);width:44px;height:48px;border:1px solid #3b5b77;border-radius:6px;color:var(--accent);background:#091727d9;font-size:24px;line-height:1;z-index:3}
html[data-theme=light] .carousel-prev,html[data-theme=light] .carousel-next{background:#ffffffe6}
.carousel-prev{left:12px}.carousel-next{right:12px}
.carousel-prev:hover,.carousel-next:hover{background:var(--brand);color:#fff;border-color:var(--accent)}
.carousel-position{position:absolute;bottom:0;left:0;right:0;min-height:48px;padding:12px 18px;display:flex;align-items:center;justify-content:center;background:var(--brand);border-top:1px solid #233b50;color:#fff;font-size:14px;font-weight:600;pointer-events:none}
.photo-album{margin:26px 0 0;border-top:1px solid var(--line);padding-top:22px}
.album-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}
.album-heading h2{font:500 27px/1.2 var(--display);margin:0}.album-heading>span{font-size:12px;color:var(--muted)}
.album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.album-thumb{display:block;position:relative;cursor:pointer;min-width:0;padding:0;border:2px solid var(--edge);background:radial-gradient(ellipse at 50% 45%,var(--stage-a),var(--stage-b) 78%);overflow:hidden;border-radius:5px;aspect-ratio:3/2;color:inherit}
.album-thumb img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:4%}
.album-thumb.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.album-thumb:hover{border-color:var(--accent);transform:translateY(-2px)}
.album-thumb.video-thumb{background:#0b1a2c}
.album-thumb.video-thumb img{mix-blend-mode:normal;object-fit:cover;padding:0;opacity:.85}
.album-thumb .play{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:#e11d48;display:grid;place-items:center;color:#fff}
.album-thumb .play svg{width:12px;height:12px}
.album-number{position:absolute;bottom:4px;right:5px;font:600 12px/1.5 var(--body);color:var(--accent);background:#081728e8;padding:0 4px;border-radius:2px}
html[data-theme=light] .album-number{background:#ffffffe8}
.product-videos{display:grid;gap:20px;margin-top:24px}
.product-videos iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:1px solid #dc7c3e;border-radius:6px;background:#000}
.detail-copy h1{font:500 60px/1.04 var(--display);letter-spacing:-.015em;margin:0 0 24px;overflow-wrap:anywhere;color:var(--title)}
.detail-copy .subtitle{color:var(--soft);font-size:15px;margin:-10px 0 20px}
.rental-price{border-block:1px solid var(--line);padding:24px 0;margin-top:30px;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:4px}
.rental-price>span{flex-basis:100%;font-size:13px;color:var(--muted)}
.rental-price strong{font-size:32px;font-weight:800;color:var(--price)}
.rental-price small{color:var(--label);font-size:16px;font-weight:600;white-space:nowrap}
.detail-buy{display:flex;align-items:stretch;gap:12px;margin-top:24px}
.detail-buy .quantity-stepper{margin:0;flex:0 0 110px;min-height:52px}
.detail-contact{width:100%;margin-top:24px;justify-content:center;text-align:center;text-transform:uppercase}
.rental-note{font-size:13px;color:#95a6ba;margin:16px 0 35px}
.rental-note a{color:#6bbeef}
.description{border-top:1px solid var(--line);padding-top:28px}
.description>h2{font:500 32px/1.2 var(--display);margin:30px 0 20px;color:var(--title)}
.detail-links{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;margin-top:30px;padding-top:20px;font-size:12px;color:#8eabc4}
.detail-links a:hover,.share-button:hover{color:var(--accent)}
.share-button{border:0;background:none;color:inherit;font-size:inherit;padding:0;margin-left:auto}
.related{margin-block:80px}
.related h2{font:500 40px var(--display);margin-bottom:32px}
.prose{color:var(--text);overflow-wrap:anywhere;min-width:0;font-size:16px;line-height:1.85}
.prose>div[style]{padding:0!important;min-height:0!important;height:auto!important}
.prose h1{font-family:var(--display);color:#fff;font-size:38px;line-height:1.15;font-weight:500}
html[data-theme=light] .prose h1{color:var(--title)}
.prose h2{font-family:var(--display);color:var(--title);font-size:32px;line-height:1.2;margin:30px 0 20px;font-weight:500}
.prose h3{font-family:var(--display);color:var(--title);font-size:27px;font-weight:500}
.prose p{margin-bottom:20px}
.prose a{color:#68bdf0;text-decoration:underline;text-underline-offset:4px}
.prose strong{color:var(--text)}
.prose ul,.prose ol{padding-left:23px}.prose li{margin-bottom:12px}
.prose img{max-width:100%;height:auto}
.prose table{border-collapse:collapse;max-width:100%;font-size:14px}
.prose td,.prose th{border:1px solid var(--line);padding:12px;vertical-align:top}
.prose iframe{width:100%;min-height:300px;border:0;margin-block:15px;border-radius:6px}
.prose object,.prose embed{max-width:100%}
@media(max-width:1100px){.detail-grid{gap:35px}.detail-copy h1{font-size:48px}}
@media(max-width:850px){
  .detail-grid{display:flex;flex-direction:column;gap:0}
  .detail-copy{display:contents}
  .detail-copy>.breadcrumb{order:-4}.detail-copy>h1{order:-3}.detail-copy>.subtitle{order:-3}.detail-visual{order:-2}
  .detail-copy .rental-price{margin-top:30px}.detail-copy .detail-links{margin-top:25px}
  .detail-visual{min-width:0}
}
@media(max-width:600px){
  .product-detail{padding-top:24px}
  .detail-copy h1{font-size:48px}
  .album-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .carousel-prev{left:6px}.carousel-next{right:6px}.carousel-position{font-size:13px;padding-inline:12px}
  .related{margin-block:45px}.related h2{font-size:35px}
  .prose table{font-size:12px}.prose td,.prose th{padding:6px}.prose iframe{min-height:230px}
  .detail-buy{flex-wrap:wrap}.detail-buy .quantity-stepper{flex-basis:100%}
}

/* --- kepnezo (lightbox) --- */
#lightbox{padding:22px;width:min(1140px,96vw);max-width:96vw;max-height:94dvh;border:1px solid var(--edge);border-radius:12px;overflow:auto;background:var(--bg);color:var(--text)}
#lightbox::backdrop{background:#020710bf;backdrop-filter:blur(7px)}
.close-dialog{position:absolute;right:12px;top:8px;width:44px;height:44px;z-index:3;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:30px;line-height:1}
.close-dialog:hover{background:var(--brand);color:#fff}
.viewer-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;padding-right:50px;margin-bottom:18px;min-height:32px;font-size:14px}
.viewer-title{min-width:0;overflow-wrap:anywhere;font-weight:700}
.viewer-count{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--accent)}
.viewer-display{position:relative;display:flex;justify-content:center;background:radial-gradient(ellipse at 50% 45%,var(--stage-a),var(--stage-b) 78%);border:1px solid var(--edge);border-radius:7px;overflow:hidden}
.viewer-stage{width:min(100%,calc(62dvh * 1.5));aspect-ratio:3/2;touch-action:none;overflow:hidden;cursor:zoom-in;user-select:none;-webkit-user-select:none}
.viewer-stage.zoomed{cursor:grab}.viewer-stage.zoomed:active{cursor:grabbing}
.viewer-stage img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:3%;transform-origin:0 0;will-change:transform;pointer-events:none;-webkit-user-drag:none}
.viewer-zoom{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:12px;font-size:12px;color:var(--soft)}
.viewer-zoom button{width:38px;height:34px;border:1px solid var(--edge);border-radius:5px;background:var(--surface);color:var(--text);font-size:18px;line-height:1}
.viewer-zoom button:hover{background:var(--brand);color:#fff}
.viewer-zoom .viewer-zoom-reset{width:auto;padding:0 12px;font-size:12px;font-weight:700;text-transform:uppercase}
.viewer-zoom-range{flex:1 1 160px;min-width:120px;height:34px;margin:0;accent-color:var(--accent);cursor:pointer}
.viewer-zoom-value{min-width:46px;font-variant-numeric:tabular-nums;font-weight:700;color:var(--accent)}
.viewer-zoom-hint{flex-basis:100%;line-height:1.5}
.viewer-prev,.viewer-next{position:absolute;top:50%;z-index:2;transform:translateY(-50%);width:42px;height:48px;border:1px solid var(--edge);border-radius:5px;background:#0b1c2de8;color:var(--accent);font-size:22px}
.viewer-prev{left:12px}.viewer-next{right:12px}
.viewer-prev:hover,.viewer-next:hover{background:var(--brand);color:#fff}
.viewer-caption{font-size:13px;line-height:1.6;margin:14px 0;color:var(--soft)}
.viewer-thumbs{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 8px;scrollbar-width:thin}
.viewer-thumbs [data-viewer-index]{cursor:pointer;display:block;flex:0 0 90px;aspect-ratio:3/2;padding:0;border:2px solid var(--edge);border-radius:4px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,var(--stage-a),var(--stage-b) 78%)}
.viewer-thumbs [data-viewer-index] img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:4%}
.viewer-thumbs [data-viewer-index].selected{border-color:var(--accent)}
@media(max-width:600px){#lightbox{padding:14px;max-height:96dvh}.viewer-zoom-hint{font-size:11px}.viewer-heading{font-size:13px;gap:10px}.viewer-stage{width:100%}.viewer-prev,.viewer-next{width:32px;height:40px}.viewer-prev{left:5px}.viewer-next{right:5px}.viewer-thumbs [data-viewer-index]{cursor:pointer;display:block;flex-basis:72px}.close-dialog{top:7px;right:6px}}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.studio-stage{transform:none!important;transition:none!important}.studio-stage:after{display:none}.product-card:hover{transform:none}.album-thumb:hover{transform:none}}

/* --- tartalmi oldalak --- */
.content-page{padding-bottom:30px}.about-page{padding-top:28px;padding-bottom:60px}.rental-terms-page{padding-top:28px}.contact-page{padding-top:28px}
.page-heading{padding-bottom:34px}
.page-heading .eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--accent);margin:0 0 15px;text-transform:uppercase}
.page-heading h1{font:500 clamp(48px,5vw,76px)/1.04 var(--display);letter-spacing:-.015em;margin:0 0 24px;overflow-wrap:anywhere;color:var(--title)}
.title-dot{color:var(--accent)}
.content-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:65px;align-items:start;margin-bottom:20px}
.content-layout aside{position:sticky;top:120px;border-top:1px solid var(--line)}
.content-layout aside>p{font-size:11px;letter-spacing:.1em;color:#778ca4;padding-top:24px;margin:0 0 1em;text-transform:uppercase}
.content-layout aside a{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px;color:#98aac0}
.content-layout aside a.active{color:#65c1f6}
.content-layout aside a span{color:var(--accent)}
.contact-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px}
.contact-info-card{min-width:0;display:flex;flex-direction:column;padding:16px;border:1px solid rgba(255,153,85,.65);border-radius:14px;background:var(--surface);box-shadow:inset 0 1px 0 #ffffff18}
.contact-icon-panel{display:flex;align-items:center;justify-content:center;aspect-ratio:1.62;background:radial-gradient(ellipse at 50% 45%,#1c3b59,#0b1b2f 78%);border:1px solid var(--line);border-radius:9px;color:#ffab70}
.contact-icon-panel svg{width:64px;height:64px}
.contact-info-card h2{font:700 21px/1.25 var(--body);text-align:center;text-transform:uppercase;margin:22px 0 12px;color:var(--title)}
.contact-info-card p{text-align:center;color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 20px;overflow-wrap:anywhere}
.contact-info-card .button{width:100%;margin-top:auto;border-radius:8px}
.contact-info-card .button.decoration{pointer-events:none;user-select:none}
.contact-rental-info{padding:28px;margin-bottom:28px}
.contact-rental-info p{text-align:left;font-size:16px;color:var(--text)}
.contact-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-map-grid .contact-info-card{scroll-margin-top:115px}
.contact-map-grid h2{margin:6px 0 20px}
.contact-map-grid iframe{display:block;width:100%;height:340px;border:1px solid rgba(255,153,85,.6);border-radius:9px}
.map-link{display:flex;align-items:center;justify-content:center;height:220px;border:1px dashed var(--edge);border-radius:9px;color:var(--accent);font-weight:700}
@media(max-width:1000px){.content-layout{gap:35px;grid-template-columns:200px minmax(0,1fr)}.contact-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.content-layout{grid-template-columns:1fr}.content-layout aside{position:static;display:flex;gap:4px 15px;flex-wrap:wrap;order:2}.content-layout aside>p{width:100%}}
@media(max-width:767px){.about-page,.contact-page,.rental-terms-page{padding-top:24px}}
@media(max-width:600px){.contact-info-grid,.contact-map-grid{grid-template-columns:1fr}.contact-info-card{padding:14px}.contact-rental-info{padding:20px}.breadcrumb{padding:22px 0 32px;font-size:11px}}
@media(max-width:520px){.page-heading h1{font-size:55px}}

/* --- lablec (hirlevel) --- */
.newsletter-footer{padding:28px 0;border-top:1px solid var(--line);background:var(--surface);margin-top:40px}
.newsletter-inner{width:min(1440px,calc(100% - 64px));margin-inline:auto;display:grid;grid-template-columns:76px minmax(0,640px);justify-content:space-between;gap:32px;align-items:center}
.newsletter-footer .brand img{width:76px;height:72px}
.newsletter-fields{display:flex;gap:10px}
.newsletter-fields input{min-width:0;flex:1;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:5px;padding:12px}
.newsletter-fields .button{font-size:12px;padding:12px 18px;white-space:nowrap}
.newsletter-status{font-size:12px;margin:8px 0 0;color:var(--accent)}.newsletter-status:empty{display:none}
.newsletter-consent{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;font-size:12px;color:var(--muted);cursor:pointer;line-height:1.4}.newsletter-consent input{width:16px;height:16px;flex-shrink:0;margin-top:1px;accent-color:#b9531c}.newsletter-consent a{color:var(--accent)}
.site-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;width:min(1440px,calc(100% - 64px));margin:18px auto 0;padding:14px 0 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.site-foot nav{display:flex;flex-wrap:wrap;gap:6px 18px}.site-foot a{color:var(--muted);text-decoration:none}.site-foot a:hover{color:var(--accent);text-decoration:underline}
.checkout-consent{margin-top:12px}.checkout-consent a,.login-gdpr a{color:var(--accent)}.login-gdpr{font-size:12px;color:var(--muted);margin:2px 0 10px}
.footer-meta{width:min(1440px,calc(100% - 64px));margin:18px auto 0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--muted)}
.footer-meta a:hover{color:var(--accent)}
@media(max-width:850px){.newsletter-inner,.footer-meta{width:calc(100% - 36px)}}
@media(max-width:767px){.newsletter-inner{grid-template-columns:56px minmax(0,1fr);gap:18px}.newsletter-fields{flex-wrap:wrap}.newsletter-fields input{width:100%;flex-basis:100%}.newsletter-fields .button{width:100%;font-size:11px}.newsletter-footer .brand img{width:56px;height:56px}}

/* --- kosar / rendeles / belepes dialogus --- */
.checkout-dialog{color:var(--text);background:var(--bg);border:1px solid var(--edge);border-radius:18px;width:min(1040px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 40px);padding:0;box-shadow:0 30px 100px #0009;overflow:auto}
.checkout-dialog[open]{animation:checkout-in .24s ease-out}
.checkout-dialog::backdrop{background:#020710bf;backdrop-filter:blur(7px)}
.checkout-dialog.is-closing{animation:checkout-out .18s ease-in forwards}
.checkout-shell{padding:26px}
.checkout-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.checkout-heading h2{font:500 34px var(--display);margin:0;color:var(--title)}
.checkout-heading button{width:38px;height:38px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font-size:26px;flex-shrink:0;line-height:1}
.checkout-heading button:hover{background:var(--brand);color:#fff}
.cart-items{display:grid;gap:14px}
.cart-row{display:grid;grid-template-columns:75px minmax(0,1fr) max-content max-content auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--edge);border-radius:10px;background:var(--surface)}
.cart-photo{width:75px;height:70px;border-radius:5px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,var(--stage-a),var(--stage-b) 78%);border:1px solid var(--line)}
.cart-photo img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:4px}
.cart-row h3{font:600 19px var(--display);margin:0 0 5px;color:var(--title)}
.cart-row p{font-size:11px;margin:0;color:var(--muted)}
.cart-quantity{display:flex;align-items:center;gap:10px}
.cart-quantity>label{white-space:nowrap;font-size:12px}
.quantity-stepper{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-top:6px;background:var(--surface);width:85px;flex:0 0 85px}
.quantity-stepper input{appearance:textfield;-moz-appearance:textfield;border:0;border-radius:0;margin:0;padding:8px 4px;text-align:center;width:46px;flex:1;min-width:0;background:transparent;color:var(--text)}
.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.quantity-arrows{display:flex;flex-direction:column;width:30px;flex-shrink:0;border-left:1px solid var(--line)}
.quantity-arrows button{display:flex;align-items:center;justify-content:center;flex:1;min-height:22px;padding:0;border:0;background:transparent;color:var(--accent);font-size:11px;line-height:1}
.quantity-arrows button+button{border-top:1px solid var(--line)}
.quantity-arrows button:hover:not(:disabled){background:var(--brand);color:#fff}
.quantity-arrows button:disabled{cursor:default;opacity:.3}
.cart-row>strong{text-align:right;white-space:nowrap;color:var(--accent);font-size:14px}
.cart-row>strong small{display:inline;margin-left:6px;font-size:12px;font-weight:600;color:inherit}
.cart-remove{padding:8px;border:1px solid var(--line);border-radius:5px;background:transparent;color:#ffab70}
.checkout-total{display:flex;justify-content:flex-end;align-items:baseline;flex-wrap:wrap;column-gap:8px;row-gap:6px;border-block:1px solid var(--line);padding:18px 0;margin:22px 0}
.checkout-total>span{margin-right:auto}
.checkout-total>strong{color:var(--accent);font-size:24px;white-space:nowrap}
.checkout-total>small{color:var(--accent);font-size:24px;font-weight:700;white-space:nowrap}
.checkout-total>em{flex-basis:100%;font-style:normal;font-size:12px;color:var(--muted);text-align:right}
.checkout-dialog h3{font:600 25px var(--display);margin:0 0 1em;color:var(--title)}
.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.checkout-dialog label{display:block;font-size:13px;color:var(--text)}
.checkout-dialog input:not([type=checkbox]):not(.quantity-stepper input),.checkout-dialog select{display:block;width:100%;min-width:0;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:11px;margin-top:6px}
.checkout-dialog input[type=date],.checkout-dialog select{min-height:47px}
html[data-theme=dark] .checkout-dialog input,html[data-theme=dark] .checkout-dialog select{color-scheme:dark}
.checkout-dialog textarea{min-height:90px;resize:vertical}
.checkout-dates{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.checkout-dates .quantity-stepper{min-height:47px;width:100%;flex-basis:auto}
.checkout-dates .quantity-stepper input{margin:0;border:0;border-radius:0;min-height:0}
.checkout-save{display:flex;align-items:flex-start;gap:10px;margin-top:22px;cursor:pointer}
.checkout-save input{width:18px;height:18px;accent-color:#b9531c;flex-shrink:0;margin-top:3px}
.checkout-help{font-size:12px;color:var(--muted);margin-top:8px}
.checkout-date-hint{grid-column:1/-1;margin:-6px 0 0;font-size:12px;color:var(--muted)}.checkout-date-hint:empty{display:none}
.checkout-event{margin-top:16px}.checkout-event select{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:5px;padding:12px;font:inherit}
.checkout-delivery{margin-top:14px}.checkout-message{display:block;margin-top:14px}.checkout-message textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:5px;padding:12px;font:inherit;resize:vertical;min-height:72px}
.booking-link{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.booking-link small{color:var(--muted);font-size:12px}
.account-h3{font:700 16px/1.3 var(--body);margin:14px 0 8px;color:var(--title)}.account-bookings{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:6px}.account-bookings li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;font-size:14px}.account-bookings a{color:var(--text);text-decoration:none}.account-bookings a:hover{color:var(--accent)}
.booking-pill{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;border:1px solid var(--line);color:var(--soft);white-space:nowrap}.booking-pill.new{border-color:var(--accent);color:var(--accent)}.booking-pill.confirmed{border-color:#3f9f6a;color:#7fd3a0}.booking-pill.offer{border-color:#c9a23a;color:#f0cf6a}.booking-pill.cancelled{text-decoration:line-through}
/* ugyfel-oldali foglalas-allapot (/foglalas/<kulcs>) */
.booking-page{padding-top:28px}.booking-page .page-heading{padding-bottom:22px}.booking-page .page-heading h1{font-size:clamp(34px,4vw,52px);margin-bottom:12px}
.booking-status{font-size:15px;color:var(--muted);margin:0}.booking-status strong{display:inline-block;padding:4px 12px;border-radius:6px;border:1px solid var(--line);color:var(--text);margin-left:4px}.booking-status.ok strong{border-color:#3f9f6a;color:#7fd3a0}.booking-status.wait strong{border-color:var(--accent);color:var(--accent)}.booking-status.warn strong{border-color:#c9a23a;color:#f0cf6a}.booking-status.off strong{opacity:.7;text-decoration:line-through}
.booking-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:start}.booking-card h2{font:500 26px/1.2 var(--display);margin:0 0 14px;color:var(--title)}.booking-card h3{font:700 15px/1.3 var(--body);margin:18px 0 8px;color:var(--title)}
.booking-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:14px}.booking-kv dt{color:var(--muted)}.booking-kv dd{margin:0;color:var(--text)}
.booking-items{width:100%;border-collapse:collapse;font-size:14px}.booking-items td{padding:7px 0;border-bottom:1px solid var(--line)}.booking-items td.num{text-align:right;white-space:nowrap}.booking-items tr.total td{font-weight:700;color:var(--accent);border-bottom:0}
.booking-log{list-style:none;margin:0;padding:0;display:grid;gap:10px}.booking-log li{display:grid;gap:2px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14px}.booking-log time{font-size:12px;color:var(--muted)}.booking-log span{color:var(--soft);font-size:13px}
.booking-form{display:grid;gap:10px;margin:0 0 14px}.booking-form textarea,.booking-form input[type=text]{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:6px;padding:11px;font:inherit}.booking-form .button{justify-self:start}.button.secondary{background:transparent;border:1px solid var(--edge);color:var(--text)}
.booking-page .flash{padding:12px 14px;border-radius:8px;margin:0 0 16px;border:1px solid var(--line)}.booking-page .flash.ok{border-color:#3f9f6a;color:#7fd3a0}.booking-page .flash.err{border-color:#e0574a;color:#ff8a80}.booking-page .muted{color:var(--muted);font-size:14px}
@media(max-width:900px){.booking-grid{grid-template-columns:1fr}}
.checkout-notice{border:1px solid var(--edge);border-radius:9px;padding:16px;background:var(--surface);font-size:14px;margin:20px 0}
.checkout-buttons{display:flex;justify-content:space-between;gap:12px}
.checkout-status{margin:18px 0 0;font-size:14px;color:var(--accent);overflow-wrap:anywhere}.checkout-status:empty{display:none}
.checkout-status.error{color:#ff8a80}
#login-form,#code-form{max-width:460px;margin-bottom:20px}
#login-form{display:grid;grid-template-columns:1fr 1fr;column-gap:10px}
#login-form>label{grid-column:1/-1}#login-form>label+label{margin-top:12px}
#login-form>.button{width:100%;min-width:0;padding-inline:10px;margin-top:16px}
#code-form>.button{margin-top:16px}
.account-details{overflow-wrap:anywhere;margin-bottom:16px}
.account-details p{margin:0 0 4px}
.account-actions{display:flex;flex-wrap:wrap;gap:10px}
.checkout-success p{margin-bottom:12px}
@keyframes checkout-in{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes checkout-out{to{opacity:0;transform:translateY(15px) scale(.98)}}
@media(max-width:750px){
  .cart-row{grid-template-columns:65px minmax(0,1fr);gap:10px}
  .cart-photo{width:65px;height:65px}
  .cart-quantity{grid-column:1/-1}.cart-quantity .quantity-arrows{width:38px}.cart-quantity .quantity-arrows button{min-height:30px}.cart-row>strong{grid-column:1/-1}.cart-remove{grid-column:1/-1}
  .checkout-fields{grid-template-columns:1fr}.checkout-dates{grid-template-columns:1fr}
  .checkout-shell{padding:18px}.checkout-buttons{flex-direction:column}
  .checkout-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
  .checkout-heading h2{font-size:28px}
  .checkout-total>span{flex-basis:100%}.checkout-total>strong,.checkout-total>small{font-size:clamp(16px,4.5vw,24px)}
}
@media(max-width:420px){#login-form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.checkout-dialog::backdrop,#lightbox::backdrop{backdrop-filter:none}}

/* --- egyeb --- */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;z-index:60;background:var(--surface);color:var(--text);border:1px solid var(--accent);border-radius:8px;padding:12px 18px;font-size:14px;font-weight:600;box-shadow:0 12px 36px #0006;transition:.25s;pointer-events:none;max-width:calc(100% - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.notfound{padding:60px 0 90px;text-align:center}
.notfound h1{font:500 56px var(--display);margin-bottom:10px;color:var(--title)}
.notfound p{color:var(--muted);max-width:520px;margin:0 auto 24px}
/* tema-ikon: sotetben nap, vilagosban hold */
.theme-toggle .moon{display:none}
html[data-theme=light] .theme-toggle .sun{display:none}
html[data-theme=light] .theme-toggle .moon{display:block}
/* megosztas: gomb a FOGLALAS alatt + dialogus csatorna-raccsal */
.detail-actions{display:grid;gap:10px;margin-top:24px}
.detail-actions .detail-contact{margin-top:0}
.share-open{background:transparent;color:var(--accent);border:1px solid var(--edge);box-shadow:none;width:100%;gap:10px}
.share-open svg{fill:currentColor;flex-shrink:0}
.share-open:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.share-intro{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.share-intro>div:last-child{min-width:0}
.share-intro strong{display:block;font:600 22px/1.2 var(--display);color:var(--title)}
.share-intro span{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin-top:4px}
.share-lead{font-size:14px;color:var(--soft);margin:0 0 16px}
.share-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.share-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:14px;font-weight:600;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}
.share-item:hover{border-color:var(--c,var(--edge));transform:translateY(-2px);color:var(--text)}
.share-icon{width:38px;height:38px;border-radius:50%;background:var(--c);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.share-icon svg{width:20px;height:20px;fill:currentColor}
.share-copy{display:flex;gap:10px;margin-top:18px;align-items:stretch}
.share-copy input{flex:1;margin-top:0!important;font-size:13px}
.share-copy .button{padding:10px 18px;white-space:nowrap}
.share-follow{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.share-follow a{color:var(--accent);font-weight:600}
.share-follow a:hover{text-decoration:underline}
@media(max-width:600px){.share-grid{grid-template-columns:repeat(2,1fr)}.share-item{padding:10px;font-size:13px}.share-icon{width:32px;height:32px}.share-icon svg{width:17px;height:17px}.share-copy{flex-wrap:wrap}.share-copy .button{width:100%}}
/* rendezes-valaszto a fejlecben (csak termeklistan) */
.header-inner.has-sort{grid-template-columns:100px minmax(0,640px) auto auto}
.header-sort{display:inline-flex;align-items:center;min-width:0}
.header-sort select{max-width:100%;padding:11px 58px 11px 12px;border:1px solid var(--edge);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px;font-weight:600;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath d='M1 1h12L7 8z' fill='%23fff'/%3E%3C/svg%3E"),linear-gradient(var(--brand),var(--brand));background-position:right 15px center,right top;background-size:14px 9px,44px 100%;background-repeat:no-repeat;cursor:pointer} /* a nyil: narancs sav feher haromszoggel, mint a kereso gombja (Gabor 2026-10-13) */
.header-sort select:hover{border-color:var(--accent)}
html[data-theme=dark] .header-sort select{color-scheme:dark}
@media(max-width:1000px){.header-inner.has-sort{grid-template-columns:85px minmax(0,1fr) auto auto}.header-sort select{padding:10px 52px 10px 10px;font-size:12px;background-size:13px 8px,40px 100%;background-position:right 13px center,right top}}
/* rendezes-valaszto telefonon es kis tableten: a kereso MELLETT, a masodik sorban (Gabor 2026-10-13); a fejlec elso sora azonos a fooldaleval */
@media(max-width:850px){
  .header-inner.has-sort{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
  .header-inner.has-sort .brand{grid-column:1;grid-row:1}
  .header-inner.has-sort .header-actions{grid-column:2/4;grid-row:1;justify-self:end}
  .header-inner.has-sort .header-search{grid-column:1/3;grid-row:2;min-height:42px}
  .header-inner.has-sort .header-sort{grid-column:3;grid-row:2;align-self:stretch}
  .header-inner.has-sort .header-sort select{width:134px;height:100%;min-height:42px;padding:9px 50px 9px 11px;font-size:13px;background-size:13px 8px,40px 100%;background-position:right 13px center,right top}
  .header-inner.has-sort{height:auto;min-height:112px;padding-block:10px}
}
@media(max-width:650px){
  .header-inner.has-sort{gap:8px}
  .header-inner.has-sort .header-actions{gap:5px}
  .header-inner.has-sort .header-sort select{width:126px}
}
@media(max-width:360px){
  .header-inner.has-sort .header-sort select{width:118px;padding-left:8px;font-size:12px}
}
/* kereso: lenyilo talalati lista (fejlec es admin szuro-mezo) 3 karakter utan */
.has-suggest{position:relative}
.header-search.has-suggest{overflow:visible}
.header-search.has-suggest>input{border-radius:8px 0 0 8px}.header-search.has-suggest>button{border-radius:0 8px 8px 0}
.search-suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;max-height:min(70vh,520px);overflow:auto;border:1px solid var(--edge);border-radius:10px;background:var(--surface);box-shadow:0 18px 48px #0009;text-align:left}
.suggest-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);font-size:14px;text-transform:none;font-weight:400}
.suggest-item:hover,.suggest-item.active{background:var(--brand);color:#fff}
.suggest-item:hover .suggest-body span,.suggest-item.active .suggest-body span,.suggest-item:hover .suggest-price,.suggest-item.active .suggest-price{color:#fff9}
.suggest-thumb{width:56px;height:42px;border-radius:5px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,var(--stage-a),var(--stage-b) 78%);border:1px solid var(--line)}
.suggest-thumb img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:2px}
.suggest-body{min-width:0}.suggest-body strong{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggest-body span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.suggest-body .badge{font-size:11px;padding:1px 6px;border-radius:4px;border:1px solid var(--line);margin-left:6px;vertical-align:middle;font-weight:600}
.suggest-price{font-size:13px;font-weight:700;color:var(--price);white-space:nowrap}
.suggest-all{display:block;padding:10px 12px;font-size:13px;font-weight:700;color:var(--accent);text-align:center}
.suggest-all:hover{background:var(--brand);color:#fff}
.suggest-empty{padding:12px 14px;font-size:13px;color:var(--muted)}
@media(max-width:850px){.search-suggest{max-height:60vh}.suggest-item{grid-template-columns:48px minmax(0,1fr) auto;gap:10px;font-size:13px}.suggest-thumb{width:48px;height:36px}}
/* vilagos tema (a referencia "silver" valtozata) kulonbsegei */
html[data-theme=light] .product-card{box-shadow:0 3px 12px #24395808}
html[data-theme=light] .product-card:hover{border-color:var(--accent);box-shadow:0 12px 30px #24395820}
html[data-theme=light] .rental-note,html[data-theme=light] .rental-note a,html[data-theme=light] .detail-links,html[data-theme=light] .album-heading>span{color:var(--muted)}
html[data-theme=light] .detail-main-photo,html[data-theme=light] .album-thumb{background-color:var(--surface);border-color:var(--line)}

html[data-theme=light] .share-open{color:var(--brand)}
html[data-theme=light] .share-open:hover{color:#fff}
.admin-strip{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:6px 16px;background:var(--surface);border-bottom:1px solid var(--edge);font-size:13px;scrollbar-width:thin}
.admin-strip-tag{flex:0 0 auto;font-weight:800;letter-spacing:.08em;color:var(--accent);margin-right:6px}
.admin-strip a{flex:0 0 auto;padding:5px 11px;border:1px solid var(--line);border-radius:6px;color:var(--text);text-decoration:none;white-space:nowrap}
.admin-strip a:hover,.admin-strip a:focus-visible{border-color:var(--accent);color:var(--accent)}
.admin-strip a.primary{background:var(--brand);border-color:var(--brand);color:#fff}
/* adatvedelmi hozzajarulas + beagyazas-kapu */
/* alul kozepen, kompakt */
.consent-box{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:70;width:min(600px,calc(100% - 24px));max-height:calc(100vh - 24px);overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--accent);border-radius:10px;padding:12px 16px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.consent-box h2{margin:0 0 4px;font-size:16px}
.consent-box p{margin:0 0 6px;font-size:12.5px;line-height:1.45;color:var(--muted)}
.consent-box a{color:var(--accent);text-decoration:underline}
.consent-short{margin:0 0 8px;padding-left:18px;font-size:12.5px;line-height:1.4;color:var(--muted)}
.consent-opt{display:flex;gap:8px;align-items:flex-start;margin:0 0 8px;cursor:pointer;font-size:12px;line-height:1.4;color:var(--muted)}
.consent-opt input{width:16px;height:16px;margin-top:2px;flex:none;accent-color:var(--accent)}
.consent-opt strong{display:block;color:var(--text);font-size:13px;margin-bottom:1px}
.consent-actions{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;margin-top:4px}
.consent-actions .button{flex:1 1 0;min-width:0;padding:9px 10px;font-size:11px;white-space:nowrap}
.consent-link{flex:none;background:none;border:0;color:var(--accent);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer;padding:6px 2px}
.consent-box [hidden]{display:none!important}
.footer-privacy{background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
.embed-gate{display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed var(--line);border-radius:8px;background:var(--bg);padding:20px;min-height:200px}
.product-videos .embed-gate{aspect-ratio:16/9;min-height:0}
.contact-map-grid .embed-gate{height:340px}
.embed-gate p{margin:0 0 12px;font-size:14px;line-height:1.5;color:var(--muted);max-width:46ch}
.embed-gate .embed-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.embed-gate .button{padding:11px 16px;font-size:12px}
@media(max-width:600px){.consent-box{bottom:8px;width:calc(100% - 16px);padding:10px 12px}.consent-box p,.consent-short{font-size:12px}.consent-actions .button{padding:9px 6px;font-size:10.5px}.contact-map-grid .embed-gate{height:auto;min-height:220px}}
@media(max-width:360px){.consent-actions{flex-wrap:wrap}.consent-actions .button{flex:1 1 42%;white-space:normal;line-height:1.2}.consent-link{flex:1 1 100%;text-align:center;padding:2px}}
