

/* ================= BASE ================= */

body{
margin:0;
padding-top:78px;
font-family:'Poppins',sans-serif;
background:#0f0f0f;
color:white;
}

/* 🔒 MENU LOCK */
body.menu-open{
overflow:hidden;
}

*,
*::before,
*::after{
box-sizing:border-box;
}

html,
body{
width:100%;
overflow-x:hidden;
}

body{
margin:0;
padding-top:78px;
font-family:'Poppins',sans-serif;
background:#0f0f0f;
color:white;
}

img{
max-width:100%;
display:block;
}

.container{
max-width:1200px;
margin:auto;
padding:0 20px;
width:100%;
}

/* ================= HEADER ================= */

header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:9999;

background:rgba(8,8,8,.78);
backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);

border-bottom:1px solid rgba(198,161,91,.10);
}

.header-inner{
display:flex;
align-items:center;
justify-content:space-between;

height:78px;
padding:0 40px;
width:100%;
}

/* LOGO */

.logo a{
display:flex;
align-items:center;
gap:14px;
text-decoration:none;
color:inherit;
}

.logo img{
height:52px;
}

.logo-text{
display:flex;
flex-direction:column;
line-height:1.1;
}

.logo-text strong{
font-family:'Playfair Display',serif;
font-size:24px;
font-weight:700;
letter-spacing:.5px;
}

.logo-text span{
font-size:12px;
letter-spacing:2px;
text-transform:uppercase;
color:#c6a15b;
opacity:.85;
}

/* ================= NAV ================= */

nav{
display:flex;
align-items:center;
gap:40px;
margin-left:auto;
}

nav a{
position:relative;
text-decoration:none;
color:#f5f5f5;

font-family:'Playfair Display',serif;
font-size:24px;
letter-spacing:1.2px;

padding:8px 0;
transition:.3s;
}

nav a:hover{
color:#c6a15b;
text-shadow:0 0 8px rgba(198,161,91,.4);
}

nav a::after{
content:"";
position:absolute;
left:0;
bottom:-6px;

width:0;
height:2px;

background:#c6a15b;
transition:width .35s ease;
}

nav a:hover::after,
nav a.active::after{
width:100%;
}

nav a.active{
color:#c6a15b;
}

/* ================= HEADER ACTIONS ================= */

.header-actions{
display:flex;
align-items:center;
gap:12px;
}

.header-btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;

padding:12px 18px;

border-radius:999px;
border:1px solid rgba(198,161,91,.24);

background:rgba(255,255,255,.03);
color:#fff;

font-size:13px;
font-weight:500;

transition:all .35s ease;
}

.header-btn:hover{
transform:translateY(-2px);
border-color:rgba(198,161,91,.45);
background:rgba(198,161,91,.08);
box-shadow:0 10px 25px rgba(0,0,0,.22);
}

/* ================= HAMBURGER ================= */

.menu-toggle{
display:none;
flex-direction:column;
gap:6px;
cursor:pointer;
z-index:2001;
}

.menu-toggle span{
width:28px;
height:2px;
background:#fff;
border-radius:10px;
transition:.3s ease;
}

.menu-toggle.active span:nth-child(1){
position:absolute;
transform:rotate(45deg);
}

.menu-toggle.active span:nth-child(2){
opacity:0;
}

.menu-toggle.active span:nth-child(3){
position:absolute;
transform:rotate(-45deg);
}

/* ================= HERO ================= */

.hero{
position:relative;
overflow:hidden;

width:100%;
min-height:calc(100vh - 78px);

display:flex;
align-items:center;
justify-content:center;
text-align:center;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.82)),
url("../img/hero.webp");

background-size:cover;
background-position:center;
background-repeat:no-repeat;

animation:heroZoom 22s ease-in-out infinite alternate;

isolation:isolate;
}

.hero::before,
.hero::after{
content:"";
position:absolute;
inset:0;
pointer-events:none;
z-index:1;
}

/* LIGHT + DEPTH */

.hero::before{
opacity:.08;

background:
linear-gradient(115deg,transparent 0%,transparent 42%,rgba(198,161,91,.05) 47%,rgba(224,196,138,.10) 50%,rgba(198,161,91,.05) 53%,transparent 58%),
linear-gradient(125deg,transparent 0%,transparent 18%,rgba(198,161,91,.03) 24%,rgba(224,196,138,.06) 27%,rgba(198,161,91,.03) 30%,transparent 36%),
linear-gradient(110deg,transparent 0%,transparent 68%,rgba(198,161,91,.03) 73%,rgba(224,196,138,.06) 76%,rgba(198,161,91,.03) 79%,transparent 84%);

animation:lightRaysDrift 20s ease-in-out infinite alternate;
}

.hero::after{
background:
radial-gradient(circle at 20% 30%, rgba(198,161,91,.12), transparent 45%),
radial-gradient(circle at 80% 70%, rgba(198,161,91,.06), transparent 45%);
}

/* HERO CONTENT */

.hero-content{
position:relative;
z-index:2;
margin:auto;
padding:20px;
max-width:1100px;
}

/* HERO TITLE */

.hero-title{
display:inline-block;
white-space:normal;
font-family:'Playfair Display',serif;
font-size:64px;
font-weight:700;

margin-bottom:20px;

letter-spacing:1px;
line-height:1.1;

background:linear-gradient(
90deg,
#fff 0%,
#fff 35%,
#c6a15b 50%,
#fff 65%,
#fff 100%
);

background-size:200%;
background-clip:text;
-webkit-background-clip:text;

color:transparent;
-webkit-text-fill-color:transparent;

animation:goldShine 5s linear infinite;

text-shadow:0 0 14px rgba(198,161,91,.15);
}

