/* =========================
RESET
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

img{
width:100%;
display:block;
}

/* =========================
DESIGN SYSTEM
========================= */

:root{

--bg:#fff;
--text:#111;
--accent:#bfa37a;

--section-space-desktop:70px;
--section-space-mobile:70px;

--grid-gap:60px;

}

/* =========================
BODY
========================= */

body{
opacity:0;
transition:0.3s;
}

body.loaded{
opacity:1;
}

body{

font-family:'Inter',sans-serif;
background:var(--bg);
color:var(--text);
font-weight:300;
line-height:1.7;

}

/* =========================
TYPOGRAPHY
========================= */

h1,h2,h3{

font-family:'Bodoni Moda',serif;
font-weight:500;
letter-spacing:.05em;

}

h1{
font-size:44px;
margin-bottom:30px;
}

h2{
font-size:36px;
margin-bottom:30px;
}

p{
font-size:16px;
line-height:1.8;
}

/* =========================
SECTION SPACING
========================= */

section{
margin:var(--section-space-desktop) 0 0 0;
}

/* =========================
HEADER
========================= */

.header{

position: sticky;
top:0;
width:100%;
background:var(--bg);
z-index:9999;

}

.nav{

width:90%;
max-width:1200px;

margin:auto;

display:flex;
justify-content:space-between;
align-items:center;

padding:20px 0;

}

.logo{

width:110px;
height:60px;
background:url("../img/LOGO_MANTRA.svg") center/contain no-repeat;

}

.logo:hover{

cursor:pointer;

}

.menu ul{

display:flex;
gap:20px;
list-style:none;

}

.menu a {
    color:var(--text);
  position: relative;
  opacity: 0.6;
  transition: 0.3s;
  font-size:16px;
  letter-spacing:2px;
  text-decoration:none;
}

.menu a.active {
  opacity: 1;
}

.menu a.active::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--accent);
}

/* =========================
HAMBURGER
========================= */

.hamburger{

display:none;
flex-direction:column;
gap:6px;
cursor:pointer;

}

.hamburger span{

width:25px;
height:1px;
background:#111;

}

/* =========================
HERO
========================= */

.hero{

height:100vh;
position:relative;
overflow:hidden;

display:flex;
align-items:center;
justify-content:center;
margin-top:0px !important;

}

.hero-video{

position:absolute;

top:50%;
left:50%;

min-width:100%;
min-height:100%;

width:auto;
height:auto;

transform:translate(-50%,-50%);

object-fit:cover;

}

/* overlay */

.hero::after{

content:"";
position:absolute;
inset:0;

background:rgba(0,0,0,0.35);

}

/* =========================
SINERGIA
========================= */

.sinergia-container{

width:90%;
max-width:1200px;
margin:auto;

}

.sinergia-title{

text-align:center;
margin-bottom:60px;

}

.sinergia-content{

display:grid;
grid-template-columns:1fr 1fr;
gap:80px;
align-items:center;
}

/*
#sinergia-image {
    grid-area: A;
}

#sinergia-text {
    grid-area: B;
}
*/

.sinergia-text p {
    font-size: 16px;
    line-height: 1.9;
    text-align: justify;
    font-family: "Plus Jakarta Sans", sans-serif;
}


@media (max-width: 1024px) {
    #sinergia-image {
        order: 2;
    }
    #sinergia-text {
        order: 1;
    }
}


.sinergia-paragraph{

font-size:16px;
line-height:1.9;
text-align:justify;
font-family: "Plus Jakarta Sans", sans-serif;
}

.dropcap img{

width:60px;
float:left;
margin-right:12px;
margin-top:6px;

}

/* =========================
AURA
========================= */

.aura-section {
    background: url("../img/Aura_BG.jpg") center/cover no-repeat;
    margin-top: 0px !important;
}

.aura-container{
width:90%;
max-width:1200px;
margin:auto;
text-align:center;
}

.aura-logo{

width:120px;
margin:auto;
margin-bottom:30px;
padding-top:70px;

}

.aura-text{

max-width:100%;
margin:auto;
margin-bottom:80px;
text-align:justify;
font-family: "Plus Jakarta Sans", sans-serif;

}

.aura-cards{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:var(--grid-gap);

}

.aura-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 70px;
}

