/*
Theme Name: Beautygram Nails
Theme URI: https://example.com/
Author: Beautygram
Description: Egyedi, prémium WordPress téma a BEAUTYGRAM nails körömstúdió számára.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: beautygram
*/
:root{
 --bg:#191a27;--bg-soft:#222333;--ink:#f7f3f2;--muted:#c9c1c2;
 --rose:#c99198;--rose-light:#e2b5b5;--line:rgba(255,255,255,.13);--focus:#a35764;
 --serif:Georgia,"Times New Roman",serif;--sans:Inter,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f8f5f3;color:#292632;font-family:var(--sans);line-height:1.65}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
img{max-width:100%;height:auto;display:block}
.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.site-header{position:absolute;z-index:10;top:0;left:0;right:0;color:var(--ink);border-bottom:1px solid rgba(255,255,255,.1)}
.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:25px;letter-spacing:.11em}
.brand img{width:46px;height:46px;object-fit:contain}
.brand small{display:block;font:600 10px var(--sans);letter-spacing:.28em;text-align:center;margin-top:-4px}
.main-nav{display:flex;align-items:center;gap:28px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.main-nav a:hover{color:var(--rose-light)}
.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 23px;border:1px solid var(--rose);background:var(--rose);color:#201d29;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:.2s}
.nav-cta:hover,.button:hover{background:transparent;color:var(--ink)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);color:white;padding:8px 12px}
.hero{min-height:760px;background:linear-gradient(90deg,rgba(25,26,39,.98) 0%,rgba(25,26,39,.86) 48%,rgba(25,26,39,.35) 100%),linear-gradient(0deg,rgba(25,26,39,.45),rgba(25,26,39,.1)),url('assets/images/hero-placeholder.svg') center/cover no-repeat;display:flex;align-items:center;color:var(--ink);padding:140px 0 90px}
.hero-content{max-width:650px}
.eyebrow{color:var(--rose-light);font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:700}
.hero h1{font:400 clamp(48px,7vw,88px)/1.02 var(--serif);letter-spacing:-.035em;margin:22px 0}
.hero h1 span{color:var(--rose-light);font-style:italic}
.hero p{max-width:500px;color:#ddd6d7;font-size:17px;margin:0 0 32px}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.text-link{font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--rose);padding-bottom:5px}
.section{padding:100px 0}
.section-dark{background:var(--bg);color:var(--ink)}
.section-heading{text-align:center;max-width:700px;margin:0 auto 52px}
.section-heading .eyebrow{display:block;margin-bottom:12px}
.section-heading h2{font:400 clamp(36px,5vw,54px)/1.1 var(--serif);margin:0 0 16px}
.section-heading p{color:#77717a;margin:0}
.section-dark .section-heading p{color:var(--muted)}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.intro-art{min-height:440px;background:linear-gradient(145deg,#292a3c,#171824);display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,145,152,.35);position:relative;overflow:hidden}
.intro-art:before,.intro-art:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(201,145,152,.35);border-radius:50%}
.intro-art:after{width:390px;height:390px}
.intro-mark{z-index:1;color:var(--rose-light);font:italic 64px var(--serif);letter-spacing:.06em}
.intro-copy h2{font:400 48px/1.1 var(--serif);margin:10px 0 20px}
.intro-copy p{color:#716b74}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.price-card{background:#fff;padding:30px 26px;border:1px solid #eee5e4;position:relative}
.price-card.featured{border-color:var(--rose);box-shadow:0 15px 45px rgba(40,30,40,.08)}
.price-card h3{font:400 27px var(--serif);margin:0 0 10px}
.price-card p{color:#77717a;min-height:76px;font-size:14px}
.price-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eee;padding:12px 0;font-size:13px}
.price-row strong{font-size:16px;color:#292632;white-space:nowrap}
.price-note{text-align:center;color:#817982;font-size:13px;margin:32px auto 0;max-width:760px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery-tile{aspect-ratio:4/5;background:linear-gradient(145deg,#292a3c,#c99198);display:flex;align-items:end;margin:0;color:#fff;font:24px var(--serif);position:relative;overflow:hidden}
.gallery-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gallery-tile figcaption{position:relative;z-index:1;width:100%;padding:20px;background:linear-gradient(transparent,rgba(15,16,27,.72))}
.gallery-empty{text-align:center;color:var(--muted)}
.booking-band{background:var(--bg);color:#fff;padding:72px 0}
.booking-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.booking-inner h2{font:400 42px var(--serif);margin:0 0 8px}
.booking-inner p{margin:0;color:#c9c1c2}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.contact-info h2{font:400 46px var(--serif);margin:10px 0 18px}
.contact-info p{color:#77717a}
.contact-detail{padding:15px 0;border-bottom:1px solid #e9e2e1}
.site-footer{background:#141520;color:#dcd5d6;padding:36px 0}
.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px}
.footer-brand{font:24px var(--serif);letter-spacing:.12em;color:#fff}
.footer-brand span{display:block;text-align:center;font:600 10px var(--sans);letter-spacing:.25em}
.booking-form,.contact-form{display:grid;gap:14px}
.booking-form label,.contact-form label{display:grid;gap:6px;font-size:13px;color:#514b55}
.booking-form input,.booking-form select,.booking-form textarea,.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid #ddd3d2;background:#fff;font:inherit;border-radius:0}
.booking-form button,.contact-form button{cursor:pointer}
.booking-privacy a{text-decoration:underline;text-underline-offset:3px}
.notice{padding:14px 18px;background:#f1e7e6;border-left:3px solid var(--rose);margin:16px 0}
@media(max-width:800px){
 .header-inner{height:74px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#191a27;padding:22px;flex-direction:column;align-items:stretch;gap:18px}.main-nav.is-open{display:flex}
 .hero{min-height:680px}.hero h1{font-size:58px}.intro-grid,.contact-grid{grid-template-columns:1fr;gap:34px}
 .pricing-grid{grid-template-columns:1fr}.price-card p{min-height:0}.gallery-grid{grid-template-columns:1fr 1fr}
 .booking-inner{align-items:flex-start;flex-direction:column}.section{padding:72px 0}
}
@media(max-width:480px){.container{width:min(100% - 30px,1160px)}.hero h1{font-size:48px}.gallery-grid{grid-template-columns:1fr}.footer-inner{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