.hero-title span{
color:#c6a15b;
}

/* SUBTITLE */

.hero p{
font-size:18px;
line-height:1.6;

margin:0 auto 35px;
max-width:800px;

opacity:0;
transform:translateY(20px);

animation:heroSubtitleReveal 1s ease forwards;
animation-delay:2.1s;
}

/* ================= BUTTONS ================= */

/* PRIMARY */
.cta-button{
display:inline-block;
padding:16px 38px;
border-radius:8px;
text-decoration:none;
font-weight:600;

background:linear-gradient(135deg,#c6a15b,#e0c48a);
color:#111;

box-shadow:0 10px 30px rgba(198,161,91,.25);
transition:.35s ease;
}

.cta-button:hover{
transform:translateY(-3px);
background:linear-gradient(135deg,#e0c48a,#f3dba3);
}

/* GHOST */
.ghost-button{
display:inline-block;
padding:16px 38px;

border-radius:8px;
border:1px solid rgba(198,161,91,.6);

color:#e0c48a;
background:transparent;

transition:.3s ease;
}

.ghost-button:hover{
background:rgba(198,161,91,.15);
color:white;
}

/* ================= ANIMATIONS ================= */

@keyframes heroZoom{
0%{transform:scale(1);}
100%{transform:scale(1.08);}
}

@keyframes lightRaysDrift{
0%{transform:translateX(0);}
100%{transform:translateX(-40px);}
}

@keyframes goldShine{
0%{background-position:200% center;}
100%{background-position:-200% center;}
}

@keyframes heroSubtitleReveal{
to{
opacity:1;
transform:translateY(0);
}
}

/* HERO BUTTON ANIMATION */

.hero .cta-button{
opacity:0;
transform:translateY(20px);
animation:heroButtonReveal 2s ease forwards;
animation-delay:2.4s;
}

@keyframes heroButtonReveal{
to{
opacity:1;
transform:translateY(0);
}
}

.section-title{
display:block;
max-width:900px;
margin:0 auto 40px;
padding:0;

text-align:center;

font-family:'Playfair Display',serif;
font-size:clamp(42px,3.2vw,64px);
font-weight:700;

letter-spacing:1.5px;
line-height:1.2;

text-wrap:balance;
overflow-wrap:break-word;

background:linear-gradient(
90deg,
#fff 0%,
#fff 38%,
#c6a15b 50%,
#fff 62%,
#fff 100%
);

background-size:200%;
background-clip:text;
-webkit-background-clip:text;

color:transparent;
-webkit-text-fill-color:transparent;

animation:goldShine 4s linear infinite;

text-shadow:
0 0 18px rgba(198,161,91,.18),
0 0 30px rgba(198,161,91,.08);
}



/* TITLE LINE */

.title-line{
display:block;

height:3px;
width:250px; /* 🔥 fix szélesség */

margin:24px auto 0;

background:linear-gradient(
90deg,
transparent,
#c6a15b,
#e0c48a,
#c6a15b,
transparent
);

position:relative;
overflow:hidden;

/* animáció átalakítva */
transform:scaleX(0);
transform-origin:center;

animation:lineReveal 1.2s ease forwards;
animation-delay:1.2s;
}

.title-line::before{
content:"";
position:absolute;

top:0;
left:-80px;

width:80px;
height:100%;

background:linear-gradient(
90deg,
transparent,
rgba(255,230,170,.9),
transparent
);

/* 🔥 simább, pontosabb */
animation:lineShimmer 1.8s ease forwards;
animation-delay:1.4s;
}

/* ANIMATIONS */

@keyframes lineReveal{
to{ transform:scaleX(1); }
}

@keyframes lineShimmer{
0%{ left:-80px; opacity:0; }
30%{ opacity:1; }
100%{ left:250px; opacity:0; }
}

/* PAGE SPECIFIC FIXES */

.contact .section-title{
margin-top:20px;
}

/* ================= SECTION DIVIDER ================= */

section{
position:relative;
}

/* FIGYELEM: ez minden section-re hat */
section{
position:relative;
}

section::before{
content:"";
position:absolute;
top:0;
left:50%;

transform:translateX(-50%);

width:1200px;
max-width:85%;
height:1px;

background:linear-gradient(
90deg,
transparent,
rgba(198,161,91,.7),
transparent
);

pointer-events:none;
}

section:first-of-type::before{
display:none;
}

/* CONTACT GRID DIVIDER */

.contact-grid{
position:relative;
}

.contact-grid::after{
content:"";
position:absolute;
left:66%;
top:10%;

height:80%;
width:1px;

background:linear-gradient(
to bottom,
transparent,
rgba(198,161,91,.35),
transparent
);
}

/* ================= CATEGORY ================= */

.categories{
padding:60px 40px 80px;
text-align:center;
}

.category-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:50px;

max-width:1500px;
margin:40px auto 0;
}

.category-card{
display:block;

aspect-ratio:4/3;

border:1px solid #c6a15b;
background:#141414;

overflow:hidden;
transition:.35s ease;

text-decoration:none;
}

/* KÉP */

.category-card img{
width:100%;
height:100%;
object-fit:cover;
transition:.45s ease;
}

/* HOVER */

.category-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 50px rgba(198,161,91,.30);
}

.category-card:hover img{
transform:scale(1.05);
}

/* SZÖVEG FIX */

.category-card h3{
color:#e5d2a3;
transition:.3s ease;
}

.category-card:hover h3{
color:#c6a15b; /* 🔥 itt lehet animálni */
}
/* ================= WHY SECTION ================= */

.why-premium{
padding:120px 40px;


background-size:cover;
background-position:center;

text-align:center;
}

