/* Fonturi Cofetăria Hets — identitate vizuală */
@font-face {
    font-family: 'CafeFrancoise';
    src: url('fonts/CafeFrancoise.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Harond';
    src: url('fonts/Harond.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/*
===============================================
VARIABILE CSS ȘI STILURI DE BAZĂ
===============================================
*/
:root{--color-background:#1a1a1a;--color-text:#f0f0f0;--color-primary-accent:#c8903a;--color-secondary-accent:#222222;--font-headings:'CafeFrancoise','Playfair Display',Georgia,serif;--font-serif:'Playfair Display',Georgia,'Times New Roman',serif;--font-body:'Inter','Segoe UI',Tahoma,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-background);color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.content-padding{padding:100px 5%;text-align:center}
.section-title{font-family:var(--font-headings);font-size:2.8em;color:var(--color-primary-accent);margin-bottom:10px}
.section-subtitle{font-family:var(--font-serif);font-size:1em;max-width:700px;margin:0 auto 50px auto;font-weight:400;color:rgba(240,240,240,0.6);font-style:normal;letter-spacing:0.2px}

/* Efect cuvant cu cuvant la scroll */
.paint-reveal{opacity:1}
.paint-reveal .paint-word{display:inline-block;opacity:0;transform:translateY(6px);transition:opacity 0.45s ease,transform 0.45s ease}
.paint-reveal.is-painting .paint-word{opacity:1;transform:translateY(0)}

img{max-width:100%;height:auto;display:block;contain:layout style paint;opacity:1 !important;visibility:visible !important}
/* Toate imaginile cu loading="lazy" să fie vizibile instant */
img[loading="lazy"]{opacity:1 !important;visibility:visible !important}
/* Forțează vizibilitatea tuturor imaginilor */
.carousel-item img{width:250px;height:auto;object-fit:contain;max-height:250px;opacity:1 !important;visibility:visible !important}
.logo-img{height:90px;max-height:90px;width:auto;display:block;opacity:1 !important;visibility:visible !important;filter:drop-shadow(0 2px 8px rgba(0,0,0,0.8)) drop-shadow(0 0 20px rgba(0,0,0,0.6))}
.main-header > a{display:flex;align-items:center}
.anpc-link img{width:171px!important;height:45px!important;max-width:171px!important;max-height:45px!important}
a{color:var(--color-primary-accent);text-decoration:none;transition:color 0.3s ease}
a:hover{color:#ffffff}
.main-header{position:fixed;top:0;left:0;right:0;z-index:1000;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:16px 5%;background:transparent;pointer-events:none}
.main-header > a,.main-header > nav,.main-header > button{pointer-events:auto}
.main-header > nav{justify-self:center}
/* Desktop navigation - visible only on desktop */
.desktop-nav{display:flex;background:rgba(26,26,26,0.92);backdrop-filter:blur(10px);border-radius:8px;padding:4px 12px}
.desktop-nav ul{list-style:none;display:flex;align-items:center}
.desktop-nav ul li a{font-family:var(--font-headings);cursor:pointer;padding:10px 15px;font-weight:400;text-transform:uppercase;font-size:0.95em;letter-spacing:0.08em;border-bottom:2px solid transparent;transition:all 0.3s ease;padding-top:8px;padding-bottom:8px}
.desktop-nav ul li a.active,.desktop-nav ul li a:hover{color:#ffffff;border-bottom:2px solid var(--color-primary-accent)}
.nav-magazin{color:var(--color-primary-accent) !important}
.nav-magazin:hover{color:#ffffff !important;border-bottom:2px solid var(--color-primary-accent) !important}

/* Mobile navigation - hidden by default */
.main-nav{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:1000;flex-direction:column;justify-content:center;align-items:center}
.main-nav ul{list-style:none;display:flex;align-items:center}
.main-nav ul li a{font-family:var(--font-body);cursor:pointer;padding:10px 15px;font-weight:500;text-transform:uppercase;font-size:0.9em;border-bottom:2px solid transparent;transition:all 0.3s ease;padding-top:8px;padding-bottom:8px}
.main-nav ul li a.active,.main-nav ul li a:hover{color:#ffffff;border-bottom:2px solid var(--color-primary-accent)}

.nav-toggle{display:none}
.btn{display:inline-block;vertical-align:middle;padding:12px 30px;font-family:var(--font-body);font-weight:500;text-transform:uppercase;border:2px solid var(--color-primary-accent);border-radius:50px;margin-top:20px;letter-spacing:1px;cursor:pointer;transition:all 0.3s ease}
.btn-primary{color:#0a0a0a;background:linear-gradient(135deg,#d9aa58 0%,#c8903a 40%,#b8782a 70%,#c8903a 100%);border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(0,0,0,.2),0 2px 8px rgba(0,0,0,.3)}
.btn-primary:hover,.btn-primary:focus{color:#0a0a0a;border-color:transparent;background:linear-gradient(135deg,#e8b96a 0%,#d9aa58 40%,#c8903a 70%,#d9aa58 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.25),0 3px 12px rgba(0,0,0,.35)}
.btn-primary:active{transform:translateY(1px);background:linear-gradient(135deg,#c8903a 0%,#b8782a 50%,#9e6e22 100%);color:#0a0a0a;border-color:transparent}
.btn-secondary{color:#c8903a;background:transparent;border:2px solid rgba(200,144,58,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 3px rgba(0,0,0,.3)}
.btn-secondary:hover,.btn-secondary:focus{color:#0a0a0a;border-color:#c8903a;background:linear-gradient(135deg,#d9aa58 0%,#c8903a 40%,#b8782a 70%,#c8903a 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(0,0,0,.2),0 2px 8px rgba(0,0,0,.3)}
.btn-secondary:active{transform:translateY(1px);background:linear-gradient(135deg,#c8903a 0%,#b8782a 50%,#9e6e22 100%);color:#0a0a0a}
.btn-whatsapp{background:#25D366 !important;color:white !important;border:2px solid #25D366 !important;border-color:#25D366 !important;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-align:center;margin-top:15px;transform:translateZ(0);transition:background 0.3s ease,border-color 0.3s ease,transform 0.3s ease;text-decoration:none !important}
.btn-whatsapp:hover{
    background:#1ebe5a !important;
    border-color:#1ebe5a !important;
    color:white !important;
    transform:translateY(-1px) !important;
    text-decoration:none !important;
}
.btn-whatsapp:active{background:#19a94f !important;border-color:#19a94f !important;transform:translateY(0) !important}
.btn-whatsapp:focus,.btn-whatsapp:visited{background:#25D366 !important;color:white !important;border-color:#25D366 !important;text-decoration:none !important}
.btn-whatsapp svg{width:20px;height:20px;fill:white !important}
.hero-section{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;overflow:hidden;background:linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.6)),url(media/site/backround.webp) no-repeat center center/cover;contain:layout style paint}
.hero-section::before{content:none}
.hero-content{position:relative;z-index:3}
.hero-slogan{font-family:var(--font-headings);font-size:4.5em;color:#ffffff;font-weight:700;text-shadow:2px 2px 10px rgba(0,0,0,0.5);animation:heroFadeIn 1.5s ease forwards}
.hero-content .btn-primary{animation:heroFadeIn 1.5s ease 0.4s forwards;opacity:0}
.btn-offer{animation:heroFadeIn 1.5s ease 0.7s forwards;opacity:0}
@keyframes heroFadeIn{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}

/* === DESPRE NOI — dungi verticale de poze === */
.about-section {
    position: relative;
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 0 !important;
}
.about-stripes {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: row;
}
.about-stripe {
    flex: 1;
    background-size: cover;
    background-position: center;
    filter: blur(2px) brightness(0.35);
    transform: scale(1.04);
}
/* Separator subtil intre dungi */
.about-stripe + .about-stripe {
    border-left: 1px solid rgba(197,164,126,0.15);
}
.about-text-center {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 80px 5%;
    max-width: 750px;
    background: rgba(0,0,0,0.52);
    border-radius: 4px;
    backdrop-filter: blur(1px);
}
/* Titlul si subtitlul pastreaza culorile brandului, adaugam doar shadow pentru lizibilitate */
.about-text-center .section-title {
    text-shadow: 0 2px 16px rgba(0,0,0,0.9);
}
.about-text-center .section-subtitle {
    text-shadow: 0 1px 12px rgba(0,0,0,0.9);
    max-width: 580px;
    margin: 0 auto;
}
.about-story {
    margin-top: 28px;
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.about-story p {
    color: rgba(240,240,240,0.92);
    font-size: 0.97em;
    line-height: 1.75;
    margin-bottom: 14px;
}
.about-story strong {
    color: #c5a47e;
}

/* === VINTAGE ABOUT SECTION === */
.vintage-about-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px;
}

.vintage-frame {
    position: relative;
    background: linear-gradient(145deg, #f4f1e8, #e8e0d0);
    border-radius: 8px;
    padding: 30px;
    box-shadow: 
        0 20px 40px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.3),
        inset 0 -1px 0 rgba(0, 0, 0, 0.1);
    overflow: hidden;
    border: 3px solid #8b7355;
}

/* Film Perforations */
.film-perforation {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 20px;
    background: repeating-linear-gradient(
        to bottom,
        transparent 0px,
        transparent 15px,
        #6b5b47 15px,
        #6b5b47 25px,
        transparent 25px,
        transparent 40px
    );
    z-index: 1;
}

.film-left { left: 0; }
.film-right { right: 0; }

.vintage-content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 40px;
    align-items: center;
    margin: 0 30px;
}

/* Vintage Photo Section */
.vintage-photo-section {
    text-align: center;
}

.vintage-photo {
    position: relative;
    display: inline-block;
    padding: 15px;
    background: #ffffff;
    box-shadow: 
        0 8px 20px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transform: rotate(-2deg);
    transition: transform 0.3s ease;
}

.vintage-photo:hover {
    transform: rotate(0deg) scale(1.02);
}

.vintage-photo img {
    width: 280px;
    height: 200px;
    object-fit: cover;
    filter: sepia(25%) contrast(1.1) brightness(0.9);
    border: 2px solid #d4c4a8;
}

.photo-vintage-overlay {
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    background: 
        radial-gradient(circle at 20% 30%, rgba(139, 115, 85, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(101, 82, 62, 0.08) 0%, transparent 40%);
    pointer-events: none;
}

/* Photo Corners */
.photo-corner {
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
}

.corner-tl {
    top: 8px;
    left: 8px;
    border-width: 15px 15px 0 0;
    border-color: #8b7355 transparent transparent transparent;
}

.corner-tr {
    top: 8px;
    right: 8px;
    border-width: 0 15px 15px 0;
    border-color: transparent #8b7355 transparent transparent;
}

.corner-bl {
    bottom: 8px;
    left: 8px;
    border-width: 0 0 15px 15px;
    border-color: transparent transparent #8b7355 transparent;
}

.corner-br {
    bottom: 8px;
    right: 8px;
    border-width: 15px 0 0 15px;
    border-color: transparent transparent transparent #8b7355;
}

.vintage-label {
    margin-top: 20px;
    position: relative;
}

.vintage-label h3 {
    font-family: var(--font-headings);
    font-size: 2.5em;
    color: #8b7355;
    margin: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

.vintage-label p {
    font-family: var(--font-body);
    font-style: italic;
    color: #6b5b47;
    margin: 5px 0 15px 0;
    font-size: 1.1em;
    letter-spacing: 1px;
}

.label-decoration {
    width: 60px;
    height: 2px;
    background: linear-gradient(to right, transparent, #c5a47e, transparent);
    margin: 0 auto;
    position: relative;
}

.label-decoration::before,
.label-decoration::after {
    content: '';
    position: absolute;
    top: -3px;
    width: 8px;
    height: 8px;
    background: #c5a47e;
    border-radius: 50%;
}

.label-decoration::before { left: -4px; }
.label-decoration::after { right: -4px; }

/* Vintage Text Section */
.vintage-text-section {
    background: rgba(255, 255, 255, 0.7);
    padding: 30px;
    border-radius: 5px;
    border: 1px solid #d4c4a8;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
    position: relative;
}

.vintage-title {
    font-family: var(--font-headings);
    font-size: 2.2em;
    color: #8b7355;
    margin: 0 0 15px 0;
    text-align: center;
}

/* Mobile Vintage Label - ascuns pe desktop */
.mobile-vintage-label {
    display: none;
    text-align: center;
    margin-bottom: 20px;
}

.mobile-vintage-label h3 {
    font-family: var(--font-headings);
    font-size: 2.5em;
    color: #8b7355;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 3px;
}

.mobile-vintage-label p {
    font-family: var(--font-body);
    font-size: 1.1em;
    color: #666;
    margin: 5px 0 10px 0;
    font-style: italic;
}

.mobile-vintage-label .label-decoration {
    width: 80px;
    height: 2px;
    background: linear-gradient(to right, transparent, #c5a47e, transparent);
    margin: 0 auto;
}

.vintage-divider {
    width: 100px;
    height: 3px;
    background: linear-gradient(to right, transparent, #c5a47e, transparent);
    margin: 0 auto 25px auto;
    position: relative;
}

.vintage-divider::before {
    content: '';
    /* Simbol decorativ ❦ eliminat */
}

.vintage-paragraph {
    font-size: 1.05em;
    line-height: 1.7;
    color: #4a4a4a;
    margin-bottom: 18px;
    text-align: left;
    position: relative;
    padding-left: 15px;
}

.vintage-paragraph::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 4px;
    height: 4px;
    background: #c5a47e;
    border-radius: 50%;
}

/* Vintage Stamp */
.vintage-stamp {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 80px;
    height: 80px;
    background: 
        radial-gradient(circle at center, #8b7355 30%, transparent 30%),
        repeating-conic-gradient(from 0deg at center, #8b7355 0deg 3deg, transparent 3deg 6deg);
    border-radius: 8px;
    transform: rotate(15deg);
    z-index: 10;
}

.stamp-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #ffffff;
    font-weight: bold;
}

.stamp-year {
    font-size: 1.4em;
    line-height: 1;
}

.stamp-text {
    font-size: 0.8em;
    opacity: 0.9;
}

/* Vintage Effects */
.vintage-scratches {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    opacity: 0.1;
    background: 
        linear-gradient(45deg, transparent 48%, rgba(0, 0, 0, 0.02) 49%, rgba(0, 0, 0, 0.02) 51%, transparent 52%),
        linear-gradient(-45deg, transparent 48%, rgba(0, 0, 0, 0.02) 49%, rgba(0, 0, 0, 0.02) 51%, transparent 52%);
}

.vintage-dust {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    background: 
        radial-gradient(circle at 25% 25%, rgba(139, 115, 85, 0.03) 1px, transparent 1px),
        radial-gradient(circle at 75% 75%, rgba(139, 115, 85, 0.03) 1px, transparent 1px),
        radial-gradient(circle at 50% 90%, rgba(139, 115, 85, 0.02) 1px, transparent 1px);
    background-size: 50px 50px, 30px 30px, 70px 70px;
}

/* Vintage Animations - REMOVED */
.map-section{background:var(--color-secondary-accent)}
.map-container{position:relative;max-width:900px;height:600px;margin:50px auto}
.map-path-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
.map-path{stroke-width:2px;stroke:var(--color-primary-accent);stroke-dasharray:1500;stroke-dashoffset:1500;animation:draw-path 5s ease-out forwards;animation-play-state:paused}
.map-container.is-visible .map-path{animation-play-state:running}
@keyframes draw-path{to{stroke-dashoffset:0}}
.map-point{position:absolute;width:250px;text-align:center;opacity:0;animation:fade-in-map-point 1s ease-out forwards;animation-play-state:paused}
.map-container.is-visible .map-point-1{animation-delay:0.5s;animation-play-state:running}
.map-container.is-visible .map-point-2{animation-delay:2s;animation-play-state:running}
.map-container.is-visible .map-point-3{animation-delay:3.5s;animation-play-state:running}
.map-container.is-visible .map-point-4{animation-delay:1.5s;animation-play-state:running}
@keyframes fade-in-map-point{to{opacity:1}}
.map-point .icon{margin:0 auto 15px auto;width:60px;height:60px;border-radius:50%;border:2px solid var(--color-primary-accent);background:var(--color-background);display:flex;align-items:center;justify-content:center}
.map-point .icon svg{width:32px;height:32px;stroke:var(--color-primary-accent);stroke-width:1.5}
.map-point h3{font-family:var(--font-headings);color:var(--color-primary-accent);font-size:1.4em}
.map-point p{font-family:var(--font-body);font-size:0.9em;opacity:0.8}
/* === CAROUSEL INFINIT SIMPLU === */
.gallery-section{background:var(--color-secondary-accent);margin:0}

/* Carousel infinit fără întreruperi */
.infinite-carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
    
    /* Fără borduri decorative - doar pozele */
    border: none;
    border-radius: 0;
    background: none;
    box-shadow: none;
    padding: 0;
    margin: 60px auto 0 auto; /* Primul carusel - margin-bottom: 0 */
    max-width: 100%;
}

.carousel-track {
    display: flex;
    width: calc(18 * 402px); /* 18 imagini × (400px + 2px gap) = 7236px */
    animation: infiniteScroll 60s linear infinite;
    will-change: transform;
    border-radius: 0;
    transition: none; /* Elimină tranzițiile care pot interfera cu animația */
    overflow: hidden;
}

.carousel-item {
    flex: 0 0 320px; /* Imagini mai mici - 320px în loc de 400px */
    height: 280px; /* Înălțime redusă - 280px în loc de 340px */
    margin-right: 2px; /* Distanță foarte foarte mică între imagini - doar 2px */
    overflow: hidden;
    border-radius: 0; /* Fără colțuri rotunjite */
    box-shadow: none; /* FĂRĂ umbră gri */
    background-color: transparent; /* Fundal transparent pentru eliminarea diferențelor de alb */
}

.carousel-item:last-child {
    margin-right: 0; /* Eliminăm marginea de la ultima imagine */
}

.carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* Schimbat din cover în contain pentru a vedea toată poza */
    object-position: center;
    transition: transform 0.3s ease;
    border-radius: 0; /* Fără colțuri rotunjite pe imagini */
    display: block;
    /* Îmbunătățește contrastul pentru textul din imagini */
    filter: contrast(1.1) brightness(0.95) saturate(1.1);
    background-color: transparent; /* Fundal transparent în loc de alb */
}

/* Hover dezactivat pe carousel */

/* Animația infinită - curgere continuă cu gap foarte mic */
@keyframes infiniteScroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-9 * 322px)); /* Jumătate din imagini = 9 × 322px (320px + 2px margin) */
    }
}

/* Forțare pornire animație - FĂRĂ PAUSE LA HOVER */
.carousel-track {
    animation-play-state: running !important;
    animation-fill-mode: none;
    animation-delay: 0s;
}

/* Al treilea carousel - pachet torturi - sens normal ca primul */
.torturi-carousel {
    margin-top: -10px; /* Suprapunere ca la al doilea */
    margin-bottom: 20px; /* Spațiu jos pentru secțiunea următoare */
}

.torturi-track {
    animation: infiniteScroll 70s linear infinite; /* Viteza diferită - 70s */
}

/* Responsive pentru carousel infinit */
@media (max-width: 768px) {
    /* Carouseluri de categorii - responsive pentru tablet - design simplu fără decorațiuni */
    .category-carousel {
        border-radius: 0; /* Eliminat border-radius */
        padding: 0; /* Eliminat padding */
        margin: 40px auto 30px auto;
        max-width: 95%;
        border-width: 0; /* Eliminat border */
    }
    
    .category-carousel .carousel-track {
        width: calc(18 * 200px); /* 18 imagini × 200px */
        animation: categoryCarouselMobile 75s linear infinite;
        border-radius: 0;
    }

    .category-carousel .carousel-item {
        flex: 0 0 200px;
        height: 260px;
        margin-right: 0; /* FĂRĂ GAP - imagini complet lipite */
        border-radius: 0; /* Eliminat border-radius */
        box-shadow: none; /* Eliminat box-shadow */
        background-color: transparent;
        border: none; /* Eliminat border */
    }
    
    .category-carousel .carousel-item img {
        border-radius: 0; /* Eliminat border-radius */
        background-color: transparent;
        object-fit: cover; /* Înapoi la cover pe tablet */
    }

    @keyframes categoryCarouselMobile {
        0% { transform: translateX(0); }
        100% { transform: translateX(-1600px); } /* 8 originale × 200px = loop seamless */
    }

    /* Galerie Bunatatile noastre — tablet: container 195x260 ratio 0.75 */
    .gallery-section .category-carousel .carousel-track {
        width: calc(18 * 195px);
        animation: galleryCarouselMobile 75s linear infinite;
    }
    .gallery-section .category-carousel .carousel-item {
        flex: 0 0 195px;
        height: 260px;
    }
    @keyframes galleryCarouselMobile {
        0%   { transform: translateX(0); }
        100% { transform: translateX(-1560px); } /* 8 × 195px */
    }

    .infinite-carousel {
        border-radius: 0;
        padding: 0;
        margin: 40px auto 15px auto; /* Măresc spațiul de sus și pe mobile */
        max-width: 100%;
        min-height: auto;
    }
    
    .carousel-track {
        width: 12684px; /* 42 imagini × 302px (300px + 2px gap) = 12684px */
        animation: infiniteScrollMobile 90s linear infinite;
        border-radius: 0;
    }
    
    .carousel-item {
        flex: 0 0 300px;
        height: 240px; /* Înălțime mărită pe tablet */
        margin-right: 2px; /* Gap foarte mic pe mobile */
        border-radius: 0;
        box-shadow: none; /* FĂRĂ umbră gri pe mobile */
    }
    
    .carousel-item img {
        border-radius: 0;
    }
    
    @keyframes infiniteScrollMobile {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(-6342px); /* 21 * (300px + 2px) = 21 * 302px = 6342px */
        }
    }
}

@media (max-width: 480px) {
    /* Carouseluri de categorii - responsive pentru mobile mic - design simplu fără decorațiuni */
    .category-carousel {
        border-radius: 0; /* Eliminat border-radius */
        padding: 0; /* Eliminat padding */
        margin: 30px auto 20px auto;
        max-width: 95%;
        border-width: 0; /* Eliminat border */
    }
    
    .category-carousel .carousel-track {
        width: calc(18 * 170px); /* 18 imagini × 170px */
        animation: categoryCarouselSmall 80s linear infinite;
        border-radius: 0;
    }

    .category-carousel .carousel-item {
        flex: 0 0 170px;
        height: 220px;
        margin-right: 0; /* FĂRĂ GAP - imagini complet lipite */
        border-radius: 0; /* Eliminat border-radius */
        box-shadow: none; /* Eliminat box-shadow */
        background-color: transparent;
        border: none; /* Eliminat border */
    }
    
    .category-carousel .carousel-item img {
        border-radius: 0; /* Eliminat border-radius */
        background-color: transparent;
        object-fit: cover; /* Înapoi la cover pe mobile */
    }

    @keyframes categoryCarouselSmall {
        0% { transform: translateX(0); }
        100% { transform: translateX(-1360px); } /* 8 originale × 170px = loop seamless */
    }

    /* Galerie Bunatatile noastre — mobile: container 165x220 ratio 0.75 */
    .gallery-section .category-carousel .carousel-track {
        width: calc(18 * 165px);
        animation: galleryCarouselSmall 80s linear infinite;
    }
    .gallery-section .category-carousel .carousel-item {
        flex: 0 0 165px;
        height: 220px;
    }
    @keyframes galleryCarouselSmall {
        0%   { transform: translateX(0); }
        100% { transform: translateX(-1320px); } /* 8 × 165px */
    }

    .infinite-carousel {
        border-radius: 0;
        padding: 0;
        margin: 30px auto 10px auto; /* Măresc spațiul și pentru ecrane mici */
        max-width: 100%;
        border-width: 0;
        min-height: auto;
    }
    
    .carousel-track {
        width: 10542px; /* 42 imagini × 251px (250px + 1px gap) = 10542px */
        animation: infiniteScrollSmall 80s linear infinite;
        border-radius: 0;
    }
    
    .carousel-item {
        flex: 0 0 250px;
        height: 200px; /* Înălțime mărită pe mobile mic */
        margin-right: 1px; /* Gap extrem de mic pe mobile mic */
        border-radius: 0;
        box-shadow: none; /* FĂRĂ umbră gri pe mobile mic */
    }
    
    .carousel-item img {
        border-radius: 0;
    }
    
    @keyframes infiniteScrollSmall {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(-5271px); /* 21 * (250px + 1px) = 21 * 251px = 5271px */
        }
    }
}

/* Stiluri generale pentru elemente **/

/* Carouseluri cu DESIGNUL VECHI pentru paginile de categorii - decorativ și elegant */
.category-carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
    
    /* Container fără borduri - doar imaginile au design decorativ */
    border: none; /* Eliminat bordul */
    border-radius: 0; /* Eliminat border-radius */
    background: none; /* Eliminat fundalul */
    box-shadow: none; /* Eliminat umbrele */
    padding: 0; /* Eliminat padding-ul */
    margin: 60px auto 50px auto;
    max-width: 95%;
    backdrop-filter: none; /* Eliminat blur */
    height: auto; /* Înălțime automată */
}

.category-carousel .carousel-track {
    display: flex;
    width: calc(18 * 265px); /* 18 imagini × 265px */
    animation: categoryInfiniteScroll 60s linear infinite;
    will-change: transform;
    border-radius: 0;
    transition: none;
    overflow: hidden;
    height: auto;
}

.category-carousel .carousel-item {
    flex: 0 0 265px; /* Ingust cat imaginea portrait — minim spatiu negru */
    height: 340px;
    margin-right: 0; /* FĂRĂ GAP - imagini complet lipite */
    overflow: hidden;
    border-radius: 0; /* Eliminat colțurile rotunjite */
    box-shadow: none; /* Eliminat umbra */
    background-color: transparent; /* Fundal transparent pentru chenare */
    border: none; /* Eliminat bordul auriu */
    transition: none; /* Eliminat efectele de tranziție */
}

.category-carousel .carousel-item:last-child {
    margin-right: 0;
}

.category-carousel .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Înapoi la cover pentru umplere completă */
    object-position: center;
    transition: transform 0.3s ease;
    border-radius: 0; /* Eliminat colțurile rotunjite pe imagini */
    display: block;
    filter: contrast(1.05) brightness(0.98) saturate(1.05);
    background-color: transparent; /* Fundal transparent pentru imagini */
}

/* Galerie Bunatatile noastre — container 255x340 = ratio 0.75 exact pentru poze portrait */
.gallery-section .category-carousel .carousel-track {
    width: calc(18 * 255px); /* 4590px — 18 items × 255px */
    animation: galleryInfiniteScroll 60s linear infinite;
}
.gallery-section .category-carousel .carousel-item {
    flex: 0 0 255px;
    height: 340px;
    margin-right: 0;
    background: transparent;
}
.gallery-section .category-carousel .carousel-item img {
    object-fit: cover;
    object-position: center;
    filter: none;
}
@keyframes galleryInfiniteScroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-2040px); } /* 8 originale × 255px */
}

/* Hover dezactivat pe category carousel */

/* Animație specifică pentru carouselurile de categorii - imagini lipite */
@keyframes categoryInfiniteScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-2120px); } /* 8 originale × 265px = loop seamless */
}

/* Remove spacing to avoid "trenuleț" gaps in product portfolios */
#portfolio-tort .carousel-item,
#portfolio-prajitura .carousel-item,
#portfolio-candybar .carousel-item{margin:0}

/* Fill images to avoid whitespace in portfolio carousels */
#portfolio-tort .carousel-item img,
#portfolio-prajitura .carousel-item img,
#portfolio-candybar .carousel-item img{width:100%;height:100%;object-fit:cover}

/* (Reverted) Removed custom layout for #bunatati-carousel to use default carousel item sizes */
.categories-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px}
.category-card{background:var(--color-secondary-accent);text-align:center;overflow:hidden}
.category-card .card-image{height:400px;overflow:hidden}
.category-card img{width:100%;height:100%;object-fit:cover;object-position:center}
.categories-section .category-card:first-child img{object-position:50% 85%}
.category-card h3{font-family:var(--font-headings);font-size:1.8em;color:var(--color-primary-accent);padding:25px 10px 15px 10px}
.category-card .btn{margin-bottom:30px}
.cta-section{position:relative;overflow:hidden;padding:80px 5%;text-align:center;background:#100e06}
.cta-pattern-bg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:repeating-linear-gradient(135deg,#1e1508 0px,#1e1508 60px,#1e150866 70px,#2e2010 130px)}
.cta-cube-svg{position:absolute;width:200%;height:200%;left:-30%;top:-20%;background:transparent;opacity:0.25;z-index:1;animation:ctaCubeMove 18s linear infinite alternate}
@keyframes ctaCubeMove{from{transform:translateY(0) scale(1)}to{transform:translateY(-20%) scale(1.02) rotate(1deg)}}
.cta-content{position:relative;z-index:2}
.cta-section h2{font-family:var(--font-headings);font-size:2.2em;margin-bottom:20px}
.reviews-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}
.review-card{background:var(--color-secondary-accent);padding:30px;border-radius:10px;text-align:left;border-top:3px solid var(--color-primary-accent);display:flex;flex-direction:column}
.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}
.review-location{font-family:var(--font-body);font-weight:500}
.review-stars{color:#fbbc05;font-size:1.2em;flex-shrink:0}
.review-text{font-family:var(--font-body);font-style:italic;opacity:0.9;margin-bottom:20px;flex-grow:1}
.reviewer-name{font-family:var(--font-body);font-weight:500;color:var(--color-primary-accent)}
.filter-buttons{margin-bottom:40px}
.filter-btn{font-family:var(--font-body);background:transparent;border:1px solid var(--color-primary-accent);color:var(--color-primary-accent);padding:10px 20px;margin:5px;border-radius:50px;cursor:pointer;transition:all 0.3s ease}
.filter-btn:hover,.filter-btn.active{background:var(--color-primary-accent);color:var(--color-background)}
.product-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px}
.product-card{background:var(--color-secondary-accent);text-align:center;display:block}
.product-card img{width:100%;height:350px;object-fit:cover}
.product-card .product-info{padding:25px}
.product-card h3{font-family:var(--font-headings);font-size:1.6em;color:var(--color-primary-accent)}
.product-card p{font-family:var(--font-body);font-weight:300;opacity:0.8;margin:10px 0;min-height:50px}
.product-price{font-family:var(--font-body);font-size:1.2em;font-weight:500;color:var(--color-text);margin-top:15px}
.candybar-intro{margin:20px auto 35px;max-width:1000px;text-align:left;background:linear-gradient(135deg,rgba(197,164,126,0.08),rgba(255,255,255,0.02));border:1px solid rgba(197,164,126,0.25);border-radius:14px;padding:24px}
.candybar-title{font-family:var(--font-headings);color:#fff;font-size:1.8em;margin-bottom:8px}
.candybar-subtitle{font-family:var(--font-body);opacity:.95;margin-bottom:14px}
.candybar-box{background:rgba(0,0,0,0.25);border:1px solid rgba(255,255,255,0.06);border-radius:12px;padding:16px}
.candybar-list{columns:2;gap:18px;margin:10px 0 6px 16px}
.candybar-list li{font-family:var(--font-body);margin:4px 0}
/* Stiluri îmbunătățite pentru listele imbricate */
.candybar-list > li > strong {
    color: var(--color-primary-accent);
    font-weight: 600;
    display: block;
    margin-bottom: 3px;
}
.candybar-list ul{list-style-type:disc;margin-left:20px;margin-top:4px;margin-bottom:8px}
.candybar-list ul li{list-style-type:disc;margin:2px 0;font-size:0.95em;color:rgba(240,240,240,0.9)}
/* Elemente fără sub-liste */
.candybar-list > li:not(:has(ul)) {
    color: var(--color-primary-accent);
    font-weight: 500;
}
.price-note{font-family:var(--font-body);color:var(--color-primary-accent);font-weight:700;margin-bottom:8px}
.footnote{font-family:var(--font-body);opacity:.75;font-size:.95em;margin-top:6px}

/* === SERVICES GRID PENTRU SERVICII INCLUSE === */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
    margin: 30px 0;
}

.service-card {
    background: linear-gradient(145deg, rgba(26, 26, 26, 0.9), rgba(40, 40, 40, 0.9));
    backdrop-filter: blur(10px);
    border: 1px solid rgba(197, 164, 126, 0.2);
    border-radius: 20px;
    padding: 30px 25px;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(145deg, rgba(197, 164, 126, 0.05), rgba(197, 164, 126, 0.15));
    border-radius: 20px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.service-card:hover {
    transform: translateY(-15px) scale(1.05);
    border-color: rgba(197, 164, 126, 0.6);
    box-shadow: 
        0 20px 40px rgba(0, 0, 0, 0.4),
        0 0 30px rgba(197, 164, 126, 0.2);
}

.service-card:hover::before {
    opacity: 1;
}

.service-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(197, 164, 126, 0.1);
    border: 2px solid var(--color-primary-accent);
    border-radius: 50%;
    transition: all 0.4s ease;
    position: relative;
    z-index: 2;
}

.service-icon svg {
    width: 40px;
    height: 40px;
    stroke: var(--color-primary-accent);
    fill: none;
    transition: all 0.4s ease;
}

.service-card:hover .service-icon {
    background: var(--color-primary-accent);
    transform: scale(1.1) rotateY(180deg);
    box-shadow: 0 0 20px rgba(197, 164, 126, 0.4);
}

.service-card:hover .service-icon svg {
    stroke: var(--color-background);
}

.service-card h3 {
    font-family: var(--font-headings);
    color: var(--color-primary-accent);
    font-size: 1.4em;
    margin: 0 0 15px 0;
    position: relative;
    z-index: 2;
    font-weight: 600;
}

.service-card p {
    color: var(--color-text);
    line-height: 1.6;
    font-size: 1em;
    margin-bottom: 15px;
    position: relative;
    z-index: 2;
    opacity: 0.9;
}

.service-note {
    display: block;
    font-size: 0.85em;
    color: rgba(197, 164, 126, 0.8);
    font-style: italic;
    margin-top: 8px;
    position: relative;
    z-index: 2;
}

/* === CONSOLIDAT: TOATE STILURILE PENTRU 768px === */
@media (max-width: 768px) {
    /* Hide desktop navigation on mobile */
    .desktop-nav{display:none !important}
    
    /* Show mobile navigation toggle button */
    .nav-toggle{display:block !important}
    
    /* Navigare */
    .content-padding{padding:60px 5%}
    .hero-slogan{font-size:2.5em;line-height:1.2}
    .section-title{font-size:2.1em}
    .main-header{padding:12px 5%;width:100%;display:flex;justify-content:space-between}
    .logo-img{height:65px;max-height:65px}
    
    /* Mobile nav - stiluri mutate în blocul principal de nav */

    /* Diverse componente mobile */
    .candybar-list{columns:1;margin:10px 0 6px 8px}
    
    /* Stiluri mobile îmbunătățite pentru liste */
    .candybar-list > li {
        margin-bottom: 8px;
        break-inside: avoid;
    }
    
    .candybar-list > li > strong {
        font-size: 1em;
        margin-bottom: 4px;
    }
    
    .candybar-list ul {
        margin-left: 15px;
        margin-top: 3px;
        margin-bottom: 6px;
    }
    
    .candybar-list ul li {
        font-size: 0.9em;
        line-height: 1.4;
        margin: 1px 0;
    }
    
    /* ÎMBUNĂTĂȚIRI MOBILE - Section subtitle și candybar responsive */
    .section-subtitle {
        font-size: 1.0em !important; /* Font mai mic pe mobile */
        max-width: 100% !important; /* Folosește întreaga lățime */
        margin: 0 auto 30px auto !important; /* Margin redus */
        line-height: 1.6 !important; /* Line-height mai compact */
        padding: 0 10px !important; /* Padding lateral pentru spațiere */
    }
    
    /* Candybar mobile improvements */
    .candybar-intro {
        margin: 15px auto 25px !important; /* Margin redus */
        max-width: 100% !important; /* Folosește întreaga lățime */
        padding: 18px !important; /* Padding redus */
        border-radius: 10px !important; /* Borduri mai mici */
    }
    
    .candybar-title {
        font-size: 1.5em !important; /* Font mai mic pe mobile */
        margin-bottom: 10px !important;
        line-height: 1.3 !important;
    }
    
    .candybar-subtitle {
        font-size: 0.95em !important; /* Font mai mic */
        line-height: 1.5 !important; /* Line-height mai compact */
        margin-bottom: 15px !important;
    }
    
    .candybar-box {
        padding: 12px !important; /* Padding redus */
        border-radius: 8px !important;
    }
    
    .candybar-list li {
        font-size: 0.9em !important; /* Font mai mic pentru liste */
        margin: 3px 0 !important; /* Margin redus între elemente */
        line-height: 1.4 !important;
    }
    
    .price-note {
        font-size: 0.95em !important; /* Font mai mic pentru preț */
        margin-bottom: 10px !important;
    }
    
    /* Services Grid Mobile Responsive */
    .services-grid {
        grid-template-columns: 1fr !important; /* O singură coloană pe mobile */
        gap: 20px !important;
        margin: 25px 0 !important;
    }
    
    .service-card {
        padding: 25px 20px !important;
        margin: 0 !important;
        min-height: 220px !important;
        border-radius: 15px !important;
    }
    
    .service-icon {
        width: 60px !important;
        height: 60px !important;
        margin: 0 auto 15px auto !important;
    }
    
    .service-icon svg {
        width: 32px !important;
        height: 32px !important;
    }
    
    .service-card h3 {
        font-size: 1.2em !important;
        margin-bottom: 10px !important;
    }
    
    .service-card p {
        font-size: 0.9em !important;
        line-height: 1.5 !important;
    }
    
    .service-note {
        font-size: 0.8em !important;
    }
    
    /* Vintage About Section - Mobile Responsive - PĂSTREAZĂ DESIGNUL DESKTOP */
    .vintage-about-container {
        padding: 20px 10px;
    }
    
    .vintage-frame {
        padding: 20px;
        border-width: 2px;
    }
    
    .vintage-content {
        /* SCHIMB la o singură coloană pe mobile - ascund poza */
        grid-template-columns: 1fr;
        gap: 20px;
        margin: 0 10px;
    }
    
    /* Afișez eticheta mobile pe tablete */
    .mobile-vintage-label {
        display: block !important;
    }
    
    /* Ascund complet secțiunea cu poza pe mobile */
    .vintage-photo-section {
        display: none !important;
    }
    
    .vintage-photo img {
        width: 200px;
        height: 140px;
    }
    
    .vintage-label h3 {
        font-size: 1.8em;
    }
    
    .vintage-label p {
        font-size: 1em;
    }
    
    .vintage-text-section {
        padding: 20px;
    }
    
    .vintage-title {
        font-size: 1.6em;
    }
    
    .vintage-paragraph {
        font-size: 0.9em;
        line-height: 1.6;
        text-align: left;
        margin-bottom: 15px;
    }
    
    .vintage-stamp {
        width: 60px;
        height: 60px;
        top: 10px;
        right: 10px;
    }
    
    .stamp-year {
        font-size: 1.1em;
    }
    
    .film-perforation {
        width: 12px;
        background-size: 100% 20px;
    }
    
}

/* Media query pentru telefoane foarte mici */
@media (max-width: 480px) {    
    /* ÎMBUNĂTĂȚIRI EXTREME MOBILE - Telefoane foarte mici */
    .section-subtitle {
        font-size: 0.9em !important; /* Font foarte mic */
        line-height: 1.5 !important; /* Line-height foarte compact */
        margin: 0 auto 20px auto !important; /* Margin foarte redus */
        padding: 0 15px !important; /* Padding mai mare lateral */
        text-align: center !important; /* Centrat pe telefoane mici */
    }
    
    .content-padding {
        padding: 40px 15px !important; /* Padding foarte redus */
    }
    
    /* Candybar extreme mobile */
    .candybar-intro {
        margin: 10px auto 20px !important; /* Margin foarte redus */
        padding: 12px !important; /* Padding foarte mic */
        border-radius: 8px !important;
    }
    
    .candybar-title {
        font-size: 1.3em !important; /* Font foarte mic */
        margin-bottom: 8px !important;
    }
    
    .candybar-subtitle {
        font-size: 0.85em !important; /* Font foarte mic */
        line-height: 1.4 !important;
        margin-bottom: 12px !important;
    }
    
    .candybar-box {
        padding: 10px !important; /* Padding foarte mic */
    }
    
    .candybar-list li {
        font-size: 0.8em !important; /* Font foarte mic pentru liste */
        margin: 2px 0 !important; /* Margin foarte redus */
        line-height: 1.3 !important;
    }
    
    /* Stiluri îmbunătățite pentru liste pe telefoane mici */
    .candybar-list > li > strong {
        font-size: 0.85em !important;
        margin-bottom: 2px !important;
    }
    
    .candybar-list ul {
        margin-left: 12px !important;
        margin-top: 2px !important;
        margin-bottom: 4px !important;
    }
    
    .candybar-list ul li {
        font-size: 0.75em !important;
        line-height: 1.3 !important;
        margin: 1px 0 !important;
    }
    
    /* Services Grid pentru telefoane foarte mici */
    .services-grid {
        gap: 15px !important;
        margin: 20px 0 !important;
    }
    
    .service-card {
        padding: 20px 15px !important;
        min-height: 200px !important;
        border-radius: 12px !important;
    }
    
    .service-icon {
        width: 50px !important;
        height: 50px !important;
        margin: 0 auto 10px auto !important;
    }
    
    .service-icon svg {
        width: 24px !important;
        height: 24px !important;
    }
    
    .service-card h3 {
        font-size: 1.1em !important;
        margin-bottom: 8px !important;
    }
    
    .service-card p {
        font-size: 0.85em !important;
        line-height: 1.4 !important;
    }
    
    .service-note {
        font-size: 0.75em !important;
        margin-top: 6px !important;
    }

    /* Vintage Section pentru telefoane foarte mici - O SINGURĂ COLOANĂ */
    .vintage-content {
        grid-template-columns: 1fr !important; /* O singură coloană pe telefoane mici */
        gap: 15px !important;
        margin: 0 5px !important;
    }
    
    /* Afișez eticheta mobile pe telefoane mici */
    .mobile-vintage-label {
        display: block !important;
    }
    
    .mobile-vintage-label h3 {
        font-size: 2em !important;
        letter-spacing: 2px !important;
    }
    
    .mobile-vintage-label p {
        font-size: 1em !important;
    }
    
    /* Ascund complet secțiunea cu poza pe telefoane mici */
    .vintage-photo-section {
        display: none !important;
    }
    
    .vintage-photo img {
        width: 160px !important;
        height: 120px !important;
    }
    
    .vintage-label h3 {
        font-size: 1.5em !important;
    }
    
    .vintage-label p {
        font-size: 0.9em !important;
    }
    
    .vintage-text-section {
        padding: 15px !important;
        position: relative !important;
    }
    
    .vintage-title {
        font-size: 1.4em !important;
        margin-top: 25px !important; /* Adaug spațiu sus pentru ștampilă */
    }
    
    .vintage-paragraph {
        font-size: 0.8em !important;
        line-height: 1.5 !important;
        text-align: left !important;
        margin-bottom: 12px !important;
    }
    
    /* Ascunde ștampila pe telefoane foarte mici pentru a nu acoperi textul */
    .vintage-stamp {
        display: none !important;
    }
    
    .film-perforation {
        width: 10px !important;
        background-size: 100% 18px !important;
    }
    
    .price-note {
        font-size: 0.9em !important; /* Font foarte mic pentru preț */
        margin-bottom: 8px !important;
    }
    
    /* Section title pentru telefoane mici */
    .section-title {
        font-size: 1.8em !important; /* Font mai mic pentru titluri */
        margin-bottom: 15px !important;
        line-height: 1.2 !important;
    }
    
    /* CORECTARE COMPLETĂ - ascunde textul de pe față când cardul se întoarce pe TOATE dispozitivele */
    .about-card-container:hover .about-card-front .text-overlay,
    .about-card.is-flipped .about-card-front .text-overlay {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
    
    /* Asigură că textul RĂMÂNE ascuns și pe partea din spate */
    .about-card-back .text-overlay {
        display: none !important;
    }
}

/* Media query pentru telefoane extrem de mici */
@media (max-width: 420px) {
}

.portfolio-wrapper{margin-top:100px;display:none}
.contact-container{display:flex;flex-direction:column;gap:40px}
.contact-wrapper{display:flex;flex-wrap:wrap;gap:40px;background:var(--color-secondary-accent);padding:50px;justify-content:center}
/* When only contact-details remains, let it center and have a nice max width */
.contact-details{flex:1 1 520px;min-width:280px;max-width:700px;text-align:center;margin:0 auto}
.form-group{margin-bottom:20px;text-align:left}
.form-group label{font-family:var(--font-body);display:block;margin-bottom:5px;font-weight:500;opacity:0.9}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;background:#333;border:1px solid #444;color:var(--color-text);border-radius:5px;font-family:var(--font-body);font-size:1em}
.contact-details h3{font-family:var(--font-headings);font-size:1.8em;color:var(--color-primary-accent);margin-bottom:20px}
.contact-details p{font-family:var(--font-body);margin-bottom:15px}
/* Phone call buttons */
.phone-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:10px 0 18px}
.btn-call{font-family:var(--font-body);background:linear-gradient(135deg,#d9aa58 0%,#c8903a 40%,#b8782a 70%,#c8903a 100%);border:2px solid transparent;color:#0a0a0a!important;display:inline-flex;align-items:center;gap:10px;border-radius:50px;padding:10px 18px;transition:all .2s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(0,0,0,.2),0 2px 8px rgba(0,0,0,.3)}
.btn-call:hover{background:linear-gradient(135deg,#e8b96a 0%,#d9aa58 40%,#c8903a 70%,#d9aa58 100%);color:#0a0a0a!important;transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 20px rgba(0,0,0,.35)}
.btn-call svg{width:18px;height:18px;fill:currentColor}
/* Social buttons */
.contact-social{margin-top:10px}
.social-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-facebook{font-family:var(--font-body);background:#1877F2;border-color:#1877F2;color:#fff!important;display:inline-flex;align-items:center;gap:10px}
.btn-facebook:hover{background:#0F6AEF;border-color:#0F6AEF;color:#fff!important}
.btn-instagram{font-family:var(--font-body);background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF,#515BD4);border-color:#DD2A7B;color:#fff!important;display:inline-flex;align-items:center;gap:10px}
.btn-instagram:hover{filter:brightness(1.05)}
.btn-facebook svg,.btn-instagram svg{width:18px;height:18px;fill:currentColor}
.map-container-wrapper{width:100%;border-radius:5px;overflow:hidden}
.map-container-wrapper iframe{width:100%;height:450px;border:0;filter:invert(90%) hue-rotate(200deg)}
.calendar-wrapper{max-width:1100px;margin:0 auto;border-radius:10px;overflow:hidden}
.calendar-wrapper iframe{width:100%;height:70vh;min-height:600px;border:0;filter:invert(90%) hue-rotate(200deg)}
.legal-page{text-align:left;max-width:800px;margin:50px auto;background:var(--color-secondary-accent);border-radius:10px;padding:40px}
.legal-page h3{font-family:var(--font-headings);color:var(--color-primary-accent);margin-top:30px;margin-bottom:15px;font-size:1.5em}
.legal-page p,.legal-page ul{font-family:var(--font-body);margin-bottom:15px}
.legal-page ul{padding-left:25px}
.main-footer{font-family:var(--font-body);padding:60px 5% 30px;background:#111111;color:#bfbfbf;font-size:0.9em}
.footer-container{display:flex;flex-wrap:wrap;justify-content:center;gap:50px;margin-bottom:50px}
.footer-column{flex:1;min-width:280px;max-width:350px;text-align:center}
.footer-column h4{font-family:var(--font-headings);color:var(--color-primary-accent);font-size:1.6em;margin-bottom:20px;font-weight:700}
.footer-column p{font-family:var(--font-body);margin-bottom:15px;line-height:1.85;font-size:1.05em;color:#e2e2e2;letter-spacing:0.2px}
.footer-column p strong{color:#ffffff;font-weight:600}
.footer-column a{font-family:var(--font-body);color:var(--color-primary-accent);font-weight:600}
.footer-column a:hover{color:#ffffff}
.footer-legal-links{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:10px;flex-wrap:wrap}
.footer-legal-links a img{opacity:0.7;transition:opacity 0.3s ease}
.footer-legal-links a:hover img{opacity:1}
.anpc-link img{height:45px;width:auto}
.footer-copyright{border-top:1px solid #282828;padding-top:30px;text-align:center;font-size:0.9em;opacity:0.6}
/* === COOKIE BANNER — GDPR COMPLIANT === */
.cookie-banner{
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    background:var(--color-secondary-accent);
    border-top:1px solid rgba(197,164,126,0.25);
    padding:20px 5%;
    z-index:10000;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    transition:transform 0.4s ease,opacity 0.4s ease;
}
.cookie-banner.hidden{
    transform:translateY(100%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}
.cookie-banner p{
    font-family:var(--font-body);
    margin:0;
    color:rgba(240,240,240,0.85);
    font-size:0.9em;
    line-height:1.5;
    flex:1;
}
.cookie-banner p a{
    color:var(--color-primary-accent);
    text-decoration:underline;
    font-weight:600;
}
.cookie-buttons{
    display:flex;
    gap:12px;
    flex-shrink:0;
}
.cookie-banner .btn{
    margin:0;
    padding:10px 24px;
    font-size:0.85em;
    font-weight:600;
    white-space:nowrap;
}

/* === BURGER MENU - COFETĂRIE FINĂ === */

/* === REPARARE CAROUSELE MOBILE === */
/* Asigură-te că carouselurile sunt vizibile pe toate dispozitivele */
.infinite-carousel {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

.carousel-track {
    display:flex !important;
    animation-play-state:running !important;
}

/* Mobile specific carousel tweaks */
@media (max-width: 768px) {
    .infinite-carousel {
        display:block !important;
        visibility:visible !important;
        margin:40px auto 20px auto !important; /* Spațiu mărit și aici */
        max-width:95% !important;
    }
    
    .carousel-track {
        display:flex !important;
        animation-play-state:running !important;
    }
}



/* === Continuă cu stilurile pentru 992px === */
@media (max-width: 992px) {
    .hero-slogan { font-size: 3.5em; }
    .section-title { font-size: 2.4em; }
    .cta-section h2 { font-size: 1.8em; }
    .logo-img { height: 88px; max-height: 88px; }
}

@media (min-width: 1600px){
    .hero-section{min-height:80vh}
}

/* === MOBILE NAVIGATION - COFETĂRIE FINĂ === */
@media screen and (max-width: 768px) {
.content-padding{padding:60px 5%}
.hero-slogan{font-size:2.5em;line-height:1.2}
.section-title{font-size:2.1em}
.main-header{padding:15px 5%}
.logo-img{height:72px;max-height:72px}

/* Burger button — linii aurii fine */
.nav-toggle{
    display:flex !important;
    align-items:center;
    justify-content:center;
    position:relative;
    z-index:10001 !important;
    background:transparent;
    border:0;
    cursor:pointer;
    width:44px;
    height:44px;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
}

.hamburger{
    display:block;
    position:relative;
    width:22px;
    height:1.5px;
    background:var(--color-primary-accent);
    border-radius:2px;
    transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
}

.hamburger::before,.hamburger::after{
    content:'';
    position:absolute;
    left:0;
    height:1.5px;
    background:var(--color-primary-accent);
    border-radius:2px;
    transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
}

.hamburger::before{top:-6px;width:16px}
.hamburger::after{top:6px;width:22px}

/* X auriu la deschidere */
.nav-open .hamburger{background:transparent !important}
.nav-open .hamburger::before{
    top:0 !important;width:22px !important;
    transform:rotate(45deg) !important;
    background:var(--color-primary-accent) !important;
}
.nav-open .hamburger::after{
    top:0 !important;width:22px !important;
    transform:rotate(-45deg) !important;
    background:var(--color-primary-accent) !important;
}

/* Buton inchidere meniu mobil */
.nav-close{position:absolute;top:20px;right:24px;background:none;border:none;cursor:pointer;font-size:2.4em;line-height:1;color:var(--color-primary-accent);z-index:10001;padding:4px 8px}
.nav-close:hover{color:#ffffff}

/* Overlay — fundal întunecat elegant cu blur */
.main-nav{
    display:none;
    position:fixed;
    top:0;left:0;
    width:100%;
    height:100vh;height:100svh;
    background:rgba(20,18,16,0.97);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    opacity:0;
    visibility:hidden;
    transition:opacity 0.4s ease,visibility 0.4s ease;
    z-index:10000;
    overflow-y:auto;
    pointer-events:none;
}

body.nav-open{overflow:hidden !important;position:fixed !important;width:100% !important}

body.nav-open .main-nav{
    opacity:1 !important;
    visibility:visible !important;
    display:flex !important;
    pointer-events:auto !important;
}

/* Container interior centrat */
.nav-overlay-decor{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    padding:60px 30px;
}

/* Logo în meniu */
.nav-logo{
    margin-bottom:20px;
}

.nav-logo img{
    height:70px;
    width:auto;
    opacity:0.9;
}

/* Linie separatoare aurie fină */
.nav-divider{
    width:40px;
    height:1px;
    background:var(--color-primary-accent);
    opacity:0.4;
    margin:15px 0;
}

/* Lista de linkuri */
.main-nav ul{
    list-style:none;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;
    padding:0;
    margin:0;
}

.main-nav ul li{
    opacity:0;
    transform:translateY(15px);
    transition:opacity 0.4s ease,transform 0.4s ease;
}

.nav-open .main-nav ul li{opacity:1;transform:translateY(0)}
.nav-open .main-nav ul li:nth-child(1){transition-delay:0.1s}
.nav-open .main-nav ul li:nth-child(2){transition-delay:0.15s}
.nav-open .main-nav ul li:nth-child(3){transition-delay:0.2s}
.nav-open .main-nav ul li:nth-child(4){transition-delay:0.25s}
.nav-open .main-nav ul li:nth-child(5){transition-delay:0.3s}

.main-nav ul li a{
    font-family:var(--font-headings);
    font-size:1.4em;
    font-weight:400;
    letter-spacing:2px;
    text-transform:uppercase;
    color:rgba(255,255,255,0.7);
    padding:14px 30px;
    display:block;
    text-align:center;
    text-decoration:none;
    transition:color 0.3s ease,letter-spacing 0.3s ease;
    -webkit-tap-highlight-color:transparent;
    border:none;
}

.main-nav ul li a:hover,
.main-nav ul li a.active{
    color:var(--color-primary-accent);
    letter-spacing:3px;
    background:transparent;
    transform:none;
    border:none;
}

/* Tagline jos */
.nav-tagline{
    font-family:var(--font-headings);
    font-style:italic;
    font-size:0.9em;
    color:rgba(197,164,126,0.4);
    letter-spacing:3px;
    margin-top:10px;
}
} /* end 768px */

/* Desktop — ascunde meniul mobil, arată doar desktop-nav */
@media (min-width: 769px) {
    .main-nav{
        display:none !important;
    }
    .nav-toggle{display:none !important}
}

.map-container{position:static;height:auto;margin-top:0;display:flex;flex-direction:column;gap:40px}
.map-path-svg{display:none}
.map-point{position:static;animation:none;opacity:1;max-width:300px;margin:0 auto}
/* Cookie banner responsive mobile */
@media (max-width: 768px) {
    .cookie-banner{
        flex-direction:column;
        text-align:center;
        padding:20px 15px;
        gap:16px;
    }
    .cookie-buttons{
        width:100%;
        justify-content:center;
    }
    .cookie-banner .btn{
        padding:12px 20px;
        font-size:0.85em;
    }
}

/* Calendar responsive pentru mobile */
.calendar-wrapper {
    width: 100% !important;
    height: 400px !important;
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
}

.calendar-wrapper iframe {
    width: 100% !important;
    height: 400px !important;
    border: 0 !important;
    border-radius: 10px;
}

/* === TESTIMONIALS MOBILE placeholder - regulile sunt la finalul fisierului === */

/* === 3D TESTIMONIALS SYSTEM === */
.testimonials-3d-container{max-width:1100px;margin:60px auto;position:relative;height:500px;overflow:hidden;border-radius:15px;background:linear-gradient(135deg,var(--color-secondary-accent),#1a1a1a);border:1px solid rgba(197,164,126,0.1);perspective:none}

.testimonials-3d-wrapper{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:20px;transform:none;padding:20px}

.testimonials-column{height:100%;width:300px;position:relative;overflow:hidden}

.testimonials-marquee{height:200%;display:flex;flex-direction:column;gap:20px;will-change:transform}

.testimonials-scroll-down .testimonials-marquee{animation:scroll-testimonials-down 40s linear infinite}
.testimonials-scroll-up .testimonials-marquee{animation:scroll-testimonials-up 40s linear infinite;animation-direction:reverse}

@keyframes scroll-testimonials-down{
0%{transform:translateY(-50%)}
100%{transform:translateY(0%)}
}

@keyframes scroll-testimonials-up{
0%{transform:translateY(0%)}
100%{transform:translateY(-50%)}
}

/* Animații specifice pentru mobile - identice cu desktop pentru loop infinit */
@keyframes scroll-testimonials-down-mobile{
0%{transform:translateY(-50%)}
100%{transform:translateY(0%)}
}

@keyframes scroll-testimonials-up-mobile{
0%{transform:translateY(0%)}
100%{transform:translateY(-50%)}
}

/* Hover nu oprește caruselul */

.testimonial-card{background:rgba(34,34,34,0.8);backdrop-filter:blur(10px);border:1px solid rgba(197,164,126,0.2);border-radius:0px;padding:20px;min-height:auto;height:auto;display:flex;flex-direction:row;align-items:center;gap:12px;position:relative;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none}

.testimonial-card:active{background:rgba(34,34,34,0.8)}

.testimonial-avatar{position:relative;width:45px;height:45px;border-radius:50%;overflow:hidden;border:none;flex-shrink:0}

.testimonial-avatar img{width:100%;height:100%;object-fit:cover;display:none}

.avatar-fallback{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-primary-accent) !important;color:var(--color-background);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:0.9em}

.testimonial-content{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}

.testimonial-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0}

.testimonial-name{font-family:var(--font-headings);font-size:1.1em;color:var(--color-primary-accent);margin:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}

.testimonial-stars{color:#fbbc05;font-size:0.9em;flex-shrink:0}

.testimonial-text{font-size:0.9em;line-height:1.5;color:var(--color-text);opacity:0.9;margin:0;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:normal;overflow:visible;text-overflow:unset}

.testimonial-location{font-size:0.8em;color:var(--color-text);opacity:0.7;display:flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.testimonials-gradient-top{position:absolute;top:0;left:0;right:0;height:25%;background:linear-gradient(to bottom,rgba(26,26,26,1),rgba(26,26,26,0));pointer-events:none;z-index:10}

.testimonials-gradient-bottom{position:absolute;bottom:0;left:0;right:0;height:25%;background:linear-gradient(to top,rgba(26,26,26,1),rgba(26,26,26,0));pointer-events:none;z-index:10}

.testimonials-gradient-left{position:absolute;top:0;bottom:0;left:0;width:15%;background:linear-gradient(to right,rgba(26,26,26,0.8),rgba(26,26,26,0));pointer-events:none;z-index:10}

.testimonials-gradient-right{position:absolute;top:0;bottom:0;right:0;width:15%;background:linear-gradient(to left,rgba(26,26,26,0.8),rgba(26,26,26,0));pointer-events:none;z-index:10}

/* Tablet și desktop mic */
@media (max-width: 1024px) {
    .testimonials-3d-container {
        max-width: 95%;
        height: 450px;
        margin: 50px auto;
    }

    .testimonials-3d-wrapper {
        transform: none;
        gap: 18px;
        padding: 18px;
    }

    .testimonials-column {
        width: 280px;
    }
}

/* Testimoniale pe telefoane mici - moștenesc de la 768px */

/* Responsivitate pentru secțiunea de reviews */
@media (max-width: 768px) {
    .reviews-section {
        padding: 20px 20px 40px 20px !important; /* Reduc padding-ul de sus */
    }
    
    .reviews-section .section-title {
        font-size: 2.2em;
        text-align: center;
        margin-bottom: 15px;
    }
    
    .reviews-section .section-subtitle {
        font-size: 0.95em;
        text-align: center;
        margin-bottom: 30px;
        padding: 0 10px;
    }
}

@media (max-width: 480px) {
    .reviews-section {
        padding: 15px 15px 30px 15px !important; /* Reduc și mai mult padding-ul de sus */
    }
    
    .reviews-section .section-title {
        font-size: 1.9em;
        margin-bottom: 12px;
    }
    
    .reviews-section .section-subtitle {
        font-size: 0.9em;
        margin-bottom: 25px;
    }
}

@media (max-width: 360px) {
    .reviews-section {
        padding: 10px 10px 25px 10px !important; /* Padding minim de sus */
    }
    
    .reviews-section .section-title {
        font-size: 1.7em;
        margin-bottom: 10px;
    }
    
    .reviews-section .section-subtitle {
        font-size: 0.85em;
        margin-bottom: 20px;
    }
}

/* Performance optimizations pentru mobile */
@media (max-width: 768px) {
    .testimonials-3d-container {
        will-change: transform;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    
    .testimonials-column {
        will-change: transform;
    }
    
    .testimonial-card {
        will-change: transform;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
    
    /* Hover nu oprește caruselul pe touch devices */
}

/* Interactive 3D Values Section */
/* === VALORILE NOASTRE — COFETĂRIE PREMIUM === */
.values-section {
    position: relative;
    background: var(--color-background);
}

.values-bg-pattern { display: none; }
.values-section::before { display: none; }
.value-accent { display: none; }

.values-inner {
    position: relative;
    z-index: 1;
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 0 60px;
}

/* Card */
.value-card-new {
    position: relative;
    background: #1e1e1e;
    border-radius: 25px;
    box-shadow: 0 1px 1px rgba(0,0,0,0.6);
    transition: all 0.2s ease-out;
    overflow: visible;
}

.value-card-new:hover {
    box-shadow: 0 20px 40px rgba(0,0,0,0.7);
    transform: translateY(-15px);
}

/* Top area cu icon */
.value-card-top {
    background: linear-gradient(165deg, #0f0f0f 0%, #141008 100%);
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.value-card-top img {
    width: 80px;
    height: 80px;
}

.value-card-top .value-card-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Wave SVG */
.value-wave {
    position: absolute;
    top: 142px;
    left: 0;
    width: 100%;
    transition: filter 0.2s ease-out;
    filter: drop-shadow(2px -6px 4px rgba(200,144,58,0.15));
    display: block;
}

.value-card-new:hover .value-wave {
    filter: drop-shadow(2px -6px 4px rgba(200,144,58,0.35));
}

/* Cercul flotant cu icon */
.value-icon-float {
    position: absolute;
    top: 122px;
    right: 1.2rem;
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, #d9aa58 0%, #c8903a 40%, #b8782a 70%, #c8903a 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.6s ease-in-out;
    box-shadow: 0 4px 12px rgba(200,144,58,0.4);
    z-index: 2;
}

.value-icon-float img {
    width: 28px;
    height: 28px;
    filter: brightness(0) invert(1);
}

.value-card-new:hover .value-icon-float {
    transform:rotate(360deg);
}

/* Body text */
.value-card-body {
    padding: 2.5rem 1.2rem 1.6rem;
}

.value-title-new {
    font-family: var(--font-headings);
    font-size: 1.05em;
    color: var(--color-primary-accent);
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 0.5px;
    margin-bottom: 0.4rem;
}

.value-divider {
    border: none;
    border-top: 1px solid rgba(200,144,58,0.3);
    margin: 0.4rem 0 0.9rem;
}

.value-text-new {
    font-family: var(--font-body);
    font-size: 0.85em;
    line-height: 1.7;
    color: rgba(240,240,240,0.65);
    margin: 0;
}

/* Responsive */
@media (max-width: 1024px) {
    .values-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (max-width: 600px) {
    .values-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 0 10px 40px;
    }
}

.values-3d-container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    height: 700px;
    perspective: 1000px;
    perspective-origin: center center;
}

.values-network {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    animation: gentleFloat 12s ease-in-out infinite;
}

@keyframes gentleFloat {
    0%, 100% { transform: translateY(0px) rotateY(0deg); }
    33% { transform: translateY(-8px) rotateY(1deg); }
    66% { transform: translateY(8px) rotateY(-1deg); }
}


@keyframes lineFlow1 {
    0% { 
        stroke-dashoffset: 20;
        opacity: 0.3;
    }
    50% {
        opacity: 0.8;
    }
    100% { 
        stroke-dashoffset: 0;
        opacity: 0.3;
    }
}

/* Custom Elegant Elements */
.elegant-ornament {
    position: relative;
    width: 20px;
    height: 20px;
}

.ornament-center {
    width: 6px;
    height: 6px;
    background: linear-gradient(135deg, #d4b896, #c5a47e);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 8px rgba(197, 164, 126, 0.5);
}

.ornament-petals {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.ornament-petals::before,
.ornament-petals::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 2px;
    background: linear-gradient(90deg, transparent, #c5a47e, transparent);
    top: -1px;
    left: -8px;
}

.ornament-petals::after {
    transform: rotate(90deg);
}

.elegant-swirl {
    width: 18px;
    height: 18px;
    position: relative;
}

.swirl-line {
    width: 100%;
    height: 100%;
    border: 2px solid transparent;
    border-top: 2px solid #c5a47e;
    border-right: 2px solid #c5a47e;
    border-radius: 50%;
    position: relative;
    opacity: 0.8;
}

.swirl-line::before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    border: 1px solid #c5a47e;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.icon-8 i { color: #d4b896; }

.icon-1 i {
    color: #d4b896; /* tort - auriu deschis */
}

.icon-2 i {
    color: #c5a47e; /* inima - culoarea principală */
}

.icon-3 i {
    color: #b8956e; /* cookie - maro mediu */
}

.icon-4 i {
    color: #a08769; /* candy cane - maro închis */
}

.icon-5 i {
    color: #c7ab83; /* înghețată - bej */
}

.icon-6 i {
    color: #c5a47e; /* inima 2 - culoarea principală */
}

.icon-1 {
    top: 18%;
    left: 15%;
}

.icon-2 {
    top: 18%;
    right: 25%;
}

.icon-3 {
    bottom: 18%;
    right: 15%;
}

.icon-4 {
    bottom: 18%;
    left: 25%;
}

.icon-5 {
    top: 30%;
    left: 40%;
}

.icon-6 {
    top: 40%;
    right: 35%;
}

.icon-7 {
    bottom: 35%;
    left: 35%;
}

.icon-8 {
    top: 25%;
    right: 40%;
}

/* Biletele de Frigider - Valorile Noastre */
.values-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.values-container {
    perspective: 900px;
}

.fridge-note {
    position: relative;
    background: linear-gradient(145deg, #faf7f0, #f5f2eb);
    width: 100%;
    min-height: 350px;
    padding: 20px;
    border-radius: 8px;
    box-shadow:
        0 4px 8px rgba(0,0,0,0.1),
        0 2px 4px rgba(0,0,0,0.05);
    border: 2px solid var(--color-primary-accent);
    transform-style: preserve-3d;
}

/* Stânga - înclinat spre dreapta */
.fridge-note:nth-child(1) {
    transform: rotateY(8deg) rotateZ(-1deg);
}

/* Mijloc - drepte */
.fridge-note:nth-child(2) {
    transform: none;
}

.fridge-note:nth-child(3) {
    transform: none;
}

/* Dreapta - înclinat spre stânga */
.fridge-note:nth-child(4) {
    transform: rotateY(-8deg) rotateZ(1deg);
}

/* Agățătoarea de pe partea de sus - culoarea brandului */
.note-pin {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 16px;
    background: linear-gradient(145deg, var(--color-primary-accent), #b8956e);
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 
        0 2px 4px rgba(0,0,0,0.3),
        inset 0 1px 2px rgba(255,255,255,0.3);
}

.note-pin::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 4px;
    height: 4px;
    background: rgba(255,255,255,0.6);
    border-radius: 50%;
}

.note-content {
    text-align: center;
    padding-top: 15px;
}

.note-icon {
    margin-bottom: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-primary-accent);
    width: 100%;
    text-align: center;
    height: 40px;
}

.note-icon i {
    font-size: 2.5em;
}

.note-icon i {
    color: var(--color-primary-accent);
}

.note-icon img {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    object-fit: contain;
    display: block !important;
    margin: 0 auto !important;
    mix-blend-mode: multiply;
}

@media (min-width: 769px) {
    .note-icon img {
        width: 40px !important;
        height: 40px !important;
        max-width: 40px !important;
        max-height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }
}

.note-title {
    font-family: 'Cormorant Garamond', var(--font-headings), serif;
    font-size: 1.3em;
    color: var(--color-primary-accent);
    margin-bottom: 12px;
    font-weight: 600;
}

.note-text {
    font-family: 'Lora', var(--font-body), serif;
    font-size: 0.85em;
    line-height: 1.5;
    color: #333;
    margin: 0;
}

/* Toate biletele au aceeași culoare de brand - doar nuanțe diferite */
.note-1 {
    background: linear-gradient(145deg, #faf7f0, #f5f2eb);
    border-color: var(--color-primary-accent);
}

.note-2 {
    background: linear-gradient(145deg, #f8f5ee, #f3f0e9);
    border-color: #b8956e;
}

.note-3 {
    background: linear-gradient(145deg, #f6f3ec, #f1eeea);
    border-color: #d4b896;
}

.note-4 {
    background: linear-gradient(145deg, #f4f1ea, #efece8);
    border-color: #a08769;
}

/* Responsive pentru tabletă și mobile */
@media (max-width: 1024px) {
    .values-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .values-container {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px 15px;
    }
    
    .fridge-note {
        min-height: 220px;
        padding: 18px;
    }
    
    .note-title {
        font-size: 1.2em;
    }
    
    .note-text {
        font-size: 0.82em;
        line-height: 1.4;
    }
    
    .note-icon {
        font-size: 2.2em;
        margin-bottom: 12px;
    }
}

.value-card {
    position: absolute;
    width: 280px;
    height: 320px;
    background: linear-gradient(145deg, rgba(26, 26, 26, 0.9), rgba(40, 40, 40, 0.9));
    border-radius: 20px;
    padding: 30px 25px;
    text-align: center;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 1px solid rgba(197, 164, 126, 0.2);
    backdrop-filter: blur(10px);
    transform-style: preserve-3d;
    z-index: 2;
    overflow: hidden;
}

.value-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(145deg, rgba(197, 164, 126, 0.05), rgba(197, 164, 126, 0.15));
    border-radius: 20px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.value-card:hover::before {
    opacity: 1;
}

.value-glow {
    display: none;
}

.value-card:hover {
    transform: translateY(-15px) rotateX(5deg) rotateY(-5deg) scale(1.05);
    border-color: rgba(197, 164, 126, 0.6);
    box-shadow: 
        0 20px 40px rgba(0, 0, 0, 0.4),
        0 0 30px rgba(197, 164, 126, 0.2);
}

.value-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: linear-gradient(145deg, var(--color-primary-accent), #d4b896);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.2em;
    color: var(--color-background);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.value-icon::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transform: rotate(45deg);
    transition: transform 0.6s ease;
}

.value-card:hover .value-icon {
    transform: rotateY(180deg) scale(1.1);
}

.value-card:hover .value-icon::before {
    transform: rotate(45deg) translateX(100%);
}

/* Culori specifice pentru fiecare card */
.value-card-1 .value-icon {
    background: linear-gradient(145deg, #c5a47e, #b8956e);
    color: white;
}

.value-card-2 .value-icon {
    background: linear-gradient(145deg, #d4b896, #c7ab83);
    color: white;
}

.value-card-3 .value-icon {
    background: linear-gradient(145deg, #b49773, #a58660);
    color: white;
}

.value-card-4 .value-icon {
    background: linear-gradient(145deg, #a08769, #947b5f);
    color: white;
}

.value-title {
    font-family: var(--font-headings);
    font-size: 1.6em;
    color: var(--color-primary-accent);
    margin-bottom: 15px;
    font-weight: 600;
    transition: all 0.3s ease;
    position: relative;
}

.value-title::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--color-primary-accent), transparent);
    transition: all 0.4s ease;
    transform: translateX(-50%);
}

.value-card:hover .value-title::after {
    width: 100%;
}

.value-description {
    font-size: 0.95em;
    line-height: 1.6;
    color: var(--color-text);
    opacity: 0.9;
    margin: 0;
    transition: all 0.3s ease;
}

.value-card:hover .value-description {
    opacity: 1;
    transform: translateZ(20px);
}

/* Positioning the cards */
.value-card-1 {
    top: 50px;
    left: 50px;
    animation: cardFloat1 6s ease-in-out infinite;
    background: linear-gradient(135deg, rgba(197, 164, 126, 0.1), rgba(197, 164, 126, 0.05));
    border: 2px solid rgba(197, 164, 126, 0.3);
}

.value-card-1:hover {
    box-shadow: 0 20px 40px rgba(197, 164, 126, 0.2), 0 0 30px rgba(197, 164, 126, 0.1);
    background: linear-gradient(135deg, rgba(197, 164, 126, 0.15), rgba(197, 164, 126, 0.08));
}

.value-card-2 {
    top: 50px;
    right: 50px;
    animation: cardFloat2 6s ease-in-out infinite 1s;
    background: linear-gradient(135deg, rgba(212, 184, 150, 0.1), rgba(212, 184, 150, 0.05));
    border: 2px solid rgba(212, 184, 150, 0.3);
}

.value-card-2:hover {
    box-shadow: 0 20px 40px rgba(212, 184, 150, 0.2), 0 0 30px rgba(212, 184, 150, 0.1);
    background: linear-gradient(135deg, rgba(212, 184, 150, 0.15), rgba(212, 184, 150, 0.08));
}

.value-card-3 {
    bottom: 50px;
    right: 50px;
    animation: cardFloat3 6s ease-in-out infinite 2s;
    background: linear-gradient(135deg, rgba(180, 151, 115, 0.1), rgba(180, 151, 115, 0.05));
    border: 2px solid rgba(180, 151, 115, 0.3);
}

.value-card-3:hover {
    box-shadow: 0 20px 40px rgba(180, 151, 115, 0.2), 0 0 30px rgba(180, 151, 115, 0.1);
    background: linear-gradient(135deg, rgba(180, 151, 115, 0.15), rgba(180, 151, 115, 0.08));
}

.value-card-4 {
    bottom: 50px;
    left: 50px;
    animation: cardFloat4 6s ease-in-out infinite 3s;
    background: linear-gradient(135deg, rgba(160, 135, 105, 0.1), rgba(160, 135, 105, 0.05));
    border: 2px solid rgba(160, 135, 105, 0.3);
}

.value-card-4:hover {
    box-shadow: 0 20px 40px rgba(160, 135, 105, 0.2), 0 0 30px rgba(160, 135, 105, 0.1);
    background: linear-gradient(135deg, rgba(160, 135, 105, 0.15), rgba(160, 135, 105, 0.08));
}

@keyframes cardFloat1 {
    0%, 100% { transform: translateY(0px) rotateZ(0deg); }
    50% { transform: translateY(-10px) rotateZ(1deg); }
}

@keyframes cardFloat2 {
    0%, 100% { transform: translateY(0px) rotateZ(0deg); }
    50% { transform: translateY(-15px) rotateZ(-1deg); }
}

@keyframes cardFloat3 {
    0%, 100% { transform: translateY(0px) rotateZ(0deg); }
    50% { transform: translateY(-8px) rotateZ(1deg); }
}

@keyframes cardFloat4 {
    0%, 100% { transform: translateY(0px) rotateZ(0deg); }
    50% { transform: translateY(-12px) rotateZ(-1deg); }
}

/* Responsive Design pentru Values Section */
@media (max-width: 1024px) {
    .values-3d-container {
        height: 500px;
    }
    
    .value-card {
        width: 250px;
        height: 280px;
        padding: 25px 20px;
    }
    
    .value-icon {
        width: 70px;
        height: 70px;
        font-size: 2em;
    }
    
    .value-title {
        font-size: 1.4em;
    }
    
    .value-description {
        font-size: 0.9em;
    }
}

@media (max-width: 768px) {
    .values-3d-container {
        height: auto;
        padding: 40px 20px;
        perspective: none;
    }
    
    .values-network {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        animation: none;
        transform: none;
    }
    
    .value-card {
        position: relative;
        width: 100%;
        height: 260px;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        animation: none;
        margin: 0;
    }
    
    .value-card:hover {
        transform: translateY(-10px) scale(1.02);
    }
    
    .value-icon {
        width: 60px;
        height: 60px;
        font-size: 1.8em;
        margin-bottom: 15px;
    }
    
    .value-title {
        font-size: 1.3em;
        margin-bottom: 12px;
    }
    
    .value-description {
        font-size: 0.85em;
        line-height: 1.5;
    }
}

@media (max-width: 480px) {
    .values-section .content-padding {
        padding: 60px 20px;
    }
    
    .values-network {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .value-card {
        height: 220px;
        padding: 20px 15px;
        border-radius: 15px;
    }
    
    .value-icon {
        width: 50px;
        height: 50px;
        font-size: 1.5em;
        margin-bottom: 12px;
    }
    
    .value-title {
        font-size: 1.2em;
        margin-bottom: 10px;
    }
    
    .value-description {
        font-size: 0.8em;
        line-height: 1.4;
    }
}

@media (max-width: 360px) {
    .values-section .content-padding {
        padding: 50px 15px;
    }
    
    .value-card {
        height: 200px;
        padding: 18px 12px;
    }
    
    .value-icon {
        width: 45px;
        height: 45px;
        font-size: 1.3em;
        margin-bottom: 10px;
    }
    
    .value-title {
        font-size: 1.1em;
        margin-bottom: 8px;
    }
    
    .value-description {
        font-size: 0.75em;
        line-height: 1.3;
    }
}

/* Tablet Container with Scroll Animation */
.tablet-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 80px 20px;
    perspective: 1000px;
    overflow: hidden;
}

.tablet-content {
    width: 100%;
    max-width: 1200px;
    position: relative;
}

.tablet-header {
    text-align: center;
    margin-bottom: 80px;
    opacity: 0;
    transform: translateY(50px);
    animation: slideInHeader 1s ease-out 0.2s forwards;
}

.tablet-title {
    font-family: var(--font-headings);
    font-size: 3.5rem;
    color: var(--color-primary-accent);
    margin-bottom: 20px;
    font-weight: 700;
}

.tablet-subtitle {
    font-size: 1.2rem;
    color: rgba(240, 240, 240, 0.8);
    font-weight: 300;
}

.tablet-device {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
    transform: perspective(1000px) rotateX(20deg);
    transition: all 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
    will-change: transform;
}

.tablet-device.scrolled {
    transform: perspective(1000px) rotateX(0deg) scale(1.02);
}

.tablet-screen {
    position: relative;
    width: 100%;
    height: 500px;
    background: #222222;
    border-radius: 30px;
    padding: 20px;
    box-shadow: 
        0 0 0 4px #6C6C6C,
        0 25px 50px rgba(0, 0, 0, 0.3),
        0 50px 80px rgba(0, 0, 0, 0.2),
        0 75px 100px rgba(0, 0, 0, 0.1);
    transition: all 0.6s ease;
}

.tablet-device.scrolled .tablet-screen {
    box-shadow: 
        0 0 0 4px #c5a47e,
        0 35px 60px rgba(197, 164, 126, 0.2),
        0 60px 90px rgba(0, 0, 0, 0.3),
        0 85px 110px rgba(0, 0, 0, 0.2);
}

.screen-content {
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    border-radius: 15px;
    overflow: hidden;
    position: relative;
}

.tablet-frame {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 10px;
}

.tablet-camera {
    width: 8px;
    height: 8px;
    background: #333;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.tablet-button {
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 4px;
    background: #666;
    border-radius: 2px;
}

/* Scroll triggered animations */
@keyframes slideInHeader {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes tabletFloat {
    0%, 100% {
        transform: perspective(1000px) rotateX(20deg) translateY(0px);
    }
    50% {
        transform: perspective(1000px) rotateX(20deg) translateY(-10px);
    }
}

.tablet-device.floating {
    animation: tabletFloat 6s ease-in-out infinite;
}

/* Responsive Design */
@media (max-width: 768px) {
    .tablet-title {
        font-size: 2.5rem;
    }
    
    .tablet-subtitle {
        font-size: 1rem;
    }
    
    .tablet-device {
        transform: perspective(600px) rotateX(15deg);
        max-width: 100%;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        transition: all 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
    }
    
    .tablet-device.scrolled {
        transform: perspective(600px) rotateX(0deg) scale(1.05);
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .tablet-device.floating {
        animation: tabletFloat 4s ease-in-out infinite;
    }
    
    /* Force iframe visibility on mobile */
    iframe[data-src] {
        display: block !important;
        visibility: visible !important;
        min-height: 300px;
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.1);
    }
    
    .tablet-screen {
        height: 400px;
        padding: 15px;
        border-radius: 20px;
    }
    
    .tablet-container {
        min-height: 80vh;
        padding: 40px 15px;
    }
    
    .tablet-header {
        margin-bottom: 50px;
    }
}

/* ========= CUSTOM ICONS FOR VALUES SECTION ========= */
.icon-heart::before { 
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c5a47e' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E") no-repeat center center;
    background-size: contain;
}
.icon-handshake::before { 
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c5a47e' viewBox='0 0 24 24'%3E%3Cpath d='M11,2V4.06C7.05,4.56 4,7.92 4,12V18A2,2 0 0,0 6,20H9L12.5,16.5L16,20H18A2,2 0 0,0 20,18V12C20,7.92 16.95,4.56 13,4.06V2H11M12,6A6,6 0 0,1 18,12V18H16.5L12.5,14L8.5,18H6V12A6,6 0 0,1 12,6Z'/%3E%3C/svg%3E") no-repeat center center;
    background-size: contain;
}
.icon-medal::before { 
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c5a47e' viewBox='0 0 24 24'%3E%3Cpath d='M12 15.39l-3.76 2.27.99-4.28-3.32-2.88 4.38-.38L12 6.09l1.71 4.03 4.38.38-3.32 2.88.99 4.28L12 15.39z'/%3E%3Cpath d='M12 2L9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2z'/%3E%3C/svg%3E") no-repeat center center;
    background-size: contain;
}
.icon-shield::before { 
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c5a47e' viewBox='0 0 24 24'%3E%3Cpath d='M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,7C13.4,7 14.8,8.6 14.8,10V11H16V16H8V11H9.2V10C9.2,8.6 10.6,7 12,7M12,8.2C11.2,8.2 10.4,8.7 10.4,10V11H13.6V10C13.6,8.7 12.8,8.2 12,8.2Z'/%3E%3C/svg%3E") no-repeat center center;
    background-size: contain;
}
.icon-calendar::before { 
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c5a47e' viewBox='0 0 24 24'%3E%3Cpath d='M19,3H18V1H16V3H8V1H6V3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V8H19V19Z'/%3E%3C/svg%3E") no-repeat center center;
    background-size: contain;
    margin-right: 6px;
}
.icon-cupcake::before { 
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url("cake.ico") no-repeat center center;
    background-size: contain;
}
.icon-croissant::before { 
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url("cookies.ico") no-repeat center center;
    background-size: contain;
}
.fas { 
    font-style: normal; 
}

/* ========= PAGINA 404 ERROR ========= */
.error-404-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 120px 20px 60px;
    background: var(--color-background);
    contain: layout style paint;
}

.error-404-content {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}

.error-number {
    font-family: var(--font-headings);
    font-size: clamp(8rem, 15vw, 16rem);
    font-weight: 700;
    color: var(--color-primary-accent);
    line-height: 0.8;
    margin-bottom: 2rem;
    text-shadow: 2px 2px 10px rgba(0,0,0,0.3);
    letter-spacing: -0.02em;
}

.error-title {
    font-family: var(--font-headings);
    font-size: clamp(2rem, 5vw, 3.5rem);
    color: var(--color-text);
    margin-bottom: 1.5rem;
    font-weight: 600;
    line-height: 1.2;
}

.error-subtitle {
    font-family: var(--font-body);
    font-size: clamp(1.1rem, 2.5vw, 1.3rem);
    color: rgba(240, 240, 240, 0.85);
    margin-bottom: 3rem;
    line-height: 1.6;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.error-actions {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-items: center;
}

.error-actions .btn {
    min-width: 220px;
    font-size: 1rem;
    padding: 15px 35px;
}

@media (min-width: 768px) {
    .error-actions {
        flex-direction: row;
        justify-content: center;
        gap: 2rem;
    }
    
    .error-404-section {
        padding: 140px 40px 80px;
    }
}

/* ========= CANDY BAR PREMIUM STYLES ========= */
.advantages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin: 2rem 0 3rem;
}

.advantage-card {
    text-align: center;
    padding: 2rem 1.5rem;
    background: rgba(197, 164, 126, 0.05);
    border-radius: 8px;
    border: 1px solid rgba(197, 164, 126, 0.2);
    transition: all 0.3s ease;
}

.advantage-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    border-color: var(--color-primary-accent);
}

.advantage-icon {
    margin-bottom: 1rem;
}

.advantage-icon i {
    display: inline-block;
    width: 48px;
    height: 48px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.advantage-card h3 {
    font-family: var(--font-headings);
    font-size: 1.3rem;
    color: var(--color-primary-accent);
    margin-bottom: 0.8rem;
    font-weight: 600;
}

.advantage-card p {
    font-family: var(--font-body);
    color: rgba(240, 240, 240, 0.85);
    line-height: 1.5;
}

.event-types-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0 3rem;
}

.event-type-card {
    padding: 1.5rem;
    background: linear-gradient(145deg, 
        rgba(197, 164, 126, 0.08) 0%, 
        rgba(197, 164, 126, 0.03) 100%);
    border-radius: 8px;
    border-left: 4px solid var(--color-primary-accent);
    transition: all 0.3s ease;
}

.event-type-card:hover {
    transform: translateX(5px);
    background: linear-gradient(145deg, 
        rgba(197, 164, 126, 0.12) 0%, 
        rgba(197, 164, 126, 0.06) 100%);
}

.event-type-card h3 {
    font-family: var(--font-headings);
    font-size: 1.2rem;
    color: var(--color-primary-accent);
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.event-type-card p {
    font-family: var(--font-body);
    color: rgba(240, 240, 240, 0.8);
    line-height: 1.4;
    font-size: 0.95rem;
}
/* === TESTIMONIALS MOBILE — 2 coloane × 2 randuri = 4 chenare vizibile cu tot continutul === */
@media (max-width: 768px) {
    .testimonials-3d-container {
        max-width: 100% !important;
        margin: 10px 0 !important;
        height: 590px !important;
        overflow: hidden !important;
        border-radius: 10px !important;
    }
    .testimonials-3d-wrapper {
        width: 100% !important;
        height: 100% !important;
        display: flex !important;
        align-items: stretch !important;
        gap: 8px !important;
        padding: 8px !important;
    }
    /* Coloana 3 ascunsa — raman 2 coloane */
    .testimonials-column:nth-child(3) {
        display: none !important;
        width: 0 !important;
    }
    .testimonials-column:nth-child(1),
    .testimonials-column:nth-child(2) {
        display: block !important;
        width: calc(50% - 4px) !important;
        height: 100% !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
    }
    .testimonials-marquee {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        height: auto !important;
        will-change: transform !important;
    }
    /* Card cu text = inaltime naturala (mare). Card fara text = mic, doar avatar+nume+stele */
    .testimonial-card {
        flex-direction: column !important;
        flex-shrink: 0 !important;
        padding: 12px !important;
        gap: 6px !important;
        align-items: flex-start !important;
        width: 100% !important;
        min-height: auto !important;
        height: auto !important;
        box-sizing: border-box !important;
    }
    .testimonial-avatar {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        flex-shrink: 0 !important;
    }
    .avatar-fallback {
        font-size: 0.7em !important;
    }
    .testimonial-header {
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
    }
    .testimonial-name {
        font-size: 0.82em !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        flex: 1 !important;
        min-width: 0 !important;
    }
    .testimonial-stars {
        font-size: 0.75em !important;
        flex-shrink: 0 !important;
    }
    .testimonial-content {
        flex: 1 !important;
        min-width: 0 !important;
        width: 100% !important;
        gap: 6px !important;
        display: flex !important;
        flex-direction: column !important;
    }
    .testimonial-text {
        display: block !important;
        font-size: 0.8em !important;
        line-height: 1.45 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        color: rgba(240, 240, 240, 0.85) !important;
    }
    .testimonial-location { display: none !important; }
}

/* ===== TORT LA DOZA SECTION ===== */
.tort-doza-section {
    background: #0e0e0e;
    padding: 80px 5%;
    overflow: hidden;
}

.tort-doza-inner {
    display: flex;
    align-items: center;
    gap: 60px;
    max-width: 1200px;
    margin: 0 auto;
}

.tort-doza-images {
    flex: 1.1;
    display: flex;
    gap: 10px;
    align-items: flex-end;
    min-width: 0;
}

.tort-doza-img {
    overflow: hidden;
    border-radius: 14px;
    flex-shrink: 0;
}

.tort-doza-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
}

/* Stanga: cascada mare → medie → mica (de la exterior spre text) */
.tort-doza-img--1 {
    width: 40%;
    height: 480px;
    align-self: flex-end;
}

.tort-doza-img--2 {
    width: 33%;
    height: 370px;
    align-self: flex-end;
    margin-bottom: 55px;
}

.tort-doza-img--3 {
    width: 27%;
    height: 280px;
    align-self: flex-end;
    margin-bottom: 110px;
}

/* Dreapta: cascada oglindita mica → medie → mare (de la text spre exterior) */
.tort-doza-images-right {
    flex-direction: row;
}

.tort-doza-img--r1 {
    width: 27%;
    height: 280px;
    align-self: flex-end;
    margin-bottom: 110px;
}

.tort-doza-img--r2 {
    width: 33%;
    height: 370px;
    align-self: flex-end;
    margin-bottom: 55px;
}

.tort-doza-img--r3 {
    width: 40%;
    height: 480px;
    align-self: flex-end;
}

.tort-doza-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 22px;
    min-width: 0;
}

.tort-doza-title {
    font-family: var(--font-headings);
    font-size: 2.3em;
    color: var(--color-text);
    line-height: 1.25;
    margin: 0;
}

.tort-doza-desc {
    color: rgba(240, 240, 240, 0.7);
    font-size: 0.95em;
    line-height: 1.6;
    margin: 0;
}

.tort-doza-btns {
    display: flex;
    gap: 14px;
    flex-wrap: nowrap;
    margin-top: 6px;
}

.tort-doza-btns .btn {
    white-space: nowrap;
}

@media (max-width: 900px) {
    .tort-doza-inner {
        flex-direction: column;
        gap: 36px;
    }
    .tort-doza-images, .tort-doza-images-right {
        width: 100%;
        justify-content: center;
    }
    /* Simetrice pe tablet — toate egale */
    .tort-doza-img--1, .tort-doza-img--2, .tort-doza-img--3,
    .tort-doza-img--r1, .tort-doza-img--r2, .tort-doza-img--r3 {
        height: 220px !important;
        margin-bottom: 0 !important;
        width: 32% !important;
    }
    .tort-doza-title { font-size: 1.8em; }
}

@media (max-width: 480px) {
    .tort-doza-section { padding: 50px 5%; }
    .tort-doza-images-right { display: none; }
    /* Simetrice pe mobile mic — toate egale */
    .tort-doza-img--1, .tort-doza-img--2, .tort-doza-img--3 {
        height: 160px !important;
        width: 32% !important;
        margin-bottom: 0 !important;
    }
    .tort-doza-title { font-size: 1.5em; }
}

/* === SCROLL STACK — activ doar pe desktop (>900px) === */
@media (min-width: 901px) {
    .scroll-stack{position:-webkit-sticky;position:sticky;top:0;min-height:100vh;background:#1a1a1a;transform-origin:top center}
    /* Nuante alternante — fiecare sectiune are o tenta usor diferita, vizibila la scroll */
    .tort-doza-section.scroll-stack          { z-index: 10; background: #090909; }
    .intro-section.scroll-stack              { z-index: 11; background: #161616; }
    .categories-section-wrapper.scroll-stack { z-index: 12; background: #0d0d0d; }
    .values-section.scroll-stack             { z-index: 13; background: #1a1a1a; }
    .gallery-section.scroll-stack            { z-index: 14; background: #111111; }
    .about-section.scroll-stack              { z-index: 15; } /* about are fundalul din stripe-uri */
    .reviews-section.scroll-stack            { z-index: 16; background: #161616; }
}