/* ==============================
   CARD
============================== */

.aura-card {
  text-align: left;
  opacity: 0;
  transform: translateY(40px);
  animation: fadeUp 1s ease forwards;
}

.aura-card:nth-child(2) {
  animation-delay: 0.2s;
}

.aura-card:nth-child(3) {
  animation-delay: 0.4s;
}

/* IMMAGINE WRAPPER */
.card-img {
  overflow: hidden;
  margin-bottom: 30px;
}

.card-img img {
  width: 100%;
  transition: transform 0.8s ease;
}

/* HOVER ELEGANTE */
.aura-card:hover img {
  transform: scale(1.05);
}

/* TITOLI CARD */
.aura-card h3 {
    font-family: 'BodoniModa', serif;
    font-size: 28px;
    margin-bottom: 12px;
    font-weight: 500;
    text-align: center;
}

/* TESTO CARD */
.aura-card p {
    font-size: 16px;
    line-height: 1.7;
    color: #555;
    margin-bottom: 16px;
    text-align: justify;
    font-family: "Plus Jakarta Sans", sans-serif;
    min-height: 135px;
    text-align: center;
}

/* ==============================
   ANIMAZIONE
============================== */

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================
SERVICES
========================= */

.services-container{

width:90%;
max-width:1200px;
margin:auto;
text-align:center;

}

.services-subtitle{

max-width:100%;
margin:auto;
margin-bottom:70px;
font-family: "Plus Jakarta Sans", sans-serif;

}

.services-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:var(--grid-gap);

}

/* CARD */

.service-card{

display:flex;
flex-direction:column;
  transform: translateY(40px);
  animation: fadeUp 1s ease forwards;
}

/* HOVER ELEGANTE */
.service-card:nth-child(2){
animation-delay:.2s;
}

.service-card:nth-child(3){
animation-delay:.4s;
}

.solo-mobile {
    display: none; /* nascosto di default (desktop) */
}

@media (max-width: 768px) {
    .solo-mobile {
        display: flex; /* oppure block, a seconda del tuo layout */
    }
}

.solo-desktop {
    display: none; /* nascosto di default (desktop) */
}

@media screen and (min-width: 768px) {
    .solo-desktop {
        display: block; /* oppure block, a seconda del tuo layout */
    }
}

/* IMMAGINE WRAPPER */
.service-image{
overflow:hidden;
margin-bottom:30px;
}

.service-image img{

width:100%;
height:260px;
object-fit:cover;
display:block;
transition:transform .8s ease;
}

.service-card:hover .service-image img{

transform:scale(1.05);

}

/* =========================
CUTE
========================= */

.cute-container{

width:90%;
max-width:1200px;
margin:auto;
text-align:center;

}

.cute-title{

font-size:28px;
margin-bottom:14px;
font-weight:500;

}

.cute-text{

font-size:16px;
line-height:1.7;
color:#555;
margin-bottom:16px;
text-align:justify;
font-family: "Plus Jakarta Sans", sans-serif;

}

.cute-image {
 margin-bottom:30px;
}

/* GRID */

.cute-treatments{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:16px 30px;
font-family: "Plus Jakarta Sans", sans-serif;

}


/* ITEM */

.treatment-item{

font-size:16px;
line-height:1.5;
color:#444;
display:flex;
flex-wrap:wrap;
align-items:center;

}


/* TYPO */

.treatment-name{

font-weight:600;

}


/* SEPARATOR */

.treatment-duration::before,
.treatment-price::before{

content:"|";
margin:0 8px;
color:#aaa;

}

.treatment-duration,
.treatment-price{

color:#666;

}

.gift-section {
  display: flex;
  justify-content: center;
  background:#fff;
}

/* CONTENITORE CON SFONDO */
.gift-container {
  width: 100%;
  max-width: 1400px;
  background: url("../img/GiftCardBG.png") center/cover no-repeat;
  border-radius: 60px;
  padding: 0px 60px;
  text-align: center;
  position: relative;
}

/* TITOLO */
.gift-title {
  font-family: 'BodoniModa', serif;
  font-size: 64px;
  margin-bottom: 30px;
  letter-spacing: 3px;
}