.why-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:35px;

max-width:1200px;
margin:70px auto 0;
}

.why-card{
padding:50px 30px;

border-radius:16px;
border:1px solid rgba(198,161,91,.18);

background:
linear-gradient(
180deg,
rgba(255,255,255,.07),
rgba(255,255,255,.02)
);

backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);

box-shadow:
0 20px 60px rgba(0,0,0,.6);

transition:.4s ease;
}

.why-card:hover{
transform: translateY(-10px) scale(1.02);

box-shadow:
0 30px 80px rgba(0,0,0,.9),
0 0 30px rgba(198,161,91,.2);

border-color:rgba(198,161,91,.5);
}

.why-number{
display:block;
font-family:'Playfair Display',serif;
font-size:42px;
margin-bottom:20px;
letter-spacing:2px;

background:linear-gradient(135deg,#e0c48a,#c6a15b);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

text-shadow:0 0 20px rgba(198,161,91,.25);
}

.why-card:hover .why-number{
text-shadow:0 0 30px rgba(198,161,91,.45);
}

.why-card h3{
font-family:'Playfair Display',serif;
font-size:22px;
margin-bottom:14px;
}

.why-card p{
font-size:15px;
color:#cfcfcf;
line-height:1.6;
}

/* ================= TESTIMONIALS ================= */

.testimonials{
padding:120px 40px;

background-size:cover;
background-position:center;
}

.testimonial-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:40px;

max-width:1100px;
margin:60px auto 0;
}

.testimonial-card{
padding:40px 30px;

background:#111;
border:1px solid rgba(198,161,91,.3);

transition:.3s ease;
}

.testimonial-card:hover{
transform:translateY(-6px);
border-color:#c6a15b;
}

.testimonial-text{
font-style:italic;
line-height:1.7;
opacity:.9;
}

.testimonial-author{
margin-top:20px;
color:#c6a15b;
font-weight:500;
letter-spacing:.5px;
}

/* ================= CTA ================= */

.cta-offer{
position:relative;

padding:60px 20px;
text-align:center;

background:
linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.88)),
url("../img/gold-bg.webp");

background-size:cover;
background-position:center;
background-attachment:fixed;
}

.cta-offer::before{
content:"";
position:absolute;
top:0;
left:50%;

transform:translateX(-50%);

width:120px;
height:1px;

background:linear-gradient(
90deg,
transparent,
#c6a15b,
transparent
);

opacity:.7;
}

.cta-text{
max-width:520px;
margin:15px auto 20px;

font-size:16px;
line-height:1.6;
opacity:.9;
}

/* ================= ABOUT ================= */

.about,
.story,
.inspiration,
.process,
.gallery{
padding:120px 40px;
}

.about{
padding-top:60px;
}

.about{
background:#121212;
}

.about-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:80px;

max-width:1100px;
margin:auto;
align-items:center;
}

.about img{
max-width:380px;
border-radius:10px;
box-shadow:0 20px 60px rgba(0,0,0,.6);
}

.about-text{
font-size:17px;
line-height:1.8;
opacity:.9;
}

/* ================= STORY ================= */

.story-text{
max-width:900px;
margin:auto;
font-size:17px;
line-height:1.8;
opacity:.9;
}

.story{
padding:120px 40px;

background-size:cover;
background-position:center;

position:relative;
}

.story::after{
content:"";
position:absolute;
inset:0;

background:
radial-gradient(circle at center, rgba(198,161,91,.12), transparent 60%);

pointer-events:none;
}

.story-text p{
margin-bottom:25px;
}

/* ================= GRID BASE (ÚJ – KULCS!) ================= */

.grid-4{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:40px;
}

/* ================= GALLERY ================= */

.gallery-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:25px;

max-width:1100px;
margin:40px auto 0;
}

.gallery-grid img{
height:220px;
object-fit:cover;

border:1px solid rgba(198,161,91,.3);
transition:.35s ease;
}

.gallery-grid img:hover{
transform:scale(1.05);
box-shadow:0 10px 30px rgba(198,161,91,.25);
}

/* ================= PRODUCT GALLERY ================= */

.product-gallery{
padding:120px 40px;
background:#0f0f0f;
}

.gallery-img{
width:100%;
height:280px;

object-fit:cover;

border:1px solid #c6a15b;
cursor:pointer;

transition:.3s ease;
}

.gallery-img:hover{
transform:scale(1.05);
box-shadow:0 10px 30px rgba(198,161,91,.3);
}

.product-description{
max-width:700px;
margin:auto;
text-align:center;
}

.product-description p{
margin-top:20px;
line-height:1.7;
}


/* ================= CONTACT ================= */

.contact{
padding:120px 40px;
background:#0f0f0f;
}

.contact-grid{
position:relative;
display:grid;
grid-template-columns:1.2fr .8fr;
gap:80px;

max-width:1100px;
margin:auto;
align-items:center;
}

/* VONAL */

.contact-grid::after{
content:"";
position:absolute;
left:66%;
top:10%;

width:1px;
height:80%;

background:linear-gradient(
to bottom,
transparent,
rgba(198,161,91,.35),
transparent
);
}

/* INFO */

.contact-info{
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
}

.contact-info p{
font-size:18px;
line-height:1.8;
}

.contact-info strong{
font-size:19px;
}

/* ITEMS */

.contact-item{
display:flex;
align-items:center;
gap:12px;
margin-bottom:12px;

font-size:18px;
}

.contact-item i{
font-size:20px;
color:#c6a15b;
}

.contact-item a{
color:#e5d2a3;
text-decoration:none;
transition:.3s ease;
}

