@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap");
:root{
  --bg:#f6f6f6;
  --text:#141414;
  --muted:#737373;
  --soft:#f3f3f3;
  --line:#d7d7d7;
  --card:#ffffff;
  --accent:#111111;
  --black:#050505;
  --radius:28px;
  --shadow:0 24px 70px rgba(20,20,20,.08);
  --ease:cubic-bezier(.2,.75,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
a{color:inherit}
img{max-width:100%;display:block}

/* Main frontend: close to the current nemesati.hu visual direction */
.front-body{background:#f6f6f6;color:#141414;overflow-x:hidden}
.front-header{position:fixed;left:0;right:0;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:22px clamp(18px,4vw,62px);background:linear-gradient(180deg,rgba(250,249,247,.92),rgba(250,249,247,.70));backdrop-filter:blur(18px);border-bottom:1px solid rgba(231,227,221,.62);transform:translateY(-10px);opacity:0;transition:opacity .55s var(--ease),transform .55s var(--ease)}
.front-header.is-visible{opacity:1;transform:none}
.front-logo{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;line-height:1.05;text-transform:uppercase;letter-spacing:.08em;font-weight:500;min-width:180px}
.front-logo small{font-size:9px;letter-spacing:.26em;color:#777;font-weight:300}.logo-mark{width:38px;height:38px;border:1px solid #141414;display:grid;place-items:center;border-radius:12px;font-size:13px;letter-spacing:-.08em;text-transform:lowercase;font-weight:500;background:#fff}.front-nav{display:flex;align-items:center;justify-content:flex-end;gap:24px}.front-nav a{font-size:11px;text-transform:uppercase;letter-spacing:.18em;text-decoration:none;color:#272727;opacity:.74;font-weight:400;position:relative;transition:opacity .2s var(--ease),transform .2s var(--ease)}.front-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:#111;transform:scaleX(0);transform-origin:left;transition:transform .24s var(--ease)}.front-nav a:hover{opacity:1;transform:translateY(-1px)}.front-nav a:hover::after{transform:scaleX(1)}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;width:42px;height:42px;font-size:18px}
.front-hero{min-height:100vh;position:relative;display:grid;align-items:center;padding:132px clamp(22px,8vw,120px) 82px;background-image:linear-gradient(90deg,rgba(250,249,247,.94) 0%,rgba(250,249,247,.88) 41%,rgba(250,249,247,.22) 100%),var(--hero-image);background-size:cover;background-position:center right;overflow:hidden}.front-hero::before{content:"";position:absolute;inset:auto auto 9% 6%;width:min(46vw,650px);height:min(28vw,330px);border:1px solid rgba(20,20,20,.12);background:rgba(255,255,255,.28);backdrop-filter:blur(2px);z-index:0}.front-hero::after{content:"";position:absolute;right:9%;bottom:9%;width:190px;height:190px;border:1px solid rgba(20,20,20,.18);border-radius:50%;opacity:.35}.hero-content{position:relative;z-index:2;max-width:870px;opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.hero-content.is-visible{opacity:1;transform:none}.kicker,.section-label,.category-label{margin:0 0 16px;color:#777;text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:400}.front-hero h1{margin:0;max-width:900px;font-size:clamp(42px,6.7vw,96px);line-height:.96;letter-spacing:-.075em;font-weight:200}.lead{margin:26px 0 0;max-width:640px;color:#4d4d4d;font-size:clamp(17px,1.45vw,22px);font-weight:300}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #111;border-radius:999px;padding:14px 20px;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:500;cursor:pointer;transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease)}.btn:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(20,20,20,.12)}.btn-dark{background:#050505;color:#fff}.btn-light,.ghost{background:#fff;color:#111;border-color:var(--line)}.ghost{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 16px;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:500;transition:transform .22s var(--ease),box-shadow .22s var(--ease)}.ghost:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(20,20,20,.10)}
.front-section{padding:clamp(72px,9vw,132px) clamp(20px,6vw,90px);opacity:0;transform:translateY(20px);transition:opacity .72s var(--ease),transform .72s var(--ease)}.front-section.is-visible{opacity:1;transform:none}.section-heading{max-width:850px;margin:0 auto 46px;text-align:center}.section-heading h2,.about-text h2,.studio-copy h2,.front-cta h2{margin:0;font-size:clamp(38px,5.2vw,74px);line-height:.98;letter-spacing:-.07em;font-weight:200}.section-heading p:not(.section-label){margin:20px auto 0;max-width:720px;color:#666;font-size:17px}.about-section{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);gap:clamp(30px,6vw,86px);align-items:center;background:#fff}.about-image{position:relative}.about-image::before{content:"";position:absolute;inset:34px -22px -22px 34px;border:1px solid var(--line);z-index:0}.about-image img{position:relative;z-index:1;width:100%;aspect-ratio:1/1;object-fit:cover;filter:saturate(.96);box-shadow:var(--shadow)}.about-text{max-width:760px}.about-text p{color:#555;font-size:17px}.check-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px}.check-list li{position:relative;padding-left:30px;color:#2a2a2a}.check-list li::before{content:"✔";position:absolute;left:0;top:0;color:#111;font-size:14px}.services-section{background:#f5f3ef}.service-group{max-width:1180px;margin:0 auto 42px}.service-group:last-child{margin-bottom:0}.service-group h3{margin:0 0 18px;font-size:clamp(26px,3vw,42px);font-weight:300;letter-spacing:-.05em}.category-label{margin-bottom:6px;color:#777777}.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{background:#fff;border:1px solid rgba(231,227,221,.9);padding:26px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 44px rgba(20,20,20,.045);transition:transform .24s var(--ease),box-shadow .24s var(--ease),border-color .24s var(--ease)}.service-card:hover{transform:translateY(-5px);box-shadow:0 32px 86px rgba(20,20,20,.10);border-color:#d8d0c6}.service-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#898178;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.service-card h4{margin:20px 0 10px;font-size:28px;line-height:1.05;letter-spacing:-.05em;font-weight:300}.service-card p{color:#5f5f5f;margin:0 0 24px}.service-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto}.service-bottom strong{font-size:20px;font-weight:400;letter-spacing:-.03em}.service-bottom a{text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:500;text-decoration:none;border-bottom:1px solid #111;padding-bottom:4px}.studio-section{background:#fff;display:grid;grid-template-columns:.72fr 1.28fr;gap:38px;align-items:start}.studio-copy{position:sticky;top:112px}.studio-copy p:not(.section-label){color:#5b5b5b;font-size:17px}.studio-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-auto-rows:260px;gap:14px}.studio-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.96);transition:transform .35s var(--ease),filter .35s var(--ease)}.studio-grid img:hover{transform:scale(1.015);filter:saturate(1.06)}.studio-grid img:first-child{grid-row:span 2}.portfolio-section{background:#f7f6f3}.masonry{max-width:1220px;margin:0 auto;columns:3 280px;column-gap:14px}.portfolio-item{break-inside:avoid;display:block;margin:0 0 14px;overflow:hidden;background:#ddd}.portfolio-item img{width:100%;height:auto;transition:transform .45s var(--ease),filter .35s var(--ease);filter:saturate(.94)}.portfolio-item:hover img{transform:scale(1.035);filter:saturate(1.05)}.reviews-section{background:#fff}.review-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card{background:#f6f6f6;border:1px solid var(--line);padding:28px;min-height:230px}.review-card p{margin:0 0 26px;font-size:18px;color:#333}.review-card strong{display:block;font-weight:400}.review-card span{display:block;margin-top:4px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#888}.front-cta{margin:0 clamp(20px,6vw,90px) clamp(70px,8vw,110px);padding:clamp(34px,5vw,64px);background:#050505;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px;opacity:0;transform:translateY(20px);transition:opacity .72s var(--ease),transform .72s var(--ease)}.front-cta.is-visible{opacity:1;transform:none}.front-cta p{max-width:720px;color:#d7d7d7}.front-cta .section-label{color:#a8a8a8}.front-footer{padding:44px clamp(20px,6vw,90px);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;background:#f6f6f6;color:#555}.front-footer strong{display:block;color:#111;font-weight:400;text-transform:uppercase;letter-spacing:.12em}.front-footer nav{display:flex;gap:18px;flex-wrap:wrap}.front-footer a{text-decoration:none;color:#555;font-size:12px;text-transform:uppercase;letter-spacing:.16em}.front-footer a:hover{color:#111}

/* Shared app/booking/portal pages */
.site{max-width:1200px;margin:0 auto;padding:28px 20px 56px}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 30px;padding:12px 16px;border:1px solid var(--line);background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-radius:24px;box-shadow:0 16px 44px rgba(20,20,20,.055)}.brand{font-size:12px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;font-weight:500}.nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nav-links a{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:#333;transition:background .2s var(--ease),transform .2s var(--ease)}.nav-links a:hover{background:#f3f3f3;transform:translateY(-1px)}.hero{padding:56px 0 38px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:34px;align-items:center}.hero h1{margin:12px 0 14px;font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.07em;font-weight:200}.hero p{color:#5f5f5f;font-size:17px}.eyebrow{margin:0;color:#777777;text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:500}.card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.soft{background:linear-gradient(135deg,#fff,#f3f3f3)}.muted{color:#767676}.form-grid{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(0,1.05fr);gap:24px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.field{margin-bottom:16px}.field label{display:block;margin:0 0 8px;color:#777777;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:500}.input,select,textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:12px 13px;outline:0;font:inherit;font-size:14px;color:#141414;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}textarea{min-height:118px;resize:vertical}.input:focus,select:focus,textarea:focus{border-color:#9c9c9c;box-shadow:0 0 0 5px rgba(17,17,17,.055);transform:translateY(-1px)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:9px}.slot{border:1px solid var(--line);background:#fff;min-height:44px;border-radius:14px;font-weight:500;cursor:pointer;transition:transform .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease)}.slot:hover{background:#f2f2f2;transform:translateY(-2px)}.slot.active{background:#050505;color:#fff;border-color:#050505;box-shadow:0 18px 36px rgba(20,20,20,.14)}.msg{padding:14px 16px;margin:16px 0;border:1px solid #dedede;background:#f3f3f3;color:#111111;border-radius:17px}.msg.error{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.msg.success,.success{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.hint{display:block;color:#8b8b8b;font-size:12px;margin-top:6px;line-height:1.55}.checkline{display:flex;gap:10px;align-items:flex-start;color:#424242;font-size:14px;margin:10px 0}.rules-text{margin:12px 0 18px;color:#4e4e4e;font-size:14px;line-height:1.8;font-weight:300}.section{padding:56px 0}.service{transition:transform .22s var(--ease),box-shadow .22s var(--ease)}.service:hover{transform:translateY(-4px);box-shadow:0 30px 80px rgba(20,20,20,.09)}.service-top{display:flex;justify-content:space-between;gap:12px}.service h3{font-weight:300;font-size:24px;letter-spacing:-.04em}.service-top span{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:#777;font-size:10px;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.photo{aspect-ratio:4/3;background:#eee;border:1px solid var(--line);border-radius:18px;display:grid;place-items:center;color:#999;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.table-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.table-card table{width:100%;border-collapse:collapse}.table-card th,.table-card td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.table-card th{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#777777;font-weight:500;background:#f3f3f3}.table-card tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:500;background:#f1f1ef;color:#4e4e4e}.badge.green{background:#ecfdf5;color:#047857}.badge.blue{background:#f3f3f3;color:#111111}.badge.violet{background:#f3f3f3;color:#333333}.badge.orange{background:#f3f3f3;color:#444444}.badge.black{background:#111;color:#fff}.badge.red{background:#fef2f2;color:#b91c1c}.badge.muted{background:#f1f1ef;color:#666}.portal-site{max-width:1180px}.portal-login-wrap{min-height:65vh;display:grid;place-items:center}.portal-login-card{max-width:520px;width:100%}.portal-login-card h1,.portal-hero h1{font-weight:200;letter-spacing:-.065em}.portal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.portal-stats div{border:1px solid var(--line);border-radius:20px;padding:14px;background:#fff}.portal-stats span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#777777;font-weight:500}.portal-stats strong{font-size:24px;font-weight:300;letter-spacing:-.04em}.portal-list{display:grid;gap:10px}.portal-list article{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px 16px;transition:transform .18s var(--ease),border-color .18s var(--ease)}.portal-list article:hover{transform:translateY(-2px);border-color:#999999}.portal-list strong{display:block;font-weight:400}.portal-list span{display:block;color:#777;font-size:13px}.portal-list b{font-weight:400;color:#444}.portal-gallery-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-tile{text-decoration:none;color:inherit;display:block}.gallery-tile h2{font-size:30px;font-weight:200;letter-spacing:-.05em;margin:10px 0 8px}.client-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.client-photo{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 18px 55px rgba(20,20,20,.06);transition:transform .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.client-photo:hover{transform:translateY(-3px);border-color:#999999;box-shadow:0 26px 72px rgba(20,20,20,.10)}.client-photo.selected{border-color:#111;box-shadow:0 0 0 3px rgba(17,17,17,.08),0 26px 72px rgba(20,20,20,.10)}.client-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e5e5e5}.client-photo-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px}.client-photo-actions span{font-size:12px;color:#666;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn.small{padding:9px 12px;font-size:9px;letter-spacing:.12em}.gift-card-cta{display:flex;align-items:center;justify-content:space-between;gap:24px}.empty{color:#999;text-align:center;padding:28px!important}
[data-reveal]{will-change:transform,opacity}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:960px){.front-header{align-items:flex-start}.menu-toggle{display:block}.front-nav{position:absolute;left:18px;right:18px;top:78px;display:none;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);padding:18px;border-radius:22px;box-shadow:var(--shadow)}.front-nav.open{display:flex}.front-hero{min-height:auto;padding:126px 22px 70px;background-position:center}.front-hero h1{font-size:48px}.about-section,.studio-section,.hero,.form-grid,.grid2{grid-template-columns:1fr}.service-cards,.review-grid,.grid,.portal-gallery-list,.client-gallery-grid{grid-template-columns:1fr}.studio-copy{position:static}.studio-grid{grid-template-columns:1fr;grid-auto-rows:240px}.studio-grid img:first-child{grid-row:auto}.masonry{columns:2 240px}.front-cta,.front-footer{flex-direction:column;align-items:flex-start}.portal-stats{grid-template-columns:1fr}.table-card{overflow-x:auto}.table-card table{min-width:720px}}
@media(max-width:560px){.front-header{padding:14px 16px}.front-logo{min-width:auto}.front-hero{padding-top:112px}.hero-actions{align-items:stretch;flex-direction:column}.btn{width:100%}.front-section{padding:62px 16px}.service-card{min-height:260px;padding:22px}.masonry{columns:1}.site{padding:18px 14px 42px}.nav{align-items:flex-start;flex-direction:column;border-radius:20px}.slot-grid{grid-template-columns:repeat(2,1fr)}.card{padding:20px;border-radius:22px}.gallery-grid{grid-template-columns:repeat(2,1fr)}}

/* Nemesati frontend refinement: black / white / dark grey only */
:root{--bg:#f6f6f6;--text:#111111;--soft:#eeeeee;--line:#d7d7d7;--card:#ffffff;--accent:#111111;--shadow:0 26px 80px rgba(0,0,0,.08)}
.front-body,.page-body{background:var(--bg);color:var(--text)}
.front-header{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.78));border-bottom:1px solid rgba(215,215,215,.78)}
.front-header.compact{position:sticky;top:0;transform:none;opacity:1}
.front-logo-img{max-height:44px;max-width:132px;object-fit:contain}.front-logo .brand-text,.footer-logo .brand-text{display:inline-block}.front-logo:has(.front-logo-img) .brand-text{display:none}.footer-logo:has(.front-logo-img) .brand-text{display:none}
.logo-mark{border-color:#111;background:#fff;color:#111}.btn-dark{background:#050505;border-color:#050505}.btn-light{background:#fff;border-color:#d7d7d7}.front-hero{background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 40%,rgba(255,255,255,.14) 100%),var(--hero-image)}
.front-body{background:#f6f6f6}.front-nav a{color:#111}.kicker,.section-label,.category-label{color:#6f6f6f}.lead,.section-heading p:not(.section-label),.about-text p,.studio-copy p:not(.section-label),.mini-hero p:not(.section-label){color:#4f4f4f}.about-section,.studio-section,.reviews-section{background:#fff}.services-section,.portfolio-section{background:#eeeeee}.service-card,.review-card,.card,.nav{background:#fff;border-color:#d7d7d7}.service-card:hover{border-color:#a8a8a8}.service-cover{width:100%;aspect-ratio:4/3;object-fit:cover;margin:-10px -10px 18px;width:calc(100% + 20px);max-width:calc(100% + 20px);filter:grayscale(.04) saturate(.92)}.featured-cards{max-width:1180px;margin:0 auto}.center-actions{display:flex;justify-content:center;margin-top:34px}.package-list{margin:16px 0 24px;padding:0;list-style:none;color:#343434}.package-list li{position:relative;padding-left:20px;margin:7px 0}.package-list li:before{content:"–";position:absolute;left:0;color:#555}.page-main{padding-top:0}.mini-hero{padding:118px clamp(20px,7vw,110px) 54px;max-width:1260px;margin:0 auto}.mini-hero h1{margin:0;font-size:clamp(44px,7vw,96px);line-height:.96;letter-spacing:-.075em;font-weight:200}.narrow-page{max-width:1120px}.two-cols{grid-template-columns:1fr 1fr}.booking-card{margin-bottom:70px}.package-page .front-section{padding-top:48px}.package-group:nth-of-type(even){background:#fff}.package-card{min-height:360px}.rich-footer{display:grid;grid-template-columns:1.2fr .7fr .9fr;align-items:start;background:#f6f6f6}.rich-footer h4{margin:0 0 14px;color:#111;font-weight:400;letter-spacing:.14em;text-transform:uppercase;font-size:12px}.footer-logo{display:flex;align-items:center;gap:12px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:12px;line-height:1.1}.footer-logo img{max-height:54px;max-width:150px}.footer-brand p,.rich-footer p{max-width:310px;color:#555}.footer-cta{display:inline-flex;margin-top:8px;text-decoration:none;border-bottom:1px solid #111;padding-bottom:4px;color:#111}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;margin-top:22px;color:#666;font-size:12px}.footer-bottom a{margin-right:12px}.soft{background:linear-gradient(135deg,#fff,#efefef)}.slot:hover{background:#f2f2f2}.slot.active{background:#050505;color:#fff}.msg.success{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.table-card th{background:#f5f5f5;color:#666}.badge.orange{background:#f3f3f3;color:#222}.portal-list article:hover,.client-photo:hover{border-color:#999}.client-photo.selected{border-color:#111;box-shadow:0 0 0 3px rgba(17,17,17,.08),0 26px 72px rgba(20,20,20,.10)}
@media(max-width:960px){.rich-footer{grid-template-columns:1fr}.mini-hero{padding-top:86px}.two-cols{grid-template-columns:1fr}.front-logo:has(.front-logo-img) .brand-text{display:inline-block}.footer-bottom{display:grid}.service-cover{margin:-4px -4px 16px;width:calc(100% + 8px);max-width:calc(100% + 8px)}}


/* 2026-05 mobile/hero correction pack */
.front-hero-split{
  min-height:100svh;
  padding:clamp(96px,12vw,150px) clamp(16px,6vw,90px) clamp(46px,7vw,90px);
  background:linear-gradient(180deg,#fff 0%,#f7f7f7 100%)!important;
  display:block;
  overflow:hidden;
}
.front-hero-split::before,.front-hero-split::after{display:none!important;content:none!important}
.hero-layout{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.86fr);gap:clamp(28px,6vw,84px);align-items:center}
.front-hero-split .hero-content{max-width:760px}.front-hero-split h1{font-size:clamp(42px,6.4vw,92px)}
.hero-media{position:relative;margin:0;border-radius:0;isolation:isolate}.hero-media::before{content:"";position:absolute;inset:26px -18px -18px 26px;background:#151515;z-index:-1}.hero-media img{width:100%;height:min(68svh,760px);min-height:420px;object-fit:cover;filter:grayscale(.03) contrast(1.02);box-shadow:0 30px 90px rgba(0,0,0,.14)}
.hero-media.is-visible{animation:photoLift .78s var(--ease) both}.hero-content.is-visible{animation:textLift .68s var(--ease) both}@keyframes photoLift{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}@keyframes textLift{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.front-logo-img{max-height:42px;max-width:164px;width:auto;height:auto;object-fit:contain}.front-logo:has(.front-logo-img){min-width:auto}.front-logo:has(.front-logo-img) .brand-text{display:none!important}
.front-mobile-bar{display:none}
@media(max-width:980px){
  .front-header{padding:14px 16px!important;background:rgba(255,255,255,.94)!important}.front-nav{top:66px!important}.front-hero-split{min-height:auto;padding:94px 16px 46px}.hero-layout{grid-template-columns:1fr;gap:30px}.hero-media{order:-1}.hero-media::before{inset:14px -8px -8px 14px}.hero-media img{height:48svh;min-height:280px}.front-hero-split .hero-content{max-width:none}.front-hero-split h1{font-size:clamp(36px,12vw,54px)}.lead{font-size:16px}.hero-actions .btn{width:100%;min-height:48px}.service-cards{grid-template-columns:1fr!important}.front-footer{padding-bottom:96px!important}.front-body,.page-body{padding-bottom:72px}.front-mobile-bar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:70;display:grid;grid-template-columns:1fr 1fr 1.15fr 1fr;gap:6px;padding:8px;border:1px solid rgba(0,0,0,.12);border-radius:22px;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);box-shadow:0 18px 50px rgba(0,0,0,.18)}.front-mobile-bar a{display:flex;align-items:center;justify-content:center;min-height:42px;text-decoration:none;border-radius:16px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#222}.front-mobile-bar .mobile-primary{background:#050505;color:#fff}.mini-hero{padding:82px 16px 34px}.booking-card{margin-bottom:96px}.table-card table{min-width:0!important}.table-card thead{display:none}.table-card tbody,.table-card tr,.table-card td{display:block;width:100%}.table-card tr{padding:10px;border-bottom:1px solid var(--line)}.table-card td{border:0!important;padding:8px 10px!important}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.slot{min-height:46px}.gallery-grid,.client-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.portal-list article{align-items:flex-start;flex-direction:column}.gift-card-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){.front-logo-img{max-width:128px;max-height:36px}.hero-media img{height:42svh;min-height:250px}.hero-media::before{inset:10px -6px -6px 10px}.front-section{padding-left:14px!important;padding-right:14px!important}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gallery-grid,.client-gallery-grid{grid-template-columns:1fr!important}.card{border-radius:20px}.mini-hero h1{font-size:42px}.front-mobile-bar{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));border-radius:18px}.front-mobile-bar a{min-height:40px;font-size:9px}}

/* 2026-05 client portal/gallery unified header cleanup */
.portal-page{background:#f6f6f6!important;color:#111!important;min-height:100svh}.portal-front-header{position:sticky!important;top:0!important;transform:none!important;opacity:1!important;background:rgba(255,255,255,.94)!important;border-bottom:1px solid rgba(215,215,215,.78)!important}.portal-main{padding-top:34px!important}.portal-footer{margin-top:70px}.portal-login-wrap{min-height:calc(100svh - 220px)}.portal-page .front-logo-img{max-height:42px;max-width:164px;object-fit:contain}.portal-page .front-logo:has(.front-logo-img) .brand-text{display:none!important}.portal-page .client-gallery-grid{align-items:start}.portal-page .client-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.portal-page .section{padding-top:34px}@media(max-width:960px){.portal-front-header .front-nav{top:66px!important}.portal-main{padding:18px 14px 96px!important}.portal-footer{padding-bottom:96px!important}.portal-page .client-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:560px){.portal-page .client-gallery-grid{grid-template-columns:1fr!important}.portal-page .front-logo-img{max-width:128px;max-height:36px}.portal-login-card h1{font-size:40px;line-height:1;letter-spacing:-.06em}}

/* 2026-05 portal/gallery protection + square visual correction */
body.portal-page .card,
body.portal-page .soft,
body.portal-page .btn,
body.portal-page .ghost,
body.portal-page .input,
body.portal-page select,
body.portal-page textarea,
body.portal-page .msg,
body.portal-page .badge,
body.portal-page .front-header,
body.portal-page .front-nav,
body.portal-page .front-mobile-bar,
body.portal-page .front-mobile-bar a,
body.portal-page .front-footer,
body.portal-page .portal-stats div,
body.portal-page .portal-list article,
body.portal-page .gallery-tile,
body.portal-page .client-photo,
body.portal-page .photo-lock,
body.gallery-page .card,
body.gallery-page .soft,
body.gallery-page .btn,
body.gallery-page .ghost,
body.gallery-page .input,
body.gallery-page select,
body.gallery-page textarea,
body.gallery-page .msg,
body.gallery-page .badge,
body.gallery-page .front-header,
body.gallery-page .front-nav,
body.gallery-page .front-mobile-bar,
body.gallery-page .front-mobile-bar a,
body.gallery-page .front-footer,
body.gallery-page .client-photo,
body.gallery-page .photo-lock{border-radius:0!important}
.protected-gallery-wrap{user-select:none;-webkit-user-select:none}.gallery-protection-note{border:1px solid var(--line);background:#f6f6f6;padding:12px 14px;margin:18px 0 8px;color:#555;font-size:12px;line-height:1.55;text-transform:none}.photo-lock{position:relative;overflow:hidden;background:#000}.protected-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;pointer-events:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}.protected-photo .photo-lock::after{content:"NEMES ATI PHOTOGRAPHY";position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.24);font-size:clamp(12px,2.8vw,28px);letter-spacing:.32em;text-align:center;pointer-events:none;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.35);mix-blend-mode:screen}.screen-guard .protected-photo .photo-lock::before{content:"";position:absolute;inset:0;background:#000;z-index:5}.screen-guard .protected-photo .photo-lock::after{z-index:6;color:#000;background:#000}.retouched-section{border-top:1px solid var(--line);margin-top:34px}.retouched-photo .photo-lock::after{content:"RETUSÁLT ÁTADÁS"}.retouched-photo .btn[download]{pointer-events:auto}.protected-gallery a[download]{position:relative;z-index:10}@media print{.protected-photo img{visibility:hidden!important}.protected-photo .photo-lock{background:#000!important}.protected-photo .photo-lock::before{content:"";position:absolute;inset:0;background:#000!important;z-index:20}.protected-photo .photo-lock::after{content:""!important;background:#000!important;z-index:21}}
@media(max-width:760px){body.portal-page .portal-gallery-list,body.portal-page .client-gallery-grid,body.gallery-page .client-gallery-grid{grid-template-columns:1fr!important}.gallery-protection-note{font-size:11px}.protected-photo .photo-lock::after{font-size:11px;letter-spacing:.18em}.client-photo-actions{align-items:flex-start;flex-direction:column}.client-photo-actions .btn,.client-photo-actions form{width:100%}.client-photo-actions .btn{justify-content:center}}


/* 2026-05-31 gallery selection UI: no heavy frames, pastel status states */
body.gallery-page .gallery-protection-note,
body.portal-page .gallery-protection-note{
  border:0!important;
  background:#f1f1ef!important;
  color:#5d5d5d!important;
  box-shadow:none!important;
}
body.gallery-page .client-gallery-grid,
body.portal-page .client-gallery-grid{
  gap:18px!important;
}
body.gallery-page .client-photo,
body.portal-page .client-photo{
  position:relative!important;
  border:0!important;
  outline:0!important;
  background:#f7f7f5!important;
  box-shadow:0 12px 34px rgba(15,15,15,.055)!important;
  transform:none!important;
}
body.gallery-page .client-photo:not(.selected),
body.portal-page .client-photo:not(.selected){
  background:#f5f5f3!important;
}
body.gallery-page .client-photo:not(.selected) .photo-lock img,
body.portal-page .client-photo:not(.selected) .photo-lock img{
  filter:saturate(.82) contrast(.96) brightness(.98)!important;
}
body.gallery-page .client-photo.selected,
body.portal-page .client-photo.selected{
  background:#edf7f1!important;
  box-shadow:0 16px 46px rgba(67,125,94,.13)!important;
}
body.gallery-page .client-photo.selected::before,
body.portal-page .client-photo.selected::before{
  content:"Kiválasztva";
  position:absolute;
  z-index:8;
  top:10px;
  left:10px;
  padding:7px 10px;
  background:rgba(224,246,233,.94);
  color:#2f6f4f;
  font-size:9px;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:500;
  box-shadow:0 10px 24px rgba(48,104,73,.10);
}
body.gallery-page .client-photo:not(.selected)::before,
body.portal-page .client-photo:not(.selected)::before{
  content:"Választható";
  position:absolute;
  z-index:8;
  top:10px;
  left:10px;
  padding:7px 10px;
  background:rgba(244,244,241,.92);
  color:#77736b;
  font-size:9px;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:500;
}
body.gallery-page .photo-lock,
body.portal-page .photo-lock{
  background:#111!important;
  box-shadow:none!important;
}
body.gallery-page .client-photo:hover,
body.portal-page .client-photo:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 48px rgba(15,15,15,.085)!important;
}
body.gallery-page .client-photo.selected:hover,
body.portal-page .client-photo.selected:hover{
  box-shadow:0 18px 52px rgba(67,125,94,.16)!important;
}
body.gallery-page .client-photo-actions,
body.portal-page .client-photo-actions{
  background:#f7f7f5!important;
  border-top:0!important;
  padding:13px 13px 14px!important;
}
body.gallery-page .client-photo.selected .client-photo-actions,
body.portal-page .client-photo.selected .client-photo-actions{
  background:#edf7f1!important;
}
body.gallery-page .client-photo-actions span,
body.portal-page .client-photo-actions span{
  color:#5c5c58!important;
}
body.gallery-page .client-photo .btn.small,
body.portal-page .client-photo .btn.small{
  border:0!important;
  background:#ebebe6!important;
  color:#4f4f49!important;
  box-shadow:none!important;
}
body.gallery-page .client-photo.selected .btn.small,
body.portal-page .client-photo.selected .btn.small{
  background:#dff3e7!important;
  color:#276343!important;
}
body.gallery-page .retouched-photo,
body.portal-page .retouched-photo{
  background:#edf3f7!important;
  box-shadow:0 14px 40px rgba(66,95,120,.12)!important;
}
body.gallery-page .retouched-photo .client-photo-actions,
body.portal-page .retouched-photo .client-photo-actions{
  background:#edf3f7!important;
}
body.gallery-page .retouched-photo::before,
body.portal-page .retouched-photo::before{
  content:"Retusált"!important;
  background:rgba(226,240,248,.94)!important;
  color:#3b647f!important;
}
body.gallery-page .retouched-section{
  border-top:0!important;
  background:#f4f6f7!important;
  padding:34px 18px!important;
  margin-top:46px!important;
}
body.gallery-page .protected-photo .photo-lock::after,
body.portal-page .protected-photo .photo-lock::after{
  color:rgba(255,255,255,.20)!important;
  font-weight:300!important;
}
@media(max-width:760px){
  body.gallery-page .client-gallery-grid,
  body.portal-page .client-gallery-grid{gap:14px!important}
  body.gallery-page .client-photo::before,
  body.portal-page .client-photo::before{top:8px;left:8px;font-size:8px;padding:6px 8px}
}


/* 2026-05 unified mobile navigation + clean 404 */
.menu-toggle{display:none!important}
.notfound-hero{min-height:calc(100svh - 180px);display:flex;flex-direction:column;justify-content:center;padding:130px clamp(20px,7vw,100px) 70px;max-width:980px;margin:0 auto;text-align:left}
.notfound-hero h1{margin:0;font-size:clamp(44px,8vw,96px);line-height:.96;letter-spacing:-.075em;font-weight:200}.notfound-hero p:not(.section-label){max-width:620px;color:#666;font-size:18px}
@media(max-width:960px){.front-header{align-items:center!important}.front-nav{display:none!important}.front-nav.open{display:none!important}.front-mobile-bar{display:grid!important}.front-logo{min-width:auto}.front-logo .brand-text{display:none}.front-header{justify-content:center!important}.notfound-hero{padding-top:104px;padding-bottom:110px}.notfound-hero .hero-actions .btn{width:100%}}
@media(min-width:961px){.front-mobile-bar{display:none!important}.front-nav{display:flex!important}}

/* 2026-05-31 event shop + cookie polish */
.front-mobile-bar{grid-template-columns:repeat(5,1fr)!important}.events-page .mini-hero,.event-hero{text-align:center;max-width:920px;margin:0 auto}.lead.centered{text-align:center;margin-left:auto;margin-right:auto}.event-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;max-width:1400px;margin:0 auto}.event-card{background:#fff;border:1px solid #ececec;box-shadow:0 20px 60px rgba(0,0,0,.045);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.event-card:hover{transform:translateY(-3px);box-shadow:0 30px 84px rgba(0,0,0,.075)}.event-cover{position:relative;display:block;aspect-ratio:4/3;background:#eee;overflow:hidden;text-decoration:none}.event-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease),filter .35s var(--ease)}.event-card:hover .event-cover img{transform:scale(1.025);filter:contrast(1.03)}.event-year{position:absolute;right:0;top:0;background:#fff;padding:13px 16px;font-size:10px;font-weight:600;letter-spacing:.08em}.event-card-body{padding:26px 26px 24px}.event-card-body time{display:block;color:#1662ff;font-size:10px;font-weight:600;letter-spacing:.18em;margin-bottom:12px}.event-card-body h2{margin:0 0 16px;font-size:23px;line-height:1.05;letter-spacing:-.04em;text-transform:uppercase;font-weight:500}.event-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.event-meta a{color:#1662ff;text-decoration:none;border-bottom:1px solid #1662ff}.placeholder-cover{height:100%;display:grid;place-items:center;color:#999;text-transform:uppercase;letter-spacing:.18em}.album-head{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:48px;align-items:end;padding:180px clamp(20px,6vw,90px) 56px;border-bottom:1px solid #e8e8e8}.breadcrumbs{font-size:11px;color:#9aa1ad;text-transform:uppercase;letter-spacing:.24em}.breadcrumbs a{text-decoration:none}.album-head h1{margin:0;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.07em;font-weight:260;text-transform:uppercase}.album-head h1 em{font-style:italic;color:#1662ff;font-size:.72em;font-weight:300}.price-box{background:#fff;border:1px solid #e8e8e8;padding:28px}.price-box h3{margin:0 0 18px;font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:#98a1ad}.price-box dl{display:grid;gap:10px;margin:0 0 22px}.price-box div{display:grid}.price-box dt,.price-box dd{margin:0}.price-box dl{grid-template-columns:1fr auto}.price-box dt{color:#6b7280;font-size:13px}.price-box dd{font-weight:700}.price-box dd:nth-of-type(2){color:#1662ff}.price-box dd:nth-of-type(4){color:#0ca54d}.event-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:56px clamp(16px,6vw,90px)}.event-photo-card{background:#fff;border:0;box-shadow:none}.event-photo-lock{position:relative;overflow:hidden;background:#111}.event-photo-lock img{width:100%;aspect-ratio:4/3;object-fit:cover;user-select:none;-webkit-user-drag:none;pointer-events:none}.event-photo-lock::after{content:"NEMES ATI";position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.20);font-size:clamp(18px,3vw,52px);font-weight:300;letter-spacing:.16em;text-transform:uppercase;mix-blend-mode:screen}.event-photo-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 0}.event-photo-actions span{font-size:10px;color:#8792a2}.event-photo-card.selected .event-photo-lock{outline:0;background:#eaf6ef}.event-photo-card.selected .ghost{background:#edf7f1;border-color:#cfe9da;color:#0f6b3a}.page-pad{padding:150px clamp(18px,7vw,110px) 80px}.cart-page.two-cols{display:grid;grid-template-columns:minmax(0,1.4fr) 430px;gap:60px;align-items:start}.cart-row{display:grid;grid-template-columns:94px minmax(0,1fr) auto 30px;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid #e8e8e8}.cart-row img{width:94px;height:76px;object-fit:cover;filter:grayscale(.2)}.cart-row strong{display:block;text-transform:uppercase;letter-spacing:.02em}.cart-row small{display:block;color:#8a93a3}.cart-remove{text-decoration:none;color:#a0a7b3;font-size:22px}.cart-summary{background:#f2f2f2;padding:42px}.cart-summary h2{font-size:14px;text-transform:uppercase;letter-spacing:.22em;margin:0 0 28px}.summary-line,.summary-total{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ddd;padding:16px 0}.summary-total{font-size:23px;text-transform:uppercase}.summary-total strong{color:#1662ff}.stack-form{display:grid;gap:16px;margin-top:28px}.stack-form label{display:grid;gap:6px;color:#8a93a3;font-size:13px}.stack-form input,.stack-form textarea{width:100%;border:0;border-bottom:1px solid #d4d7dd;background:transparent;padding:12px 0;font:inherit;color:#111}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.thanks-page{text-align:center;max-width:920px;margin:0 auto}.ok-mark{width:84px;height:84px;border-radius:50%;margin:0 auto 28px;background:#eaf9ef;color:#1fac5a;display:grid;place-items:center;font-size:34px}.thanks-page h1{font-size:clamp(38px,5vw,68px);font-weight:260;letter-spacing:-.06em;margin:0}.payment-box{text-align:left;background:#fff;border:1px solid #e8e8e8;padding:38px;margin:50px auto 0;max-width:760px}.payment-box h2{font-size:12px;text-transform:uppercase;letter-spacing:.22em;color:#1662ff;border-bottom:1px solid #e8e8e8;padding-bottom:18px;margin:0 0 24px}.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.pay-grid small{display:block;text-transform:uppercase;color:#98a1ad;font-size:10px;letter-spacing:.12em}.pay-grid strong{display:block;margin-top:5px}.or{font-style:italic;color:#6b7280;font-size:22px;margin:26px 0}.fine-print{color:#7b8492;font-size:12px;margin:28px 0 0}.empty-public{max-width:720px;margin:0 auto;padding:40px;background:#fff;border:1px solid #e8e8e8;text-align:center;color:#6b7280}.cookie-bar{position:fixed;left:18px;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:120;display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:980px;margin:0 auto;padding:16px 18px;background:rgba(17,17,17,.94);color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.24);backdrop-filter:blur(18px)}.cookie-bar[hidden]{display:none!important}.cookie-bar strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:3px}.cookie-bar p{margin:0;color:#d8d8d8;font-size:13px;line-height:1.5}.cookie-ok{border:1px solid rgba(255,255,255,.22);background:#fff;color:#111;padding:11px 16px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:600;white-space:nowrap;cursor:pointer}
@media(max-width:1100px){.event-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.album-head,.cart-page.two-cols{grid-template-columns:1fr}.price-box{max-width:430px}}
@media(max-width:720px){.event-card-grid{grid-template-columns:1fr}.event-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:34px 12px}.album-head{padding:112px 16px 34px;gap:26px}.album-head h1{font-size:42px}.price-box{padding:20px}.cart-row{grid-template-columns:74px minmax(0,1fr) auto;gap:14px}.cart-row img{width:74px;height:58px}.cart-remove{grid-column:3}.cart-summary{padding:28px 20px}.form-pair,.pay-grid{grid-template-columns:1fr}.page-pad{padding:104px 16px 80px}.cookie-bar{left:10px;right:10px;bottom:calc(80px + env(safe-area-inset-bottom));display:grid}.cookie-ok{width:100%}}
.review-request-card{margin:18px 0;border:1px solid #e5e7eb;background:#fafafa}.review-request-form textarea{min-height:110px}.review-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.review-actions form{margin:0}.reviews-section .review-card span.rating{display:block;color:#111;font-size:12px;letter-spacing:.08em;margin-top:8px}.portfolio-section .masonry img,.studio-grid img{background:#f4f4f4}
/* lightbox + admin-controlled media galleries */
.studio-grid a.studio-item{display:block;width:100%;height:100%;overflow:hidden;background:#f4f4f4}
.studio-grid a.studio-item img{width:100%;height:100%;object-fit:cover;display:block}
.front-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(5,5,5,.92);display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,46px);cursor:zoom-out}
.front-lightbox img{max-width:min(96vw,1500px);max-height:92vh;width:auto;height:auto;object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.front-lightbox-close{position:fixed;right:22px;top:18px;width:44px;height:44px;border:0;background:#fff;color:#111;font-size:32px;line-height:1;cursor:pointer;border-radius:0}
body.lightbox-open{overflow:hidden}
@media(max-width:560px){.front-lightbox{padding:12px}.front-lightbox-close{right:12px;top:12px;width:42px;height:42px}.front-lightbox img{max-width:100%;max-height:88vh}}

/* 2026-05-31 hero background + compact square studio gallery */
.front-hero.front-hero-background{
  min-height:100svh;
  display:flex;
  align-items:center;
  padding:150px clamp(20px,8vw,118px) 92px;
  background-image:linear-gradient(90deg,rgba(246,246,246,.96) 0%,rgba(246,246,246,.82) 44%,rgba(246,246,246,.20) 100%),var(--hero-image)!important;
  background-size:cover!important;
  background-position:center right!important;
  background-repeat:no-repeat!important;
}
.front-hero.front-hero-background::before,
.front-hero.front-hero-background::after{display:none!important}
.hero-bg-content{position:relative;z-index:2;max-width:860px;opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.hero-bg-content.is-visible{opacity:1;transform:none}
.front-hero-background h1{margin:0;max-width:900px;font-size:clamp(42px,6.7vw,96px);line-height:.96;letter-spacing:-.075em;font-weight:200}

.studio-section{grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr)!important;gap:clamp(28px,5vw,70px)!important}
.studio-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  gap:12px!important;
  align-content:start;
}
.studio-grid a.studio-item{aspect-ratio:1/1!important;height:auto!important;background:#ededed;overflow:hidden}
.studio-grid a.studio-item:first-child{grid-row:auto!important}
.studio-grid a.studio-item img,.studio-grid img{width:100%!important;height:100%!important;aspect-ratio:1/1!important;object-fit:cover!important}
.studio-grid a.studio-item:hover img{transform:scale(1.025);filter:saturate(1.04)}

@media(max-width:960px){
  .front-hero.front-hero-background{min-height:86svh;padding:122px 18px 110px;background-image:linear-gradient(180deg,rgba(246,246,246,.94) 0%,rgba(246,246,246,.78) 50%,rgba(246,246,246,.34) 100%),var(--hero-image)!important;background-position:center top!important}
  .studio-section{grid-template-columns:1fr!important}
  .studio-copy{position:static!important}
  .studio-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
}
@media(max-width:560px){
  .studio-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .front-hero-background h1{font-size:clamp(39px,12vw,58px)}
}

/* 2026-05-31 studio gallery smaller thumbs */
.studio-section{
  grid-template-columns:minmax(260px,.8fr) minmax(280px,1fr)!important;
  align-items:start!important;
}
.studio-grid{
  grid-template-columns:repeat(2, minmax(0, 185px))!important;
  gap:10px!important;
  max-width:380px!important;
  width:100%!important;
  justify-content:start!important;
  justify-self:start!important;
}
.studio-grid a.studio-item{
  width:100%!important;
  max-width:185px!important;
  aspect-ratio:1/1!important;
}
.studio-grid a.studio-item img,
.studio-grid img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
}
@media(max-width:960px){
  .studio-grid{
    grid-template-columns:repeat(2, minmax(0, 150px))!important;
    max-width:310px!important;
    gap:8px!important;
  }
  .studio-grid a.studio-item{max-width:150px!important}
}
@media(max-width:420px){
  .studio-grid{
    grid-template-columns:repeat(2, minmax(0, 44vw))!important;
    max-width:100%!important;
    justify-content:center!important;
  }
  .studio-grid a.studio-item{max-width:none!important}
}

/* 2026-05-31 studio gallery: compact 4 columns / 2 rows */
.studio-section{
  grid-template-columns:minmax(260px,.55fr) minmax(620px,1fr)!important;
}
.studio-grid{
  grid-template-columns:repeat(4, minmax(0, 185px))!important;
  max-width:770px!important;
  gap:10px!important;
  justify-content:start!important;
}
.studio-grid a.studio-item{
  max-width:185px!important;
}
@media(max-width:960px){
  .studio-section{grid-template-columns:1fr!important}
  .studio-grid{
    grid-template-columns:repeat(4, minmax(0, 150px))!important;
    max-width:630px!important;
  }
  .studio-grid a.studio-item{max-width:150px!important}
}
@media(max-width:680px){
  .studio-grid{
    grid-template-columns:repeat(2, minmax(0, 44vw))!important;
    max-width:100%!important;
    justify-content:center!important;
  }
  .studio-grid a.studio-item{max-width:none!important}
}

/* 2026-05-31 studio section alignment: centered 4x2 grid */
.studio-section{
  display:grid!important;
  grid-template-columns:minmax(280px,420px) minmax(0,770px)!important;
  gap:clamp(34px,5vw,72px)!important;
  justify-content:center!important;
  align-items:center!important;
  padding-left:clamp(24px,5vw,80px)!important;
  padding-right:clamp(24px,5vw,80px)!important;
}
.studio-copy{
  max-width:420px!important;
  justify-self:end!important;
}
.studio-grid{
  display:grid!important;
  grid-template-columns:repeat(4, minmax(0, 185px))!important;
  max-width:770px!important;
  width:100%!important;
  gap:10px!important;
  justify-content:start!important;
  justify-self:start!important;
}
.studio-grid a.studio-item{
  max-width:185px!important;
  width:100%!important;
  aspect-ratio:1/1!important;
}
@media(max-width:1180px){
  .studio-section{
    grid-template-columns:minmax(240px,360px) minmax(0,630px)!important;
    gap:34px!important;
  }
  .studio-grid{
    grid-template-columns:repeat(4, minmax(0, 150px))!important;
    max-width:630px!important;
  }
  .studio-grid a.studio-item{max-width:150px!important}
}
@media(max-width:960px){
  .studio-section{
    grid-template-columns:1fr!important;
    justify-content:center!important;
    align-items:start!important;
  }
  .studio-copy{
    max-width:720px!important;
    justify-self:center!important;
    text-align:left!important;
  }
  .studio-grid{
    grid-template-columns:repeat(4, minmax(0, 150px))!important;
    max-width:630px!important;
    justify-self:center!important;
    justify-content:center!important;
  }
}
@media(max-width:680px){
  .studio-grid{
    grid-template-columns:repeat(2, minmax(0, 44vw))!important;
    max-width:100%!important;
    gap:8px!important;
  }
  .studio-grid a.studio-item{max-width:none!important}
}

/* Montserrat global typography override */
html,body,input,button,select,textarea,a,span,small,strong,b,label,table,th,td,p,h1,h2,h3,h4,h5,h6{font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif !important;}
body{font-weight:300;}
h1,h2,h3,.top h1,.front-hero h1,.section-heading h2,.about-text h2,.studio-copy h2,.front-cta h2{font-weight:300 !important;letter-spacing:-.055em;}
.kicker,.section-label,.category-label,.card-title,.stat .label,.nav-group,.side-link,.front-nav a{font-weight:500 !important;}


/* Frontend vélemények – rendezett slider, fix kártyamagasság, modal hosszú szöveghez */
.reviews-section{background:#fff;overflow:hidden;}
.reviews-section .section-heading{margin-bottom:34px;}
.review-slider-shell{position:relative;max-width:1180px;margin:0 auto;padding:0 52px;}
.review-slider{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 0 14px;}
.review-slider::-webkit-scrollbar{display:none;}
.review-slide{flex:0 0 calc((100% - 36px) / 3);scroll-snap-align:start;}
.review-card{background:#fff;border:1px solid #dedede;box-shadow:none;padding:26px 26px 22px;height:318px;min-height:318px;max-height:318px;display:flex;flex-direction:column;border-radius:0;overflow:hidden;}
.review-stars{color:#111;font-size:13px;letter-spacing:.22em;line-height:1;margin-bottom:18px;white-space:nowrap;}
.review-text{margin:0;color:#2f2f2f;font-size:16px;line-height:1.68;letter-spacing:-.01em;}
.review-text.is-clamped{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;min-height:134px;max-height:134px;}
.review-more{align-self:flex-start;margin:12px 0 0;border:0;background:transparent;color:#111;padding:0 0 4px;border-bottom:1px solid #111;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:500;cursor:pointer;border-radius:0;}
.review-person{margin-top:auto;padding-top:18px;}
.review-person strong,.review-card strong{display:block;font-weight:500;color:#111;font-size:15px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.review-person span,.review-card span{display:block;margin-top:6px;color:#8b8b8b;text-transform:uppercase;letter-spacing:.18em;font-size:10px;white-space:nowrap;}
.review-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #d8d8d8;background:#fff;color:#111;font-size:26px;line-height:1;cursor:pointer;z-index:2;border-radius:0;transition:background .18s ease,color .18s ease,border-color .18s ease;}
.review-nav:hover{background:#111;color:#fff;border-color:#111;}
.review-prev{left:0;}.review-next{right:0;}.review-grid{display:none;}
.review-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;}
.review-modal.open{display:flex;}
.review-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.46);}
.review-modal-card{position:relative;width:min(720px,calc(100vw - 42px));max-height:min(76vh,720px);overflow:auto;background:#fff;border:1px solid #d9d9d9;padding:34px 34px 30px;box-shadow:0 30px 90px rgba(0,0,0,.22);border-radius:0;}
.review-modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#111;border-radius:0;}
.review-modal-stars{font-size:14px;letter-spacing:.22em;margin-bottom:22px;color:#111;}
.review-modal-text{font-size:18px;line-height:1.78;color:#2f2f2f;margin:0 0 24px;}
.review-modal-name{display:block;font-weight:500;color:#111;margin-top:18px;}
.review-modal-label{display:block;margin-top:6px;color:#8b8b8b;text-transform:uppercase;letter-spacing:.18em;font-size:10px;}
html.modal-open,html.modal-open body{overflow:hidden;}
@media(max-width:1100px){.review-slide{flex-basis:calc((100% - 18px) / 2);}.review-card{height:310px;min-height:310px;max-height:310px;}}
@media(max-width:720px){.review-slider-shell{padding:0 0 0 20px;max-width:none;}.review-slider{padding-right:20px;}.review-slide{flex-basis:82%;}.review-card{height:292px;min-height:292px;max-height:292px;padding:24px 22px;}.review-nav{display:none;}.review-text{font-size:15px;line-height:1.65;}.review-text.is-clamped{min-height:124px;max-height:124px;-webkit-line-clamp:5;}.review-modal-card{padding:30px 24px 26px;}.review-modal-text{font-size:16px;line-height:1.72;}}



/* Event gallery cleanup */
.event-album-page{background:#f4f4f4;min-height:100vh}.event-album-page .album-head{max-width:1440px;margin:0 auto;padding:112px clamp(22px,5vw,78px) 42px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:42px;align-items:center;border-bottom:1px solid #dedede}.event-album-page .breadcrumbs{margin:0 0 18px;color:#a0a0a0;letter-spacing:.22em}.event-album-page .album-head h1{max-width:980px;margin:0;font-size:clamp(42px,5.4vw,82px);line-height:.93;letter-spacing:-.075em;font-weight:300;text-transform:uppercase}.event-album-page .album-head h1 em{display:inline-block;margin-left:14px;font-size:.72em;color:#1662ff;font-weight:300}.event-album-page .lead{margin-top:18px;max-width:760px;color:#5f5f5f}.event-price-box{align-self:center;background:#fff;border:1px solid #dcdcdc;padding:26px 26px 24px;box-shadow:none}.event-price-box h3{margin:0 0 20px;color:#888;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:500}.event-price-box dl{display:grid;grid-template-columns:1fr auto;gap:12px 22px;margin:0 0 24px}.event-price-box dt{margin:0;color:#777;font-size:13px}.event-price-box dd{margin:0;color:#111;font-size:16px;font-weight:700;white-space:nowrap}.event-price-box dd:nth-of-type(2){color:#1662ff}.event-price-box dd:nth-of-type(4){color:#0ca54d}.event-cart-summary{border-top:1px solid #e2e2e2;padding-top:18px;margin-top:4px;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#555}.event-cart-summary strong{color:#111;font-size:13px;letter-spacing:.12em}.event-checkout-btn{display:flex;align-items:center;justify-content:center;margin-top:16px;min-height:46px;background:#050505;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;border:1px solid #050505;transition:background .2s ease,color .2s ease,border-color .2s ease}.event-checkout-btn:hover{background:#fff;color:#050505}.event-checkout-btn.disabled{background:#f3f3f3;color:#888;border-color:#e1e1e1;cursor:not-allowed}.event-album-page .event-photo-grid{max-width:1440px;margin:0 auto;padding:46px clamp(22px,5vw,78px) 110px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.event-album-page .event-photo-card{background:#fff;border:1px solid #e2e2e2;box-shadow:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}.event-album-page .event-photo-card:hover{transform:translateY(-2px);border-color:#bdbdbd}.event-album-page .event-photo-lock{background:#111;overflow:hidden}.event-album-page .event-photo-lock img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.event-album-page .event-photo-actions{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:10px;background:#fff}.event-album-page .event-photo-actions span{font-size:10px;color:#8b8b8b}.event-cart-btn{justify-self:end;border:1px solid #111;background:#fff;color:#111;min-height:38px;padding:0 16px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:600;cursor:pointer;border-radius:0;transition:background .2s ease,color .2s ease,border-color .2s ease}.event-cart-btn:hover{background:#111;color:#fff}.event-cart-btn.selected{background:#eaf6ef;border-color:#b9dfc8;color:#0d6b38}.event-album-page .event-photo-card.selected{background:#f5fbf7;border-color:#b9dfc8}.event-album-page .event-photo-card.selected .event-photo-lock{outline:0}.event-sticky-cart{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));z-index:90;transform:translateX(-50%);display:flex;align-items:center;gap:18px;background:rgba(5,5,5,.92);color:#fff;padding:12px 14px 12px 18px;box-shadow:0 20px 65px rgba(0,0,0,.24);backdrop-filter:blur(16px)}.event-sticky-cart span{text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:#ddd}.event-sticky-cart a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 18px;background:#fff;color:#111;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700}.event-sticky-cart a:hover{background:#e8e8e8}@media(max-width:1180px){.event-album-page .album-head{grid-template-columns:1fr;gap:28px;padding-top:102px}.event-price-box{max-width:520px}.event-album-page .event-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.event-album-page .album-head{padding:92px 16px 28px}.event-album-page .album-head h1{font-size:42px}.event-album-page .album-head h1 em{display:block;margin:8px 0 0}.event-price-box{padding:20px}.event-album-page .event-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:28px 12px 104px}.event-album-page .event-photo-actions{grid-template-columns:1fr;padding:8px}.event-cart-btn{width:100%;min-height:36px;padding:0 8px}.event-sticky-cart{left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));transform:none;justify-content:space-between}.event-sticky-cart span{font-size:10px}.event-sticky-cart a{padding:0 12px}}

/* Event shop checkout/download polish */
.download-page .event-photo-lock,.purchased-download-grid .event-photo-lock{background:transparent!important}
.purchased-download-grid .event-photo-lock::after{display:none!important}
.event-photo-lock::after{pointer-events:none}
.event-cart-btn,.event-checkout-btn,.event-sticky-cart a{border-radius:0!important;font-family:Montserrat,Arial,sans-serif}
.cart-summary,.payment-box{border-radius:0!important}


/* Emergency frontend restoration + event gallery polish 2026-05-31 */
body, button, input, select, textarea{font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important}
.front-body,.page-body{font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;background:#f6f6f6;color:#111}
.btn,.ghost,button,.input,select,textarea{border-radius:0!important}
.front-header{border-radius:0!important}

.event-album-page{background:#f4f4f4;min-height:100vh}
.event-album-page .album-head{max-width:1460px;margin:0 auto;padding:92px clamp(22px,5vw,80px) 36px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:46px;align-items:end;border-bottom:1px solid #dcdcdc;background:#f4f4f4}
.event-album-page .breadcrumbs{margin:0 0 18px;color:#9a9a9a;text-transform:uppercase;letter-spacing:.22em;font-size:11px}
.event-album-page .breadcrumbs a{text-decoration:none;color:inherit}
.event-album-page .album-head h1{margin:0;max-width:980px;font-size:clamp(44px,5.5vw,84px);line-height:.93;letter-spacing:-.075em;font-weight:300;text-transform:uppercase;color:#111}
.event-album-page .album-head h1 em{font-style:italic;color:#1662ff;font-size:.70em;font-weight:300;white-space:nowrap}
.event-album-page .lead{margin-top:18px;max-width:760px;color:#606060}
.event-price-box{background:#fff;border:1px solid #d9d9d9;padding:26px;box-shadow:none;border-radius:0!important}
.event-price-box h3{margin:0 0 20px;color:#888;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:500}
.event-price-box dl{display:grid;grid-template-columns:1fr auto;gap:12px 22px;margin:0 0 22px}
.event-price-box dt{margin:0;color:#777;font-size:13px}.event-price-box dd{margin:0;color:#111;font-size:16px;font-weight:700;white-space:nowrap}.event-price-box dd:nth-of-type(2){color:#1662ff}.event-price-box dd:nth-of-type(4){color:#0ca54d}
.event-cart-summary{border-top:1px solid #e2e2e2;padding-top:18px;margin-top:6px;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:#555}.event-cart-summary strong{color:#111;font-size:13px}
.event-checkout-btn{display:flex;align-items:center;justify-content:center;margin-top:16px;min-height:46px;background:#050505;color:#fff!important;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;border:1px solid #050505;border-radius:0!important;cursor:pointer}.event-checkout-btn:hover{background:#fff;color:#050505!important}.event-checkout-btn.disabled{background:#f2f2f2;color:#888!important;border-color:#e0e0e0;cursor:not-allowed}
.event-album-page .event-photo-grid{max-width:1460px;margin:0 auto;padding:42px clamp(22px,5vw,80px) 118px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;background:#f4f4f4}
.event-album-page .event-photo-card{background:#fff;border:1px solid #e1e1e1;box-shadow:none;border-radius:0!important;overflow:hidden;transition:transform .18s ease,border-color .18s ease,background .18s ease}.event-album-page .event-photo-card:hover{transform:translateY(-2px);border-color:#b8b8b8}.event-album-page .event-photo-card.selected{background:#f3fbf6;border-color:#b7dfc8}
.event-album-page .event-photo-lock{position:relative;background:#e9e9e9!important;overflow:hidden;border-radius:0!important}.event-album-page .event-photo-lock::after{display:none!important;content:none!important}.event-album-page .event-photo-lock img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;user-select:none;-webkit-user-drag:none;pointer-events:none;background:#e9e9e9}
.event-album-page .event-photo-actions{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:10px;background:#fff;border-radius:0!important}.event-album-page .event-photo-actions span{font-size:10px;color:#8b8b8b}.event-cart-btn{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #111;background:#fff;color:#111;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:600;line-height:1;cursor:pointer;border-radius:0!important;appearance:none;-webkit-appearance:none;transition:background .2s ease,color .2s ease,border-color .2s ease}.event-cart-btn:hover{background:#111;color:#fff}.event-cart-btn.selected{background:#edf7f1;border-color:#b7dfc8;color:#0d6b38}.event-cart-btn.selected:hover{background:#0d6b38;border-color:#0d6b38;color:#fff}
.event-sticky-cart{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));z-index:90;transform:translateX(-50%);display:flex;align-items:center;gap:18px;background:rgba(5,5,5,.92);color:#fff;padding:12px 14px 12px 18px;box-shadow:0 20px 65px rgba(0,0,0,.24);backdrop-filter:blur(16px);border-radius:0!important}.event-sticky-cart span{text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:#ddd}.event-sticky-cart a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 18px;background:#fff;color:#111!important;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700;border-radius:0!important}.event-sticky-cart a:hover{background:#e8e8e8}
.cart-page.two-cols{display:grid;grid-template-columns:minmax(0,1.35fr) 430px;gap:58px;align-items:start}.cart-summary,.payment-box{border-radius:0!important}.cart-summary .btn,.stack-form .btn{border-radius:0!important}.cart-row img{background:transparent!important}.download-page .event-photo-lock,.purchased-download-grid .event-photo-lock{background:transparent!important}
@media(max-width:1180px){.event-album-page .album-head{grid-template-columns:1fr;gap:28px;padding-top:96px}.event-price-box{max-width:520px}.event-album-page .event-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.event-album-page .album-head{padding:86px 16px 28px}.event-album-page .album-head h1{font-size:42px}.event-album-page .album-head h1 em{display:block;margin:8px 0 0}.event-price-box{padding:20px}.event-album-page .event-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:28px 12px 104px}.event-album-page .event-photo-actions{grid-template-columns:1fr;padding:8px}.event-cart-btn{width:100%;min-height:36px;padding:0 8px}.event-sticky-cart{left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));transform:none;justify-content:space-between}.event-sticky-cart span{font-size:10px}.event-sticky-cart a{padding:0 12px}.cart-page.two-cols{grid-template-columns:1fr}}

/* === 2026-05-31 HARD FRONTEND TYPOGRAPHY OVERRIDE ===
   Minden publikus oldal: szolgáltatások, vélemények, események, foglalás, portál. */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap");
html,body,.front-body,.page-body,.front-header,.front-nav,.front-section,.service-card,.review-card,.event-card,.event-photo-card,.event-price-card,.booking-page,.booking-card,.portal-page,.portal-card,.gift-card-page,.gallery-page,.front-footer,
button,input,select,textarea,a,span,small,strong,b,label,table,th,td,p,h1,h2,h3,h4,h5,h6,.btn,.ghost,.event-cart-btn,.event-checkout-btn,.event-sticky-cart a,.front-cta,.footer-cta{
  font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
}
body,.front-body,.page-body{font-weight:300!important;-webkit-font-smoothing:antialiased!important;text-rendering:geometricPrecision!important;}
h1,h2,h3,.hero-title,.section-title,.page-title{font-weight:300!important;letter-spacing:-.055em!important;}
.front-nav a,.kicker,.section-label,.category-label,.btn,.ghost,.footer-cta,.event-cart-btn,.event-checkout-btn,.event-sticky-cart a{font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase!important;}
input::placeholder,textarea::placeholder{font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;}
.event-price-card,.event-side-card{font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;background:#fff!important;border:1px solid #e5e5e5!important;border-radius:0!important;}
.event-cart-btn,.event-checkout-btn,.event-sticky-cart a{border-radius:0!important;background:#111!important;color:#fff!important;border:1px solid #111!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:0 18px!important;}
.event-cart-btn.is-selected{background:#eaf7ef!important;color:#166534!important;border-color:#b7e4c7!important;}

/* === NEMESATI FRONTEND TYPOGRAPHY + HERO POSITION FIX START === */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap");

/* Globális frontend betűtípus-kényszerítés: services, reviews, events, booking, portal */
html,
body,
.front-body,
.page-body,
.site,
.page-main,
.front-header,
.front-nav,
.front-section,
.section-heading,
.hero,
.front-hero,
.mini-hero,
.album-head,
.events-page,
.event-album-page,
.booking-page,
.portal-page,
.gift-page,
.reviews-section,
.services-section,
.portfolio-section,
.studio-section,
.front-footer,
.rich-footer,
.card,
.service-card,
.review-card,
.event-card,
.event-price-box,
.event-photo-card,
.cart-summary,
.payment-box,
.table-card,
.btn,
.ghost,
button,
input,
textarea,
select,
label,
a,
p,
span,
small,
strong,
b,
h1,
h2,
h3,
h4,
h5,
h6,
th,
td {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

body,
.front-body,
.page-body {
  font-weight: 300 !important;
}

h1,
h2,
.front-hero h1,
.hero h1,
.mini-hero h1,
.album-head h1,
.section-heading h2,
.about-text h2,
.studio-copy h2,
.front-cta h2 {
  font-weight: 300 !important;
  letter-spacing: -0.055em !important;
}

.front-nav a,
.btn,
.ghost,
.event-cart-btn,
.event-checkout-btn,
.cookie-ok,
.kicker,
.section-label,
.category-label,
.eyebrow {
  font-weight: 500 !important;
}

/* Hero szöveg feljebb húzása, de nem rombolja a layoutot */
.front-hero,
.front-hero.front-hero-background {
  align-items: center !important;
}

.front-hero .hero-content,
.front-hero .hero-bg-content,
.hero-content,
.hero-bg-content {
  transform: translateY(-38px) !important;
}

.front-hero .hero-content.is-visible,
.front-hero .hero-bg-content.is-visible,
.hero-content.is-visible,
.hero-bg-content.is-visible {
  transform: translateY(-38px) !important;
}

/* Esemény oldalak: ne essen vissza alap betűre */
.events-page *,
.event-album-page *,
.event-card *,
.album-head *,
.event-price-box *,
.event-photo-card *,
.cart-page *,
.thanks-page * {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

.event-album-page .album-head h1,
.events-page .mini-hero h1 {
  font-weight: 300 !important;
  letter-spacing: -0.055em !important;
}

/* Booking / ajándékkártya kerekítések levétele frontend oldalon */
.booking-page .card,
.booking-page .booking-card,
.gift-page .card,
.gift-card-page .card,
.booking-page .input,
.booking-page select,
.booking-page textarea,
.booking-page .btn,
.gift-page .input,
.gift-page select,
.gift-page textarea,
.gift-page .btn {
  border-radius: 0 !important;
}

@media (max-width: 760px) {
  .front-hero .hero-content,
  .front-hero .hero-bg-content,
  .hero-content,
  .hero-bg-content,
  .front-hero .hero-content.is-visible,
  .front-hero .hero-bg-content.is-visible,
  .hero-content.is-visible,
  .hero-bg-content.is-visible {
    transform: translateY(-18px) !important;
  }
}
/* === NEMESATI FRONTEND TYPOGRAPHY + HERO POSITION FIX END === */


/* Review read-more restoration */
.review-text.is-long{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;min-height:134px;max-height:134px;}
.review-more{white-space:nowrap;}