.gift-text{

font-size:16px;
line-height:1.7;
color:#555;
margin-bottom:16px;
text-align:center;
font-family: "Plus Jakarta Sans", sans-serif;

}

/* GRID CARD */
.gift-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 50px;
  margin-bottom: 60px;
}

/* CARD */
.gift-card {
  border-radius: 24px;
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  position:relative;
}

.gift-card img {
  width: 100%;
  display: block;
}

/* HOVER ELEGANTE */
.gift-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

/* TESTO FINALE */
.gift-note {
  font-size: 14px;
  opacity: 0.7;
  margin-top: 40px;
  font-family: "Plus Jakarta Sans", sans-serif;
  margin-bottom: 20px;
}

.gift-price {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);

  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 30px;
  color: #000;

  pointer-events: none; /* non interferisce con hover */
  letter-spacing: 0px;
  line-height: 5;
  font-weight:bold;
}

.gift-price.white {
    color:#FFF;
}
/* ==============================
   CONTATTI SECTION
============================== */

.contatti-section {
  display: flex;
  justify-content: center;
  background-image:url("../img/Contatti_BG.jpg");
  background-size:cover;
  background-position:center;
}

.contatti-container{
width:100%;
max-width:1200px;
margin:auto;
text-align:center;
min-height:100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;

}

/* ==============================
   TITOLO
============================== */

.contatti-title {
  font-family: 'BodoniModa', serif;
  font-size: 48px;
  font-weight: 500;
  margin-bottom: 90px;
  letter-spacing: 2px;
}

/* ==============================
   GRID CARD
============================== */

.contatti-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}

/* ==============================
   CARD
============================== */

.contatti-card {
  background: rgba(255,255,255,0.85);
  padding: 40px 30px;
  min-height: 170px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: 0.4s ease;
}

.contatti-card:hover {
  transform: translateY(-6px);
}

/* TESTO */
.card-content p {
  font-size: 14px;
  line-height: 1.8;
  font-weight: 300;
}

.card-content strong {
  font-weight: 600;
}

/* ICONA IN BASSO */
.card-icon {
  margin-top: 20px;
  display:flex;
  justify-content:center;
}

.card-icon img {
  width: 26px;
  height: auto;
  opacity: 0.8;
}

/* ==============================
   MOBILE
============================== */