.contact-item a:hover{
color:#c6a15b;
}

/* SOCIAL */

.contact-social{
display:flex;
justify-content:center;
gap:20px;
margin-top:26px;
}

.contact-social a{
display:flex;
align-items:center;
justify-content:center;

width:46px;
height:46px;

border-radius:50%;
background:#c6a15b;

transition:.35s ease;
}

.contact-social i{
font-size:20px;
color:white;
}

.contact-social a:hover{
background:#e0c48a;
transform:translateY(-2px);
box-shadow:0 6px 16px rgba(198,161,91,.35);
}

/* FORM */

.contact-form form{
display:flex;
flex-direction:column;
gap:22px;
margin-top:25px;
}

.contact-form input,
.contact-form textarea{
padding:14px 16px;

background:#111;
color:white;

font-size:15px;
font-family:'Poppins',sans-serif;

border:1px solid rgba(198,161,91,.28);

transition:.25s ease;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
color:rgba(255,255,255,.45);
}

.contact-form input:focus,
.contact-form textarea:focus{
outline:none;

border-color:#c6a15b;
background:#0c0c0c;

box-shadow:
0 0 0 1px rgba(198,161,91,.35),
0 0 12px rgba(198,161,91,.18);
}

.contact-form textarea{
resize:vertical;
min-height:140px;
}

/* ================= FOOTER ================= */

.footer{
padding:80px 40px 30px;

background:#070707;
border-top:1px solid rgba(198,161,91,.25);

font-size:14px;
color:#bbb;
}

.footer-container{
max-width:1200px;
margin:auto;
}

.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:60px;

margin-bottom:60px;
}

.footer-logo{
width:140px;
margin-bottom:18px;
}

.footer-brand h3{
font-family:'Playfair Display',serif;
font-size:24px;
margin-bottom:10px;
color:#e5d2a3;
}

.footer-brand p{
max-width:320px;
line-height:1.7;
}

/* LINKS */

.footer-links h4,
.footer-contact h4{
margin-bottom:18px;
color:#c6a15b;
font-weight:500;
}

.footer-links a,
.footer-contact a{
display:block;
margin-bottom:10px;

color:#e5d2a3;
text-decoration:none;

transition:.3s ease;
}

.footer-links a:hover,
.footer-contact a:hover{
color:#c6a15b;
}

/* BOTTOM */

.footer-bottom{
display:flex;
justify-content:space-between;
align-items:center;

padding-top:25px;

font-size:13px;
border-top:1px solid rgba(198,161,91,.15);
}

.footer-dev span{
color:#c6a15b;
}



/* ================= PRODUCTS ================= */

.products-page{
padding:80px 0 120px;
}

.products-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:35px;

max-width:1200px;
margin:80px auto 0;
}

/* ================= PRODUCT CARD ================= */

.product-card{
position:relative;
display:flex;
flex-direction:column;

background:linear-gradient(
160deg,
rgba(18,18,18,.95),
rgba(8,8,8,.95)
);

border-radius:16px;
overflow:hidden;

text-decoration:none;

transition:.5s cubic-bezier(.19,1,.22,1);
}

/* GOLD BORDER */

.product-card::before{
content:"";
position:absolute;
inset:0;

padding:1px;
border-radius:16px;

background:linear-gradient(
120deg,
transparent,
rgba(198,161,91,.25),
rgba(198,161,91,.8),
rgba(198,161,91,.25),
transparent
);

-webkit-mask:
linear-gradient(#000 0 0) content-box,
linear-gradient(#000 0 0);

-webkit-mask-composite:xor;
mask-composite:exclude;

opacity:.4;
transition:.5s ease;
z-index:3;
}

/* LIGHT SWEEP */

.product-card::after{
content:"";
position:absolute;

top:-150%;
left:-150%;

width:300%;
height:300%;

background:linear-gradient(
120deg,
transparent 45%,
rgba(198,161,91,.25),
transparent 55%
);

transform:rotate(25deg);
opacity:0;

transition:1.2s ease;
z-index:3;
}

/* IMAGE */

.product-card img{
width:100%;
aspect-ratio:1/1;
object-fit:cover;
transition:.6s ease;
display:block;
}

/* TITLE */

.product-card h3{
padding:16px;
margin:0;

font-size:18px;
text-align:center;

font-family:'Playfair Display',serif;
color:#e5d2a3;

transition:.35s ease;

position:relative;
z-index:2;
background:linear-gradient(
rgba(8,8,8,.0),
rgba(8,8,8,.6)
);
}

/* OVERLAY */

.card-overlay{
position:absolute;
inset:0;

display:flex;
align-items:center;
justify-content:center;

background:linear-gradient(
rgba(0,0,0,.2),
rgba(0,0,0,.75)
);

opacity:0;
transition:.4s ease;

font-family:'Playfair Display',serif;
font-size:18px;
text-transform:uppercase;

z-index:1;
pointer-events:none;
}

.card-overlay span{
color:#c6a15b;
margin-left:6px;
}

/* HOVER */

.product-card:hover{
transform:translateY(-12px) scale(1.03);

box-shadow:
0 30px 80px rgba(0,0,0,.9),
0 0 35px rgba(198,161,91,.35);
}

.product-card:hover img{
transform:scale(1.08);
}

.product-card:hover h3{
color:#c6a15b;
}

.product-card:hover::after{
top:-30%;
left:-30%;
opacity:1;
}

.product-card:hover::before{
opacity:1;
}

.product-card:hover .card-overlay{
opacity:1;
}

/* ================= GRIDS ================= */

/* ===== DESKTOP ALAP (nagyon fontos!) ===== */

.products-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
}

.category-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
}

.testimonial-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
}

.why-grid{
margin-top:90px;
gap:40px;
}

.inspiration-grid{
display:grid;
grid-template-columns:repeat(4,minmax(220px,1fr));
gap:40px;

max-width:1000px;
margin:80px auto 0;
}
.inspiration-card{
position:relative;
display:block;

background:linear-gradient(
160deg,
rgba(18,18,18,0.95),
rgba(8,8,8,0.95)
);

border-radius:12px;
overflow:hidden;

transition:all .55s cubic-bezier(.19,1,.22,1);

transform-style:preserve-3d;
}

.inspiration-card img{
width:100%;
aspect-ratio:3/4;
object-fit:cover;
display:block;

transition:transform .7s ease;
}

.inspiration-card h3{
font-family:'Playfair Display',serif;
font-size:16px;

padding:16px;
margin:0;

text-align:center;
color:#e5d2a3;

transition:.3s ease;
}

.inspiration-card:hover{
transform:
translateY(-14px)
scale(1.04);

box-shadow:
0 30px 80px rgba(0,0,0,.9),
0 0 40px rgba(198,161,91,.25);
}

.inspiration-card:hover img{
transform:scale(1.08);
}

.inspiration-card:hover h3{
color:#c6a15b;
}

.inspiration-card::before{
content:"";
position:absolute;
inset:0;

border-radius:12px;
padding:1px;

background:linear-gradient(
120deg,
transparent,
rgba(198,161,91,.25),
rgba(198,161,91,.9),
rgba(198,161,91,.25),
transparent
);

-webkit-mask:
linear-gradient(#000 0 0) content-box,
linear-gradient(#000 0 0);

-webkit-mask-composite:xor;
mask-composite:exclude;

opacity:.35;
transition:.5s ease;
pointer-events:none;
}

.inspiration-card:hover::before{
opacity:1;
}

.inspiration-card::after{
content:"";
position:absolute;

top:-150%;
left:-150%;

width:300%;
height:300%;

background:linear-gradient(
120deg,
transparent 45%,
rgba(198,161,91,.25),
transparent 55%
);

transform:rotate(25deg);
opacity:0;

transition:1.2s ease;
}

.inspiration-card:hover::after{
top:-30%;
left:-30%;
opacity:1;
}

/* ================= PROCESS SECTION ================= */

.process{
padding:120px 40px;

background-size:cover;
background-position:top; /* 🔥 EZ A LÉNYEG */

position:relative;
}

.process .container{
max-width:1100px;
margin:auto;
}

.process-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:40px;
max-width:1000px;
margin:80px auto 0;
align-items:stretch;
}

.process-card{
display:flex;
flex-direction:column;
height:100%;
}

.process-card img{
width:100%;
aspect-ratio:3/4;
object-fit:cover;
display:block;
}

.process-card h3{
font-family:'Playfair Display',serif;
font-size:16px;
padding:16px 16px 8px;
margin:0;
text-align:center;
color:#e5d2a3;
transition:.3s ease;
}

.process-card p{
font-size:14px;
line-height:1.6;
padding:0 16px 18px;
margin:0;
text-align:center;
opacity:.8;
}


/* ================= UNIVERSAL CARD ================= */

.lux-card{
position:relative;
display:block;

background:linear-gradient(
160deg,
rgba(18,18,18,0.95),
rgba(8,8,8,0.95)
);

border-radius:12px;
overflow:hidden;

transition:all .55s cubic-bezier(.19,1,.22,1);
transform-style:preserve-3d;
}

/* IMAGE */

.lux-card img{
width:100%;
aspect-ratio:3/4;
object-fit:cover;
display:block;

transition:transform .7s ease;
}

/* TITLE */

.lux-card h3{
font-family:'Playfair Display',serif;
font-size:16px;

padding:16px;
margin:0;

text-align:center;
color:#e5d2a3;

transition:.3s ease;
}

/* HOVER */

.lux-card:hover{
transform:
translateY(-14px)
scale(1.04);

box-shadow:
0 30px 80px rgba(0,0,0,.9),
0 0 40px rgba(198,161,91,.25);
}

.lux-card:hover img{
transform:scale(1.08);
}

.lux-card:hover h3{
color:#c6a15b;
}

/* GOLD EDGE */

.lux-card::before{
content:"";
position:absolute;
inset:0;

border-radius:12px;
padding:1px;

background:linear-gradient(
120deg,
transparent,
rgba(198,161,91,.25),
rgba(198,161,91,.9),
rgba(198,161,91,.25),
transparent
);

-webkit-mask:
linear-gradient(#000 0 0) content-box,
linear-gradient(#000 0 0);

-webkit-mask-composite:xor;
mask-composite:exclude;

opacity:.35;
transition:.5s ease;
pointer-events:none;
}

.lux-card:hover::before{
opacity:1;
}

/* LIGHT SWEEP */

.lux-card::after{
content:"";
position:absolute;

top:-150%;
left:-150%;

width:300%;
height:300%;

background:linear-gradient(
120deg,
transparent 45%,
rgba(198,161,91,.25),
transparent 55%
);

transform:rotate(25deg);
opacity:0;

transition:1.2s ease;
}

.lux-card:hover::after{
top:-30%;
left:-30%;
opacity:1;
}




/* ================= RESPONSIVE ================= */

@media (max-width:900px){

.contact-grid{
grid-template-columns:1fr;
gap:60px;
}

.contact-grid::after{
display:none;
}

.products-grid{
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}

}

/* ================= LEGAL ================= */

.legal-page{
padding:120px 40px;
background:#0a0a0a;
}

.legal-container{
max-width:900px;
margin:0 auto;
display:flex;
flex-direction:column;
gap:40px;
}

/* CONTENT */

.legal-content{
margin-top:50px;
line-height:1.9;
color:rgba(255,255,255,.9);
}

.legal-content h2{
font-family:'Playfair Display',serif;
font-size:26px;
color:#e5d2a3;
margin:50px 0 18px;
}

.legal-content p{
font-size:15px;
margin-bottom:18px;
}

.legal-content strong{
color:#e5d2a3;
font-weight:500;
}

/* ================= LEGAL CARD ================= */

.legal-card{
position:relative;

padding:40px 36px;

background:#111;
border-radius:10px;

border:1px solid rgba(198,161,91,.15);

transition:.35s ease;
}

.legal-card::before{
content:"";
position:absolute;
inset:0;

padding:1px;
border-radius:10px;

background:linear-gradient(
120deg,
transparent,
rgba(198,161,91,.25),
rgba(198,161,91,.8),
rgba(198,161,91,.25),
transparent
);

-webkit-mask:
linear-gradient(#000 0 0) content-box,
linear-gradient(#000 0 0);

-webkit-mask-composite: xor;
mask-composite: exclude;

opacity:.35;
transition:.4s ease;
}

.legal-card:hover{
transform:translateY(-6px);

border-color:rgba(198,161,91,.35);

box-shadow:
0 20px 50px rgba(0,0,0,.55),
0 0 25px rgba(198,161,91,.08);
}

.legal-card:hover::before{
opacity:.65;
}

/* TEXT */

.legal-card h2{
font-family:'Playfair Display',serif;
font-size:24px;
color:#e5d2a3;
margin-bottom:20px;
}

.legal-card p{
font-size:15px;
line-height:1.8;
color:rgba(255,255,255,.85);
margin-bottom:10px;
}

/* ================= PRIVACY CHECK ================= */

.privacy-box{
margin:20px 0 5px;
padding:14px 16px;

background:rgba(255,255,255,.02);
border:1px solid rgba(198,161,91,.25);
border-radius:4px;
}

.privacy-check{
display:flex;
align-items:flex-start;
gap:10px;

font-size:14px;
line-height:1.5;

color:rgba(255,255,255,.85);
cursor:pointer;
}

.privacy-check input{
margin-top:4px;
width:16px;
height:16px;
accent-color:#c6a15b;
}

.privacy-check a{
color:#c6a15b;
text-decoration:none;
transition:.25s;
}

.privacy-check a:hover{
color:#e5d2a3;
text-decoration:underline;
}

/* ================= COOKIE BANNER ================= */

#cookie-banner{
position:fixed;
bottom:30px;
left:50%;
transform:translateX(-50%);

width:90%;
max-width:820px;

padding:24px 28px;

background:#0f0f0f;
border:1px solid rgba(198,161,91,.4);
border-radius:10px;

box-shadow:
0 20px 60px rgba(0,0,0,.9),
0 0 30px rgba(198,161,91,.15);

z-index:900;

opacity:0;
pointer-events:none;

transition:.4s ease;
}

#cookie-banner.show{
opacity:1;
pointer-events:auto;
}

.cookie-content{
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
flex-wrap:wrap;
}

.cookie-content p{
margin:0;
font-size:14px;
line-height:1.6;
color:#ddd;
}

.cookie-content a{
color:#c6a15b;
text-decoration:none;
}

.cookie-buttons{
display:flex;
gap:12px;
}

.cookie-btn{
padding:10px 18px;

font-size:14px;
font-family:'Poppins',sans-serif;

border:none;
border-radius:4px;

cursor:pointer;
transition:.3s ease;
}

.cookie-btn.accept{
background:#c6a15b;
color:black;
}

.cookie-btn.accept:hover{
background:#e0c48a;
}

.cookie-btn.decline{
background:#1b1b1b;
color:#ccc;

border:1px solid rgba(198,161,91,.3);
}

.cookie-btn.decline:hover{
border-color:#c6a15b;
color:#c6a15b;
}

/* ================= FOOTER LEGAL ================= */

.footer-legal{
margin-left:20px;
font-size:13px;
opacity:.7;
}

.footer-legal a{
color:#c6a15b;
text-decoration:none;
transition:.25s;
}

.footer-legal a:hover{
opacity:1;
}

.footer-legal .sep{
margin:0 8px;
opacity:.5;
}

/* ================= FOOTER CREDIT ================= */

.footer-credit{
position:relative;

text-decoration:none;

background:linear-gradient(
90deg,
#c6a15b 0%,
#f0d79a 50%,
#c6a15b 100%
);

background-size:200%;
background-clip:text;
-webkit-background-clip:text;

color:transparent;
-webkit-text-fill-color:transparent;

transition:.3s ease;
}

.footer-credit:hover{
animation:creditShimmer 1.6s linear infinite;
}

@keyframes creditShimmer{
0%{background-position:-200%;}
100%{background-position:200%;}
}

/* ================= RESPONSIVE ================= */

@media (max-width:768px){

.legal-page{
padding:80px 20px;
}

.legal-content h2{
font-size:22px;
}

.legal-content p{
font-size:15px;
}

}

/* ================= THANK YOU PAGE ================= */

.thankyou{
min-height:100vh;

display:flex;
align-items:center;
justify-content:center;

padding:120px 20px 80px;

text-align:center;

background:
linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.9)),
url("img/hero.webp");
background-size:cover;
background-position:center;
background-repeat:no-repeat;
}

.thankyou-box{
max-width:700px;
margin:auto;
padding:50px 40px;

background:rgba(255,255,255,0.02);
border:1px solid rgba(198,161,91,0.2);
border-radius:16px;

backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
}

.thankyou h1{
font-family:'Playfair Display', serif;
font-size:42px;
margin-bottom:20px;
}

.thankyou p{
font-size:18px;
line-height:1.6;
opacity:0.85;
margin-bottom:30px;
}

.thankyou .cta-button{
display:inline-block;
padding:14px 26px;
background:linear-gradient(135deg,#c6a15b,#e0c27a);
color:#000;
font-weight:500;
border-radius:8px;
text-decoration:none;
transition:0.3s;
}

.thankyou .cta-button:hover{
transform:translateY(-2px);
box-shadow:0 10px 25px rgba(198,161,91,0.3);
}



/* ================= MOBILE ================= */

@media (max-width:768px){

.lightbox{
justify-content:center;
z-index:9999;
}

.lightbox-inner{
position:relative;
display:flex;
align-items:center;
justify-content:center;
width:100%;
height:100%;
}

.lightbox-inner img{
display:block;
margin:auto;
}

.about-grid{
grid-template-columns:1fr;
gap:30px;
text-align:center;
}

.about img{
max-width:100%;
width:100%;
margin:auto;
}

.about-text{
text-align:center;
}

/* LOGO */
.logo{
display:flex;
align-items:center;
gap:10px;
max-width:70%;
}

.logo img{
height:42px;
}

.logo-text span{
display:none;
}

.section-title{
font-size:clamp(28px, 7.5vw, 38px);
line-height:1.2;

white-space:normal !important;

padding:0 16px;
text-align:center;

text-wrap:balance;
word-break:normal;
overflow-wrap:normal;

max-width:100%;
}

/* HEADER BUTTON HIDE */
.header-btn{
display:none;
}

/* HAMBURGER */
.menu-toggle{
display:flex;
flex-direction:column;
z-index:10000;
cursor:pointer;
}

/* NAV */
nav{
width:100vw;
height:100vh;
position:fixed;
inset:0;
overflow-y:auto;
-webkit-overflow-scrolling:touch;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;

background:rgba(10,10,10,.96);
backdrop-filter:blur(10px);

opacity:0;
pointer-events:none;

transition:.35s ease;
z-index:1500;
}

nav.active{
opacity:1;
pointer-events:auto;
}

nav a{
width:80%;
padding:22px 0;
font-size:24px;
text-align:center;
border-bottom:1px solid rgba(198,161,91,.25);
opacity:0;
transform:translateY(20px);
transition:.35s ease;
}

nav.active a{
opacity:1;
transform:translateY(0);
}

nav a:last-child{
border-bottom:none;
}

.hero-title{
font-size:clamp(32px, 8vw, 42px);
line-height:1.2;
white-space:normal;   /* EZ A KULCS */
word-break:break-word;
}

}

.hero-buttons{
display:flex;
flex-direction:column;
gap:12px;
width:100%;
}

.hero-buttons a{
width:100%;
text-align:center;
}

/* ===== PRODUCT TITLE FIX ===== */
.product-card h3{
background:#0f0f0f;
padding:14px;
margin:0;
}

/* ================= HERO ================= */

.hero{
position:relative;
overflow:hidden;

width:100%;
min-height:85vh;

display:flex;
align-items:center;
justify-content:center;
text-align:center;

padding:80px 20px 60px;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.85)),
url("../img/hero.webp");

background-size:cover;
background-position:center;
background-repeat:no-repeat;

animation:heroZoom 20s ease-in-out infinite alternate;

isolation:isolate;
}