@media (max-width: 768px) {

  .contatti-container {
    padding: 100px 30px;
  }

  .contatti-title {
    font-size: 30px;
    margin-bottom: 60px;
  }

  .contatti-cards {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .contatti-card {
    text-align: center;
  }

}

/* ==============================
   FOOTER
============================== */

.footer {
  padding: 80px 20px;
  background: #fff;
}

.footer-container {
  max-width: 1200px;
  margin: auto;
  }

.footer {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 30px;
  align-items: start;
      max-width: 1200px;
      margin: auto;
}

/* colonne */
.footer-col {
  width: 100%;
}

/* allineamenti */
.col-a {
  text-align: left;
}

.col-b,
.col-c {
  text-align: right;
}

/* TESTO CENTRALE */
.footer-highlight {
  background: #c8b1a0;
  padding: 20px 25px;
  text-align: center;
  font-size: 16px;
}

/* TITOLI */
.footer-col h4 {
  font-family: 'BodoniModa', serif;
  font-size: 14px;
  margin-bottom: 15px;
}

/* LISTE */
.footer-col ul {
  list-style: none;
}
/* LISTE */
.footer-row ul {
  list-style: none;
}
/* LINK */
.footer-col a {
  text-decoration: none;
  color: #111;
  font-size: 14px;
}

.footer-col a:hover {
  opacity: 0.6;
}

.footer p{
font-size:14px;
}

.footer-row {
  display: grid;
  grid-template-columns: 1fr 1fr auto 1fr 1fr;
  align-items: center;
  gap: 20px;
}

/* colonne */
.col {
  font-size: 14px;
  min-height:125px;
}

.col a{
  text-decoration:none;
      color: #111;
}

/* allineamenti */
.right {
  text-align: right;
}

.left {
  text-align: left;
}

/* logo centrale */
.logo {
  display: flex;
  justify-content: center;
  align-items: center;
}

.logo img {
  max-height: 60px;
}


/* ==============================
   MOBILE
============================== */

@media (max-width: 768px) {
  .footer {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .footer-col {
    text-align: left; /* più leggibile su mobile */
  }
}

/* ---------------- RESPONSIVE ---------------- */

@media (max-width: 1200px) {
  .gift-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {

  .gift-container {
    padding: 80px 30px;
    border-radius: 40px;
  }

  .gift-title {
    font-size: 40px;
    margin-bottom: 50px;
  }

  .gift-cards {
    grid-template-columns: 1fr;
    gap: 30px;
  }

}

/* TYPOGRAPHY */

.service-title{

font-size:28px;
margin-bottom:14px;
font-weight:500;

}


.service-text{

font-size:16px;
line-height:1.7;
color:#555;
margin-bottom:16px;
text-align:justify;
font-family: "Plus Jakarta Sans", sans-serif;
min-height:135px;
}

.service-caption{

font-size:14px;
color:#666;
gap:12px;
flex-wrap:wrap;
font-family: "Plus Jakarta Sans", sans-serif;
text-align:left;
}

.service-caption strong{
font-weight: 600;
font-size: 16px;
line-height: 1.5;
color: #444;
}


.service-item{

font-size:16px;
line-height:1.5;
color:#444;
display:flex;
flex-wrap:wrap;
align-items:center;

}

.service-item.first{

margin-bottom:5px;

}

.service-note {
    font-size: 13px;
    font-style: italic;
    text-align:left;
}

/* TYPO */

.service-name{

font-weight:600;

}

/* SEPARATOR */

.service-price::before{

content:"|";
margin:0 8px;
color:#aaa;

}

.service-price{

color:#666;

}

/* MOBILE */

@media(max-width:768px){

.services-title{

font-size:34px;

}

.services-grid{

grid-template-columns:1fr;
gap:50px;

}

.service-image img{

height:220px;

}

}

/* =========================
RESPONSIVE
========================= */

@media(max-width:1024px){

.aura-section {
    background: none;
}

.contatti-section {
    background: none;
    background-color: #E5E5E9;
}


.gallery-caption {
display:none
}

.lightbox-arrow {
    top: 90% !important;
}

.lightbox-caption p{
    font-size:10px !important;
    line-height:0 !important;
}


.sinergia-content{
grid-template-columns:1fr;
}

.aura-cards{
grid-template-columns:1fr 1fr;
}

.services-grid{
grid-template-columns:1fr 1fr;
}

}

/* =========================
MOBILE
========================= */

@media(max-width:1024px){

section{
padding:var(--section-space-mobile) 0 0 0;
}

.menu{

position:fixed;
right:-100%;
top:0;

width:70%;
height:100vh;

background:var(--bg);

display:flex;
align-items:center;
justify-content:center;

transition:.4s;

}

.menu ul{

flex-direction:column;
gap:30px;

}

.menu.active{
right:0;
}

.hamburger{
display:flex;
}

.hero{
height:70vh;
}

.hero-video{

height:100%;
width:auto;
min-height:100%;
}

.aura-cards{
grid-template-columns:1fr;
}

.services-grid{
grid-template-columns:1fr;
}

h1{
font-size:32px;
}

}


.testimonials{
background:#fff;
overflow:hidden;
}

.testimonials-container {
    width: 90%;
    max-width: 1200px;
    margin: auto;
    text-align: center;
}

.testimonial-slider{
max-width:1200px;
margin:auto;
overflow:hidden;
position:relative;
}

.testimonial-track{
display:flex;
transition:transform .8s cubic-bezier(.65,.05,.36,1);
}

.testimonial-text{

max-width:100%;
margin:auto;
margin-bottom:80px;
text-align:justify;
font-family: "Plus Jakarta Sans", sans-serif;

}

/* ITEM */

.testimonial{
min-width:100%;
/*display:grid;
grid-template-columns:320px 1fr;*/
gap:70px;
align-items:center;
opacity:.4;
transition:opacity .6s ease;
/*
padding-bottom:60px;
border-bottom:1px solid #ddd;
*/
}

.testimonial.active{
opacity:1;
}

/* IMAGE */

.testimonial-img{
overflow:hidden;
}

.testimonial-img img{
width:100%;
height:100%;
object-fit:cover;
transform:scale(1.05);
transition:transform 1.2s ease;
}

.testimonial.active img{
transform:scale(1);
}

/* CONTENT */

.testimonial-content p{
font-size:16px;
line-height:1.5;
color:#555;
/*max-width:640px;*/
margin-bottom:30px;
font-family: "Plus Jakarta Sans", sans-serif;
text-align:justify;
font-style: italic;
}

.testimonial-name{
font-size:20px;
letter-spacing:3px;
color:#e04863;
}

/* CONTROLS */

.testimonial-controls{
max-width:1200px;
margin:40px auto 0;
display:flex;
align-items:center;
gap:40px;
}

/* PAGINATION */

.testimonial-pagination{
font-size:22px;
letter-spacing:3px;
color:#777;
}

/* PROGRESS BAR */

.progress-bar{
flex:1;
height:2px;
background:#ddd;
position:relative;
overflow:hidden;
}

.progress{
height:100%;
width:0%;
background:#333;
}

/* ARROWS */

.testimonial-arrows{
display:flex;
gap:20px;
}

.testimonial-arrows button{
background:none;
border:1px solid #ccc;
width:42px;
height:42px;
font-size:20px;
cursor:pointer;
transition:.3s;
}

.testimonial-arrows button:hover{
background:#111;
color:#fff;
border-color:#111;
}


.testimonials-title{
text-align:center;
font-size:56px;
margin-bottom:70px;
}


/* MOBILE */

@media (max-width:768px){

.testimonial{
grid-template-columns:1fr;
text-align:center;
gap:30px;
}

.testimonial-content p{
font-size:18px;
margin:auto;
}

.testimonial-controls{
flex-direction:column;
gap:20px;
}

.progress-bar{
width:100%;
}

}

.gallery-section{
background:#fff;
overflow:hidden;
}

.gallery-title{
text-align:center;
font-size:56px;
margin-bottom:70px;
}

.gallery-container {
    width: 90%;
    max-width: 1200px;
    margin: auto;
    text-align: center;
}

/* wrapper */

.gallery-wrapper{
display:flex;
align-items:center;
position:relative;
}

/* slider */

.gallery-track{
display:flex;
gap:24px;
overflow-x:auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;

  scroll-behavior: smooth;
  padding-bottom: 10px;
  position: relative;
  z-index: 2;
  touch-action: pan-y;
}

.gallery-track::-webkit-scrollbar{
display:none;
}

/* card */

.gallery-item {
min-width:25%;
position:relative;
overflow:hidden;
cursor:pointer;
border-radius:4px;
scroll-snap-align: start;
z-index 2;
}

.gallery-item img{
width:100%;
height:420px;
object-fit:cover;
transition:transform .6s ease;
pointer-events:none;
}

.gallery-item:hover img{
transform:scale(1.08);
}

/* caption */

.gallery-caption{

position:absolute;
bottom:0;
left:0;
right:0;

padding:22px;

color:white;

background:linear-gradient(
transparent,
rgba(0,0,0,0.8)
);

transform:translateY(10px);
transition:.4s;
pointer-events:none;

}

.gallery-item:hover .gallery-caption{
transform:translateY(0);
}

.gallery-caption h3{
font-size:18px;
margin-bottom:6px;
}

.gallery-caption p{
font-size:14px;
opacity:.9;
}

/* arrows */

.gallery-arrow{

background:none;
border:none;
font-size:34px;
cursor:pointer;

padding:10px 18px;
z-index:10;

}

/* LIGHTBOX */

.gallery-lightbox{

position:fixed;
inset:0;

background:rgba(0,0,0,.85);

display:flex;
align-items:center;
justify-content:center;

opacity:0;
visibility:hidden;

transition:.4s;

z-index:9999;
pointer-events: none;
touch-action:none;

}

.gallery-lightbox.active{
opacity:1;
visibility:visible;
pointer-events:auto;
touch-action:none;
}

.lightbox-inner{
text-align:center;
max-width:900px;
animation:zoom .4s ease;
}

@keyframes zoom{

from{
transform:scale(.8);
opacity:0;
}

to{
transform:scale(1);
opacity:1;
}

}

.lightbox-img{
max-width:90vw;
max-height:70vh;
object-fit:contain;
pointer-events:auto;
transition: transform 0.3s ease, opacity 0.3s ease;
}

.lightbox-caption{
color:white;
margin-top:20px;
}

.lightbox-close{
position:absolute;
top:30px;
right:40px;
font-size:40px;
color:white;
cursor:pointer;
}

/* responsive */

@media (max-width:1200px){

.gallery-item{
min-width:33%;
}

}

@media (max-width:768px){

.gallery-item{
min-width:33%;
}

.gallery-item img{
height:240px;
pointer-events:none;
}

.gallery-caption h3{
font-size:14px;
}

.gallery-caption p{
font-size:12px;
}

.gallery-arrow{
font-size:26px;
}

}

/* =========================
LIGHTBOX ARROWS
========================= */

.lightbox-arrow{

position:absolute;
top:50%;
transform:translateY(-50%);

font-size:40px;
color:white;

cursor:pointer;

padding:10px;
user-select:none;

transition:.3s;

z-index:10;

}

.lightbox-arrow:hover{
opacity:0.6;
}

.lightbox-arrow.prev{
left:20px;
}

.lightbox-arrow.next{
right:20px;
}

/* mobile */

@media(max-width:768px){

.lightbox-arrow{
font-size:28px;
}

}


html {
  -webkit-overflow-scrolling: touch;
}

section {
  scroll-margin-top: 100px;
}

html {
  scroll-behavior: auto;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s ease;
  z-index: 9999;
}

.modal.active {
  opacity: 1;
  visibility: visible;
}

.modal-content {
  background: #efefef;
  max-width: 900px;
  width: 90%;
  position: relative;
}

.modal-close {
  position: absolute;
  top: 10px;
  right: 15px;
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
}

.modal-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.modal-text {
  padding: 40px;
  font-family: "Plus Jakarta Sans", sans-serif;
}

.modal-text h2 {
  font-size: 28px;
  margin-bottom: 20px;
}

.modal-text p {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.modal-text input {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  margin-bottom: 20px;
  font-family: "Plus Jakarta Sans", sans-serif;
}

.modal-text button {
  background: #c8a992;
  border: none;
  padding: 12px 20px;
  cursor: pointer;
  font-family: "Plus Jakarta Sans", sans-serif;
}

.modal-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 📱 MOBILE */
@media (max-width: 768px) {
  .modal-inner {
    grid-template-columns: 1fr;
  }

  .modal-image {
    display: none;
  }

  .modal-text {
    padding: 25px;
  }
}

.modal-content {
  transform: translateY(30px);
  transition: 0.3s ease;
}

.modal.active .modal-content {
  transform: translateY(0);
}

.email-error {
  display: block;
  font-size: 12px;
  color: #c0392b;
  margin-top: -10px;
  margin-bottom: 15px;
  opacity: 0;
  transition: 0.2s ease;
}

.email-error.active {
  opacity: 1;
}

input.error {
  border: 1px solid #c0392b;
}

.cookie-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #f5f4f2;
  border-top: 1px solid rgba(0,0,0,0.1);
  padding: 20px 0;
  z-index: 9999;

  transform: translateY(100%);
  transition: transform 0.6s ease;
}

.cookie-bar.show {
  transform: translateY(0);
}

.cookie-container {
  width: 90%;
  max-width: 1200px;
  margin: auto;

  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.cookie-text {
  font-size: 13px;
  max-width: 600px;
  line-height: 1.6;
}

.cookie-actions {
  display: flex;
  gap: 10px;
}

.btn {
  padding: 10px 18px;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
}

.btn-primary {
  background: var(--accent);
  color: white;
}

.btn-primary-cookie {
  background: #000;
  color: white;
  font-weight:bold;
}

.btn-secondary {
  background: transparent;
  border: 1px solid #111;
}

@media (max-width: 768px) {

  .cookie-container {
    flex-direction: column;
    align-items: flex-start;
  }

  .cookie-actions {
    width: 100%;
    justify-content: space-between;
  }

  .btn {
    width: 48%;
  }

}

/* =========================
PRIVACY
========================= */

.privacy-container{

width:90%;
max-width:1200px;
margin:auto;
text-align:center;
min-height:100vh;

}

.privacy-title{

font-size:28px;
margin-bottom:14px;
font-weight:500;

}

.privacy-text{

font-size:16px;
line-height:1.7;
color:#555;
margin-bottom:16px;
text-align:justify;
font-family: "Plus Jakarta Sans", sans-serif;

}

.privacy-image {
 margin-bottom:30px;
}

.privacy-container ol {
   list-style-position:inside;
   text-align:left;
}

.privacy-check {
  display: flex;
  align-items: center;
  gap: 10px;
}

.privacy-check input {
  width: 18px;
  height: 18px;
  cursor: pointer;
  margin:0;
}

.privacy-check label {
  cursor: pointer;
}

/* =========================
COOKIE POLICY
========================= */

.cookie-policy-container{

width:90%;
max-width:1200px;
margin:auto;
text-align:center;
min-height:100vh;

}

.cookie-policy-container ol {
   list-style-position:inside;
   text-align:left;
}

.cookie-policy-title{

font-size:28px;
margin-bottom:14px;
font-weight:500;

}

.cookie-policy-text{

font-size:16px;
line-height:1.7;
color:#555;
margin-bottom:16px;
text-align:justify;
font-family: "Plus Jakarta Sans", sans-serif;

}

.cookie-policy-image {
 margin-bottom:30px;
}


/* =========================
FAQ
========================= */


.faq-section {
  padding: 100px 20px;
}

.faq-container {
  max-width: 900px;
  margin: 0 auto;
}

/* TITLE */
.faq-title {
  text-align: center;
  font-size: 48px;
  margin-bottom: 40px;
}

/* SEARCH */
.faq-search {
  margin-bottom: 40px;
}

.faq-search input {
  width: 100%;
  padding: 18px;
  border: 1px solid #ddd;
  font-size: 16px;
}

/* ITEM */
.faq-item {
  border-bottom: 1px solid #eee;
}

/* QUESTION */
.faq-question {
  width: 100%;
  text-align: left;
  padding: 20px 0;
  font-size: 18px;
  background: none;
  border: none;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
}

/* ICON */
.faq-icon {
  transition: transform 0.3s ease;
}

/* ANSWER */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.faq-answer p {
  padding-bottom: 20px;
  color: #555;
}

/* ACTIVE */
.faq-item.active .faq-answer {
  max-height: 200px;
}

.faq-item.active .faq-icon {
  transform: rotate(45deg);
}

/* PAGINATION */
.faq-pagination {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.faq-pagination button {
  border: none;
  padding: 8px 12px;
  cursor: pointer;
  background: #eee;
}

.faq-pagination button.active {
  background: #000;
  color: #fff;
}

/* MOBILE */
@media (max-width: 768px) {
  .faq-title {
    font-size: 32px;
  }
}

/* SEO SECTION */

.seo-container {
    width: 90%;
    max-width: 1200px;
    margin: auto;
    text-align: center;
    min-height: 100vh;
}

/* TITLE */

.seo-title {
  font-family: 'BodoniModa', serif;
  font-size: 48px;
  text-align: center;
  margin-bottom: 30px;
}

/* INTRO */

.seo-intro {
  text-align: center;
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 80px;
  color: #555;
}

/* BLOCK */

.seo-block {
  margin-bottom: 60px;
}

.seo-block h2 {
  font-family: 'BodoniModa', serif;
  font-size: 28px;
  margin-bottom: 20px;
}

.seo-block p {
  line-height: 1.7;
  color: #555;
}

/* LIST */

.seo-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.seo-list div {
  padding: 20px;
  border: 1px solid #eee;
  transition: all 0.3s ease;
}

.seo-list div:hover {
  transform: translateY(-5px);
}

/* HIGHLIGHT */

.highlight {
  padding: 40px;
  background: #f8f6f3;
}

/* CTA */

.seo-cta {
  text-align: center;
  margin-top: 80px;
}

.seo-button {
  display: inline-block;
  margin-top: 20px;
  padding: 14px 30px;
  background: #c6a88b;
  color: #000;
  text-decoration: none;
  transition: 0.3s;
}

.seo-button:hover {
  opacity: 0.8;
}

/* MOBILE */

@media (max-width: 768px) {

  .seo-title {
    font-size: 32px;
  }

  .seo-list {
    grid-template-columns: 1fr;
  }

  .seo-intro {
    font-size: 16px;
  }

}