/* ===== MOBILE OPTIMIZATION ===== */

@media (max-width:768px){

.hero{
animation:none; /* 🔥 kikapcsoljuk mobilon */
min-height:75vh;
padding-top:100px;
}

.hero::before,
.hero::after{
animation:none; /* 🔥 plusz animációk off */
}

}

/* EXTRA FÉNY MÉLYSÉG */
.hero::after{
content:"";
position:absolute;
inset:0;
z-index:1;
pointer-events:none;

background:
radial-gradient(circle at 20% 30%, rgba(198,161,91,.10), transparent 45%),
radial-gradient(circle at 80% 70%, rgba(198,161,91,.05), transparent 45%);
}

/* FÉNYSUGARAK */
.hero::before{
content:"";
position:absolute;
inset:0;
z-index:1;
pointer-events:none;

opacity:.08;

background:
linear-gradient(115deg,transparent 0%,transparent 42%,rgba(198,161,91,.05) 47%,rgba(224,196,138,.10) 50%,rgba(198,161,91,.05) 53%,transparent 58%),
linear-gradient(125deg,transparent 0%,transparent 18%,rgba(198,161,91,.03) 24%,rgba(224,196,138,.06) 27%,rgba(198,161,91,.03) 30%,transparent 36%);

animation:lightRaysDrift 20s ease-in-out infinite alternate;
}

/* CONTENT */
.hero-content{
max-width:1400px;
margin:auto;
text-align:center;
}

/* ================= HERO TEXT ================= */

.hero p{
font-size:18px;
line-height:1.6;
max-width:700px;

margin:0 auto 35px;

opacity:0;
transform:translateY(20px);

animation:heroSubtitleReveal 2.1s ease forwards;
animation-delay:1.8s;
}

/* ================= BUTTONS ================= */

/* PRIMARY */
.cta-button{
display:inline-block;
padding:16px 38px;
border-radius:8px;
text-decoration:none;
font-weight:600;

background:linear-gradient(135deg,#c6a15b,#e0c48a);
color:#111;

box-shadow:0 10px 30px rgba(198,161,91,.25);
transition:.35s ease;
}

.cta-button:hover{
transform:translateY(-3px);
background:linear-gradient(135deg,#e0c48a,#f3dba3);
}

/* GHOST */
.ghost-button{
display:inline-block;
padding:16px 38px;

border-radius:8px;
border:1px solid rgba(198,161,91,.6);

color:#e0c48a;
background:transparent;

transition:.3s ease;
}

.ghost-button:hover{
background:rgba(198,161,91,.15);
color:white;
}



/* MOBIL FIX */
@media (max-width:768px){

.hero-buttons{
flex-direction:column;
align-items:center;
}

.hero-buttons a{
width:100%;
max-width:280px;
text-align:center;
}

}

/* SPACING */

.categories,
.why-premium,
.testimonials,
.products-page,
.product-gallery,
.about,
.story,
.inspiration,
.process,
.gallery,
.contact{
padding-left:20px;
padding-right:20px;
}

/* ================= INSPIRATION CARD ================= */

.inspiration-card{
position:relative;
border:1px solid rgba(198,161,91,0.25);
border-radius:10px;
overflow:hidden;
background:#0f0f0f;

display:flex;
flex-direction:column;

transition:all .45s cubic-bezier(.19,1,.22,1);
}

.inspiration-card img{
width:100%;
height:260px;
object-fit:cover;
display:block;

transition:.6s ease;
}

.inspiration-card h3{
font-family:'Playfair Display',serif;
font-size:18px;
margin:16px 0 0;
text-align:center;
color:#e5d2a3;

transition:.3s ease;
}

.inspiration-card:hover{
transform:translateY(-10px) scale(1.02);

box-shadow:
0 20px 60px rgba(0,0,0,.8),
0 0 30px rgba(198,161,91,.15);

border-color:#c6a15b;
}

.inspiration-card:hover img{
transform:scale(1.08);
}

.inspiration-card:hover h3{
color:#c6a15b;
}

.inspiration-card::before{
content:"";
position:absolute;
inset:0;

border-radius:10px;
padding:1px;

background:linear-gradient(
120deg,
transparent,
rgba(198,161,91,.3),
rgba(198,161,91,.8),
rgba(198,161,91,.3),
transparent
);

-webkit-mask:
linear-gradient(#000 0 0) content-box,
linear-gradient(#000 0 0);

-webkit-mask-composite:xor;
mask-composite:exclude;

opacity:.3;
transition:.4s ease;
pointer-events:none;
}

.inspiration-card:hover::before{
opacity:.7;
}

.gallery-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
}


/* ===== TABLET / MOBILE ===== */

@media (max-width:768px){

.products-grid{
grid-template-columns:repeat(2,1fr);
gap:20px;
margin-top:40px;
}

.category-grid{
grid-template-columns:1fr;
gap:20px;
}

.testimonial-grid{
grid-template-columns:1fr;
max-width:420px;
margin:40px auto 0;
}

.why-grid{
grid-template-columns:1fr;
gap:25px;
margin-top:40px;
}

.inspiration-grid,
.process-grid{
grid-template-columns:1fr;
}

.gallery-grid{
grid-template-columns:repeat(2,1fr);
gap:16px;
}

}

/* CARD IMAGES */

.inspiration-card img{
width:100%;
height:260px;
object-fit:cover;
display:block;
transition:.6s ease;
}

.inspiration-card h3{
font-family:'Playfair Display',serif;
font-size:18px;
padding:16px;
text-align:center;
color:#e5d2a3;
margin:0;
}

/* CTA */

.cta-offer .cta-button{
margin:25px auto 0;
padding:14px 28px;
}

@media (max-width:768px){

.footer{
padding:60px 20px 30px;
text-align:center;
}

.footer-grid{
grid-template-columns:1fr;
gap:40px;
text-align:center;
justify-items:center;
}

/* LOGO FIX */
.footer img{
display:block;
margin:0 auto 15px auto;
}

.footer-bottom{
flex-direction:column;
gap:10px;
text-align:center;
}

}
/* LEGAL */

.legal-page{
padding:80px 20px;
}

.legal-card{
padding:28px 22px;
}

.legal-card h2{
font-size:22px;
}

/* ================= SMALL MOBILE ================= */

@media (max-width:500px){


.inspiration-grid,
.gallery-grid{
grid-template-columns:1fr;
}

/* ✅ KÁRTYA ARÁNY (nem a kép!) */
.product-card,
.category-card{
aspect-ratio:auto; /* EZ A KULCS */
}

/* ✅ KÉP HELYES KEZELÉS */
.product-card img,
.category-card img{
width:100%;
aspect-ratio:1/1;
height:auto; /* FONTOS */
object-fit:cover;
}

}

/* ===== PRODUCT CARD COLOR FIX ===== */

.product-card,
.product-card *{
color:#e5d2a3;
}

.product-card:hover,
.product-card:hover *{
color:#c6a15b;
}

/* overlay külön fix */

.product-card .card-overlay{
color:#c6a15b;
}

.product-card .card-overlay span{
color:#c6a15b;
}

/* ================= LIGHTBOX FIX ================= */

.lightbox{
position:fixed;
inset:0;
background:rgba(0,0,0,.9);
display:flex;
align-items:center;
justify-content:center;
z-index:9999;
}

.lightbox-inner{
position:relative;
display:flex;
align-items:center;
justify-content:center;
width:100%;
height:100%;
}

.lightbox-inner img{
display:block;
margin:auto;

width:auto;
height:auto;

max-width:90vw;
max-height:90vh;

object-fit:contain;
}
/* ================= HERO CENTER FIX ================= */

@media (min-width:769px){
.hero-title{
white-space:normal; /* ez a kulcs */
position:static;
transform:none;
}
}
