/* ==========================================================================
   PRAZNICE.RO — Foaie de stil principală site public
   Ordine: tokens → reset → typography → layout → components → sections → utilities
   Paletă: Maro Imperial #4B2E1E · Auriu Patinat #C5A069 · Crem Fildeș #FDF5E6
   ========================================================================== */

/* ---------------------------------------
   1. DESIGN TOKENS (custom properties)
   --------------------------------------- */
:root {
    /* Brand */
    --c-brown:          #4B2E1E;
    --c-brown-dark:     #3A2216;
    --c-brown-soft:     #5E3D28;
    --c-gold:           #C5A069;
    --c-gold-dark:      #A98753;
    --c-gold-soft:      #E0C48B;
    --c-cream:          #FDF5E6;
    --c-cream-deep:     #F5E9CF;
    --c-paper:          #FFFCF5;

    /* Text */
    --c-text:           #2C1A0E;
    --c-text-muted:     #6B5242;
    --c-text-invert:    #FFFFFF;
    --c-text-on-gold:   #2C1A0E;

    /* Surfaces */
    --c-bg:             var(--c-cream);
    --c-surface:        #FFFFFF;
    --c-surface-warm:   var(--c-paper);
    --c-border:         #E6D9C0;
    --c-border-soft:    #EFE5D0;

    /* Stări */
    --c-success:        #2E6B3F;
    --c-danger:         #8B2E24;
    --c-info:           #2A5570;

    /* Fonts */
    --ff-serif:         'Lora', 'Playfair Display', Georgia, serif;
    --ff-sans:          'Montserrat', 'Open Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --ff-body:          var(--ff-sans);
    --ff-heading:       var(--ff-serif);

    /* Scală tipografică (minor third 1.25) */
    --fs-xs:            0.75rem;    /* 12 */
    --fs-sm:            0.875rem;   /* 14 */
    --fs-base:          1rem;       /* 16 */
    --fs-md:            1.125rem;   /* 18 */
    --fs-lg:            1.25rem;    /* 20 */
    --fs-xl:            clamp(1.375rem, 1.2rem + 0.6vw, 1.563rem);
    --fs-2xl:           clamp(1.625rem, 1.4rem + 1vw, 1.953rem);
    --fs-3xl:           clamp(2rem,   1.6rem + 1.6vw, 2.441rem);
    --fs-4xl:           clamp(2.25rem, 1.8rem + 2vw,  3.052rem);
    --fs-5xl:           clamp(2.5rem,  2rem + 3vw,    3.815rem);

    /* Greutăți fonturi */
    --fw-regular:       400;
    --fw-medium:        500;
    --fw-semibold:      600;
    --fw-bold:          700;

    /* Leading + tracking */
    --lh-tight:         1.15;
    --lh-snug:          1.3;
    --lh-base:          1.6;
    --lh-loose:         1.75;
    --tracking-tight:   -0.01em;
    --tracking-wide:    0.04em;

    /* Spațiere (baza 4px) */
    --sp-0:             0;
    --sp-1:             0.25rem;    /* 4 */
    --sp-2:             0.5rem;     /* 8 */
    --sp-3:             0.75rem;    /* 12 */
    --sp-4:             1rem;       /* 16 */
    --sp-5:             1.5rem;     /* 24 */
    --sp-6:             2rem;       /* 32 */
    --sp-7:             3rem;       /* 48 */
    --sp-8:             4rem;       /* 64 */
    --sp-9:             6rem;       /* 96 */
    --sp-10:            8rem;       /* 128 */

    /* Containere */
    --container-sm:     640px;
    --container-md:     860px;
    --container-lg:     1100px;
    --container-xl:     1280px;

    /* Radius */
    --r-sm:             2px;
    --r-md:             6px;
    --r-lg:             10px;
    --r-xl:             18px;
    --r-pill:           999px;

    /* Umbre calde (tonuri pământii, nu gri neutru) */
    --sh-xs:            0 1px 2px rgba(75, 46, 30, 0.05);
    --sh-sm:            0 1px 3px rgba(75, 46, 30, 0.06), 0 1px 2px rgba(75, 46, 30, 0.04);
    --sh-md:            0 4px 12px rgba(75, 46, 30, 0.08), 0 2px 4px rgba(75, 46, 30, 0.04);
    --sh-lg:            0 12px 32px rgba(75, 46, 30, 0.10), 0 4px 8px rgba(75, 46, 30, 0.04);
    --sh-gold-focus:    0 0 0 3px rgba(197, 160, 105, 0.35);

    /* Motion (dozat — 180-400ms) */
    --t-fast:           180ms;
    --t-base:           240ms;
    --t-slow:           400ms;
    --ease:             cubic-bezier(.2, .8, .2, 1);
    --ease-in-out:      cubic-bezier(.4, 0, .2, 1);

    /* Layout constants */
    --header-h:         84px;
    --header-h-sm:      68px;
    --z-header:         100;
    --z-dropdown:       200;
    --z-modal:          300;
    --z-toast:          400;
}

/* ---------------------------------------
   2. RESET / BASE
   --------------------------------------- */
*, *::before, *::after {
    box-sizing: border-box;
}
html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    overflow-x: hidden;  /* previne orice scroll orizontal accidental pe mobile */
}
body {
    overflow-x: hidden;
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
body {
    margin: 0;
    min-height: 100vh;
    background: var(--c-bg);
    color: var(--c-text);
    font-family: var(--ff-body);
    font-size: var(--fs-base);
    line-height: var(--lh-base);
    font-weight: var(--fw-regular);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
img, svg, video {
    display: block;
    max-width: 100%;
    height: auto;
}
picture, figure {
    margin: 0;
}
button, input, textarea, select {
    font: inherit;
    color: inherit;
}
button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}
a {
    color: var(--c-brown);
    text-decoration: none;
    transition: color var(--t-fast) var(--ease);
}
a:hover {
    color: var(--c-gold-dark);
}
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible {
    outline: none;
    box-shadow: var(--sh-gold-focus);
    border-radius: var(--r-sm);
}
hr {
    border: 0;
    height: 1px;
    background: var(--c-border);
    margin: var(--sp-6) 0;
}
::selection {
    background: var(--c-gold);
    color: var(--c-brown);
}

/* ---------------------------------------
   3. TIPOGRAFIE
   --------------------------------------- */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--ff-heading);
    font-weight: var(--fw-semibold);
    color: var(--c-brown);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-tight);
    margin: 0 0 var(--sp-4);
}
h1 { font-size: var(--fs-5xl); font-weight: var(--fw-bold); }
h2 { font-size: var(--fs-4xl); }
h3 { font-size: var(--fs-2xl); }
h4 { font-size: var(--fs-xl); }
h5 { font-size: var(--fs-lg); font-weight: var(--fw-semibold); }
h6 { font-size: var(--fs-base); font-weight: var(--fw-semibold); text-transform: uppercase; letter-spacing: var(--tracking-wide); }

p {
    margin: 0 0 var(--sp-4);
    max-width: 65ch;
}
p.lead {
    font-size: var(--fs-md);
    color: var(--c-text-muted);
    line-height: var(--lh-base);
}

ul, ol {
    margin: 0 0 var(--sp-4);
    padding-left: var(--sp-5);
    line-height: var(--lh-base);
}
ul li, ol li { margin-bottom: var(--sp-1); }

blockquote {
    margin: var(--sp-5) 0;
    padding: var(--sp-3) var(--sp-5);
    border-left: 3px solid var(--c-gold);
    background: var(--c-paper);
    font-family: var(--ff-heading);
    font-style: italic;
    color: var(--c-brown);
}

small { font-size: var(--fs-sm); }
strong { font-weight: var(--fw-semibold); color: var(--c-brown); }

.eyebrow {
    display: inline-block;
    font-family: var(--ff-sans);
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-gold-dark);
    margin-bottom: var(--sp-3);
}
.eyebrow::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 1px;
    background: var(--c-gold);
    vertical-align: middle;
    margin-right: var(--sp-2);
}

.display {
    font-family: var(--ff-heading);
    font-weight: var(--fw-bold);
    font-size: var(--fs-5xl);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-tight);
}

/* ---------------------------------------
   4. LAYOUT PRIMITIVE
   --------------------------------------- */
.container {
    width: 100%;
    max-width: var(--container-lg);
    padding-inline: var(--sp-4);
    margin-inline: auto;
}
.container--wide { max-width: var(--container-xl); }
.container--narrow { max-width: var(--container-md); }
.container--prose { max-width: 72ch; }

.section {
    padding-block: var(--sp-9);
}
.section--sm { padding-block: var(--sp-7); }
.section--lg { padding-block: var(--sp-10); }
.section--cream { background: var(--c-cream); }
.section--paper { background: var(--c-paper); }
.section--brown {
    background: var(--c-brown);
    color: var(--c-text-invert);
}
.section--brown h1, .section--brown h2, .section--brown h3,
.section--brown h4, .section--brown h5, .section--brown h6 {
    color: var(--c-text-invert);
}
.section--brown strong { color: var(--c-gold-soft); }
.section--brown a { color: var(--c-gold-soft); }
.section--brown a:hover { color: var(--c-text-invert); }

.section-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto var(--sp-7);
}
.section-head h2 {
    margin-bottom: var(--sp-3);
}
.section-head p {
    margin-inline: auto;
    color: var(--c-text-muted);
}

.grid {
    display: grid;
    gap: var(--sp-5);
}
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 900px) {
    .grid--3, .grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }
}

.stack > * + * { margin-top: var(--sp-4); }
.stack-sm > * + * { margin-top: var(--sp-2); }
.stack-lg > * + * { margin-top: var(--sp-6); }

.cluster {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-3);
    align-items: center;
}

/* Divider ornamental cu motiv tradițional */
.divider-ornamental {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    margin: var(--sp-6) auto;
    max-width: 280px;
    justify-content: center;
    color: var(--c-gold);
}
.divider-ornamental::before,
.divider-ornamental::after {
    content: "";
    flex: 1;
    height: 1px;
    background: currentColor;
    opacity: 0.4;
}
.divider-ornamental::after { opacity: 0.4; }
.divider-ornamental svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* ---------------------------------------
   5. COMPONENTE — BUTON
   --------------------------------------- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-2);
    padding: 0.85em 1.75em;
    min-height: 44px;
    font-family: var(--ff-sans);
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border: 1px solid transparent;
    border-radius: var(--r-md);
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    transition:
        background var(--t-fast) var(--ease),
        color var(--t-fast) var(--ease),
        border-color var(--t-fast) var(--ease),
        transform var(--t-fast) var(--ease),
        box-shadow var(--t-fast) var(--ease);
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }

.btn--primary {
    background: var(--c-gold);
    color: var(--c-text-on-gold);
    border-color: var(--c-gold);
}
.btn--primary:hover {
    background: var(--c-gold-dark);
    border-color: var(--c-gold-dark);
    color: var(--c-text-on-gold);
    box-shadow: var(--sh-md);
}

.btn--secondary {
    background: var(--c-brown);
    color: var(--c-text-invert);
    border-color: var(--c-brown);
}
.btn--secondary:hover {
    background: var(--c-brown-dark);
    border-color: var(--c-brown-dark);
    color: var(--c-text-invert);
    box-shadow: var(--sh-md);
}

.btn--ghost {
    background: transparent;
    color: var(--c-brown);
    border-color: var(--c-brown);
}
.btn--ghost:hover {
    background: var(--c-brown);
    color: var(--c-text-invert);
}

.btn--outline-gold {
    background: transparent;
    color: var(--c-gold);
    border-color: var(--c-gold);
}
.btn--outline-gold:hover {
    background: var(--c-gold);
    color: var(--c-text-on-gold);
}

.btn--sm  { padding: 0.55em 1.1em; min-height: 36px; font-size: var(--fs-xs); }
.btn--lg  { padding: 1em 2em; min-height: 52px; font-size: var(--fs-base); }
.btn--block { width: 100%; }

/* Link ca buton subtil (săgeată auriă) */
.link-more {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    color: var(--c-brown);
    font-weight: var(--fw-semibold);
    font-size: var(--fs-sm);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    transition: color var(--t-fast) var(--ease), gap var(--t-fast) var(--ease);
}
.link-more::after {
    content: "→";
    color: var(--c-gold);
    transition: transform var(--t-fast) var(--ease);
}
.link-more:hover {
    color: var(--c-gold-dark);
    gap: var(--sp-3);
}
.link-more:hover::after { transform: translateX(2px); }

/* ---------------------------------------
   6. COMPONENTE — CARD
   --------------------------------------- */
.card {
    display: flex;
    flex-direction: column;
    background: var(--c-surface);
    border: 1px solid var(--c-border-soft);
    border-radius: var(--r-lg);
    overflow: hidden;
    transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), border-color var(--t-base) var(--ease);
}
.card:hover {
    transform: translateY(-2px);
    box-shadow: var(--sh-lg);
    border-color: var(--c-gold-soft);
}
.card__media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--c-cream-deep);
    position: relative;
}
.card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--t-slow) var(--ease);
}
.card:hover .card__media img {
    transform: scale(1.04);
}
.card__body {
    padding: var(--sp-5);
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
}
.card__title {
    font-family: var(--ff-heading);
    font-size: var(--fs-xl);
    font-weight: var(--fw-semibold);
    line-height: var(--lh-snug);
    color: var(--c-brown);
    margin: 0;
}
.card__meta {
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
    margin: 0;
}
.card__desc {
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
    margin: 0;
    line-height: var(--lh-base);
    flex: 1;
}
.card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-3);
    margin-top: var(--sp-2);
    padding-top: var(--sp-3);
    border-top: 1px solid var(--c-border-soft);
}
.card__price {
    font-family: var(--ff-heading);
    font-size: var(--fs-lg);
    font-weight: var(--fw-semibold);
    color: var(--c-brown);
}
.card__unit {
    font-family: var(--ff-sans);
    font-size: var(--fs-xs);
    color: var(--c-text-muted);
    font-weight: var(--fw-regular);
}

/* ---------------------------------------
   6b. CAROUSEL (featured products scroll-snap)
   --------------------------------------- */
.carousel {
    position: relative;
    margin-inline: calc(var(--sp-5) * -1);
    --fade: 88px;
    --fade-color: var(--c-cream);  /* Va fi suprascris per secțiune dacă fundalul e altul */
}
@media (max-width: 600px) {
    .carousel { --fade: 42px; }
}

/* Overlay fade stânga/dreapta — vizual, nu afectează scroll-ul */
.carousel::before,
.carousel::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: var(--fade);
    pointer-events: none;
    z-index: 1;
    transition: opacity var(--t-base) var(--ease);
}
.carousel::before {
    left: 0;
    background: linear-gradient(to right, var(--fade-color) 0%, rgba(253,245,230,0) 100%);
}
.carousel::after {
    right: 0;
    background: linear-gradient(to left, var(--fade-color) 0%, rgba(253,245,230,0) 100%);
}
/* Ascunde fade-ul când track-ul e la capăt — indică vizual că nu mai e conținut */
.carousel[data-at-start="true"]::before { opacity: 0; }
.carousel[data-at-end="true"]::after   { opacity: 0; }

.carousel__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(320px, 80%);
    gap: var(--sp-5);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: var(--sp-4) var(--sp-5);
    scroll-padding-inline: var(--sp-5);

    /* Ascundem scrollbar-ul pe desktop pentru feel premium — pe mobile rămâne native */
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.carousel__track::-webkit-scrollbar {
    display: none;
}
.carousel__track > * {
    scroll-snap-align: start;
}

/* Butoane prev/next desktop */
.carousel__btn {
    position: absolute;
    top: calc(50% - 22px);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--c-surface);
    color: var(--c-brown);
    border: 1px solid var(--c-border);
    box-shadow: var(--sh-md);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--t-fast) var(--ease);
}
.carousel__btn:hover:not(:disabled) {
    background: var(--c-gold);
    color: var(--c-brown);
    border-color: var(--c-gold);
    transform: scale(1.05);
}
.carousel__btn:disabled {
    opacity: 0;
    pointer-events: none;
}
.carousel__btn--prev { left: -22px; }
.carousel__btn--next { right: -22px; }
@media (max-width: 1200px) {
    .carousel__btn { display: none; }
}

/* Dots mobile (sub carousel) */
.carousel__dots {
    display: flex;
    justify-content: center;
    gap: var(--sp-2);
    margin-top: var(--sp-4);
}
.carousel__dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--c-border);
    border: none;
    cursor: pointer;
    transition: background var(--t-fast) var(--ease), width var(--t-fast) var(--ease);
}
.carousel__dot.is-active {
    background: var(--c-gold);
    width: 24px;
    border-radius: var(--r-pill);
}

/* ---------------------------------------
   6c. PRODUCT CARD (pachete cu compoziție)
   --------------------------------------- */
.product-card {
    display: flex;
    flex-direction: column;
    background: var(--c-surface);
    border: 1px solid var(--c-border-soft);
    border-radius: var(--r-lg);
    overflow: hidden;
    transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), border-color var(--t-base) var(--ease);
}
.product-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--sh-lg);
    border-color: var(--c-gold-soft);
}
.product-card__media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--c-cream-deep);
    display: block;
}
.product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--t-slow) var(--ease);
}
.product-card:hover .product-card__media img { transform: scale(1.05); }

.product-card__unit-badge {
    position: absolute;
    top: var(--sp-3);
    right: var(--sp-3);
    padding: 0.3em 0.7em;
    background: var(--c-brown);
    color: var(--c-gold-soft);
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: var(--r-pill);
    border: 1px solid var(--c-gold);
}

.product-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
    padding: var(--sp-5);
    flex: 1;
}
.product-card__title {
    font-family: var(--ff-heading);
    font-size: var(--fs-xl);
    font-weight: var(--fw-semibold);
    line-height: var(--lh-snug);
    margin: 0;
    color: var(--c-brown);
}
.product-card__title a { color: inherit; }
.product-card__title a:hover { color: var(--c-gold-dark); }

.product-card__composition {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--sp-1);
}
.product-card__composition li {
    display: flex;
    align-items: flex-start;
    gap: var(--sp-2);
    font-size: var(--fs-sm);
    line-height: 1.45;
    color: var(--c-text);
    margin: 0;
}
.product-card__composition i {
    color: var(--c-gold);
    font-size: 10px;
    margin-top: 5px;
    flex-shrink: 0;
}
.product-card__composition-more {
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    color: var(--c-gold-dark);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding-top: var(--sp-1);
}

.product-card__desc {
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
    line-height: var(--lh-base);
    margin: 0;
}

.product-card__foot {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--sp-3);
    margin-top: auto;
    padding-top: var(--sp-3);
    border-top: 1px solid var(--c-border-soft);
}
.product-card__price-wrap {
    display: flex;
    flex-direction: column;
}
.product-card__price-label {
    font-size: var(--fs-xs);
    color: var(--c-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: var(--fw-semibold);
}
.product-card__price {
    font-family: var(--ff-heading);
    font-size: var(--fs-2xl);
    font-weight: var(--fw-bold);
    color: var(--c-brown);
    letter-spacing: -0.01em;
    line-height: 1;
    margin-top: 2px;
}

/* Card serviciu — accent iconiță aurie */
.service-card {
    background: var(--c-surface-warm);
    border: 1px solid var(--c-border-soft);
    border-radius: var(--r-lg);
    padding: var(--sp-6) var(--sp-5);
    text-align: center;
    transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), border-color var(--t-base) var(--ease);
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
}
.service-card:hover {
    transform: translateY(-3px);
    border-color: var(--c-gold);
    box-shadow: var(--sh-md);
}
.service-card__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto var(--sp-2);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--c-gold);
    border-radius: 50%;
    color: var(--c-gold);
    font-size: 26px;
    transition: background var(--t-base) var(--ease), color var(--t-base) var(--ease);
}
.service-card:hover .service-card__icon {
    background: var(--c-gold);
    color: var(--c-brown);
}
.service-card__title {
    font-family: var(--ff-heading);
    font-size: var(--fs-xl);
    font-weight: var(--fw-semibold);
    margin: 0;
    color: var(--c-brown);
}
.service-card__desc {
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
    margin: 0;
    line-height: var(--lh-base);
}

/* Badge / chip */
.badge {
    display: inline-block;
    padding: 0.25em 0.75em;
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: var(--r-pill);
    background: var(--c-cream-deep);
    color: var(--c-brown);
}
.badge--gold { background: var(--c-gold); color: var(--c-brown); }
.badge--brown { background: var(--c-brown); color: var(--c-gold-soft); }

/* ---------------------------------------
   7. FORMULAR
   --------------------------------------- */
.form-group {
    margin-bottom: var(--sp-4);
}
.form-label {
    display: block;
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
    color: var(--c-brown);
    margin-bottom: var(--sp-2);
}
.form-label .req { color: var(--c-danger); }

.form-control,
input[type=text], input[type=email], input[type=tel],
input[type=password], input[type=date], input[type=time],
input[type=number], input[type=url], textarea, select {
    display: block;
    width: 100%;
    padding: 0.75rem 0.9rem;
    font-family: var(--ff-body);
    font-size: var(--fs-base);
    line-height: var(--lh-snug);
    color: var(--c-text);
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    transition: border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.form-control:focus, input:focus, textarea:focus, select:focus {
    outline: none;
    border-color: var(--c-gold);
    box-shadow: var(--sh-gold-focus);
}
textarea { min-height: 120px; resize: vertical; }
.form-help {
    font-size: var(--fs-xs);
    color: var(--c-text-muted);
    margin-top: var(--sp-1);
}
.form-error {
    font-size: var(--fs-xs);
    color: var(--c-danger);
    margin-top: var(--sp-1);
}

/* ---------------------------------------
   8. ALERT / FLASH
   --------------------------------------- */
.alert {
    padding: var(--sp-3) var(--sp-4);
    border-radius: var(--r-md);
    border-left: 4px solid;
    font-size: var(--fs-sm);
    margin-bottom: var(--sp-4);
}
.alert--success { border-color: var(--c-success); background: #E8F2EA; color: var(--c-success); }
.alert--danger  { border-color: var(--c-danger);  background: #F6E4E2; color: var(--c-danger); }
.alert--info    { border-color: var(--c-info);    background: #E3ECF2; color: var(--c-info); }
.alert--warn    { border-color: var(--c-gold);    background: var(--c-cream-deep); color: var(--c-brown); }

/* ---------------------------------------
   9. HEADER — sticky + nav
   --------------------------------------- */
.site-header {
    position: sticky;
    top: 0;
    z-index: var(--z-header);
    background: var(--c-paper);
    border-bottom: 1px solid var(--c-border-soft);
    backdrop-filter: saturate(160%) blur(4px);
    transition: box-shadow var(--t-base) var(--ease), padding var(--t-base) var(--ease);
}
.site-header.is-scrolled {
    box-shadow: var(--sh-sm);
}
.site-header__topbar {
    background: var(--c-brown);
    color: var(--c-cream);
    font-size: var(--fs-xs);
    padding: 0.4rem 0;
}
.site-header__topbar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-4);
}
.site-header__topbar a { color: var(--c-gold-soft); }
.site-header__topbar a:hover { color: var(--c-text-invert); }
.site-header__topbar .cluster { gap: var(--sp-4); }

.site-header__main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-5);
    min-height: var(--header-h);
    padding-block: var(--sp-3);
}
.site-logo {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-3);
    font-family: var(--ff-heading);
    font-weight: var(--fw-bold);
    font-size: var(--fs-xl);
    color: var(--c-brown);
    text-decoration: none;
    letter-spacing: var(--tracking-tight);
}
.site-logo:hover { color: var(--c-gold-dark); }
.site-logo svg {
    width: 42px;
    height: 42px;
    color: var(--c-gold);
    flex-shrink: 0;
}
.site-logo__text { line-height: 1; }
.site-logo__text small {
    display: block;
    font-family: var(--ff-sans);
    font-size: 0.52em;
    font-weight: var(--fw-regular);
    color: var(--c-text-muted);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-top: 3px;
    white-space: nowrap;
}
@media (max-width: 420px) {
    /* Pe ecrane foarte mici ascundem tagline-ul ca să nu forțeze logo-ul */
    .site-logo__text small { display: none; }
}

.site-nav {
    display: flex;
    align-items: center;
    gap: var(--sp-5);
}
/* Extra-urile din meniul mobil sunt ascunse default (doar desktop mode); active sub 920px */
.mobile-menu-head,
.mobile-menu-actions,
.mobile-menu-info,
.mobile-menu-lang,
.mobile-menu-social {
    display: none;
}

/* Container drept cu acțiunile (phone + wa + cart + toggle) */
.header-actions {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
}

/* WhatsApp button în header desktop */
.header-wa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    background: #25D366;
    color: #fff;
    font-size: 20px;
    transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.header-wa:hover {
    color: #fff;
    background: #1fb855;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(37, 211, 102, 0.35);
}
.site-nav__list {
    display: flex;
    align-items: center;
    gap: var(--sp-5);
    list-style: none;
    margin: 0;
    padding: 0;
}
.site-nav__link {
    display: inline-block;
    padding: var(--sp-2) 0;
    font-family: var(--ff-sans);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    color: var(--c-text);
    text-decoration: none;
    position: relative;
    transition: color var(--t-fast) var(--ease);
}
.site-nav__link::after {
    content: "";
    position: absolute;
    left: 0; right: 0;
    bottom: 0;
    height: 2px;
    background: var(--c-gold);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform var(--t-base) var(--ease);
}
.site-nav__link:hover { color: var(--c-brown); }
.site-nav__link:hover::after,
.site-nav__link.is-active::after {
    transform: scaleX(1);
}
.site-nav__link.is-active { color: var(--c-brown); font-weight: var(--fw-semibold); }

.header-phone {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    font-family: var(--ff-heading);
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
    color: var(--c-brown);
    white-space: nowrap;
    line-height: 1.15;
}
.header-phone > span { white-space: nowrap; }
.header-phone__icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--c-gold);
    color: var(--c-brown);
    font-size: 16px;
}
.header-phone span { line-height: 1; }
.header-phone small {
    display: block;
    font-family: var(--ff-sans);
    font-size: var(--fs-xs);
    font-weight: var(--fw-regular);
    color: var(--c-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.lang-switch {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-1);
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-cream);
}
.lang-switch a, .lang-switch span {
    padding: 0.2em 0.5em;
    border-radius: var(--r-sm);
    color: inherit;
}
.lang-switch .is-active {
    background: var(--c-gold);
    color: var(--c-brown);
}

.cart-widget {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    border-radius: 50%;
    border: 1px solid var(--c-border);
    color: var(--c-brown);
    transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.cart-widget:hover { background: var(--c-cream-deep); border-color: var(--c-gold); }
.cart-widget__count {
    position: absolute;
    top: -4px; right: -4px;
    min-width: 18px; height: 18px;
    padding: 0 5px;
    font-size: 10px;
    font-weight: var(--fw-bold);
    background: var(--c-gold);
    color: var(--c-brown);
    border-radius: var(--r-pill);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Hamburger mobil */
.nav-toggle {
    display: none;
    width: 44px; height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: var(--r-md);
    color: var(--c-brown);
}
.nav-toggle svg { width: 24px; height: 24px; }

/* -------------- Mobile nav — full-screen overlay cu toate info-urile -------------- */
@media (max-width: 920px) {
    .site-header__main { min-height: var(--header-h-sm); gap: var(--sp-2); }
    .site-header__topbar { display: none; }  /* info-urile migrează în meniul mobil */

    /* Container nav devine overlay full-screen, ascuns default prin translate */
    .site-nav {
        position: fixed;
        inset: 0;
        z-index: var(--z-modal);
        background: var(--c-cream);
        display: flex;
        flex-direction: column;
        align-items: stretch;
        padding: 0;
        gap: 0;
        width: 100%;
        max-width: 100vw;
        transform: translateX(100%);
        transition: transform var(--t-base) var(--ease);
        overflow-y: auto;
        overscroll-behavior: contain;
        visibility: hidden;  /* previne scroll/focus când e ascuns */
    }
    .site-nav.is-open {
        transform: translateX(0);
        visibility: visible;
    }

    /* Afișează elementele extra pe mobile */
    .mobile-menu-head,
    .mobile-menu-actions,
    .mobile-menu-info,
    .mobile-menu-lang,
    .mobile-menu-social {
        display: flex;
    }
    .mobile-menu-info { display: grid; }

    /* Antet intern meniu mobil: logo + close */
    .mobile-menu-head {
        align-items: center;
        justify-content: space-between;
        padding: var(--sp-4) var(--sp-5);
        background: var(--c-brown);
        color: var(--c-cream);
        position: sticky; top: 0;
        border-bottom: 1px solid var(--c-brown-dark);
        z-index: 1;
    }
    .mobile-menu-head .site-logo { color: var(--c-cream); font-size: var(--fs-lg); }
    .mobile-menu-head .site-logo svg { color: var(--c-gold); width: 36px; height: 36px; }
    .mobile-menu-head .site-logo__text small { display: none; }
    .mobile-menu-close {
        width: 44px; height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        color: var(--c-gold);
        border: 1px solid var(--c-gold-dark);
        background: transparent;
        transition: background var(--t-fast) var(--ease);
    }
    .mobile-menu-close:hover { background: var(--c-brown-dark); }
    .mobile-menu-close svg { width: 20px; height: 20px; }

    /* Corpul de conținut al meniului — sub head, scrollable */
    .site-nav > .site-nav__list,
    .site-nav > .mobile-menu-actions,
    .site-nav > .mobile-menu-info,
    .site-nav > .mobile-menu-lang,
    .site-nav > .mobile-menu-social {
        margin-inline: var(--sp-5);
    }
    .site-nav > .site-nav__list { margin-top: var(--sp-4); }
    .site-nav > .mobile-menu-actions,
    .site-nav > .mobile-menu-info,
    .site-nav > .mobile-menu-lang,
    .site-nav > .mobile-menu-social { margin-top: var(--sp-5); }
    .site-nav > .mobile-menu-social { margin-bottom: var(--sp-6); }

    .site-nav__list {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        width: auto;
        margin: 0; padding: 0;
        list-style: none;
    }
    .site-nav__list li { list-style: none; }
    .site-nav__link {
        padding: var(--sp-4) 0;
        border-bottom: 1px solid var(--c-border-soft);
        font-size: var(--fs-lg);
        font-weight: var(--fw-medium);
        color: var(--c-brown);
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .site-nav__link::after {
        content: "→";
        position: static;
        display: inline-block;
        height: auto;
        width: auto;
        background: none;
        transform: none;
        color: var(--c-gold);
        font-size: var(--fs-base);
    }

    /* Acțiuni rapide mobile: telefon + WhatsApp side-by-side (50/50) */
    .mobile-menu-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--sp-3);
    }
    .mobile-menu-phone,
    .mobile-menu-wa {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: var(--sp-2);
        padding: var(--sp-4) var(--sp-3);
        border-radius: var(--r-lg);
        text-decoration: none;
        transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
        min-height: 140px;
    }
    .mobile-menu-phone:hover,
    .mobile-menu-wa:hover { transform: translateY(-2px); box-shadow: var(--sh-md); }

    /* Telefon — card auriu */
    .mobile-menu-phone { background: var(--c-gold); color: var(--c-brown); }
    .mobile-menu-phone:hover { color: var(--c-brown); background: var(--c-gold-dark); }
    .mobile-menu-phone__icon {
        width: 44px; height: 44px;
        background: var(--c-brown);
        color: var(--c-gold);
        border-radius: 50%;
        display: inline-flex; align-items: center; justify-content: center;
        font-size: 18px; flex-shrink: 0;
    }
    .mobile-menu-phone__text { display: flex; flex-direction: column; gap: 2px; }
    .mobile-menu-phone__text small {
        display: block;
        font-family: var(--ff-sans);
        font-size: 10px;
        font-weight: var(--fw-semibold);
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--c-brown-dark);
    }
    .mobile-menu-phone__text strong {
        display: block;
        font-family: var(--ff-heading);
        font-size: var(--fs-md);
        color: var(--c-brown);
        letter-spacing: -0.01em;
        white-space: nowrap;
    }

    /* WhatsApp — card verde */
    .mobile-menu-wa { background: #25D366; color: #fff; }
    .mobile-menu-wa:hover { color: #fff; background: #1fb855; }
    .mobile-menu-wa__icon {
        width: 44px; height: 44px;
        background: rgba(255,255,255,0.2);
        color: #fff;
        border-radius: 50%;
        display: inline-flex; align-items: center; justify-content: center;
        font-size: 22px; flex-shrink: 0;
    }
    .mobile-menu-wa__text { display: flex; flex-direction: column; gap: 2px; }
    .mobile-menu-wa__text small {
        display: block;
        font-family: var(--ff-sans);
        font-size: 10px;
        font-weight: var(--fw-semibold);
        text-transform: uppercase;
        letter-spacing: 0.1em;
        opacity: 0.9;
    }
    .mobile-menu-wa__text strong {
        display: block;
        font-family: var(--ff-heading);
        font-size: var(--fs-md);
        color: #fff;
        letter-spacing: -0.01em;
        white-space: nowrap;
    }

    /* Pe ecrane foarte înguste (<360px) revenim la stacked pentru citire clară */
    @media (max-width: 360px) {
        .mobile-menu-actions { grid-template-columns: 1fr; }
        .mobile-menu-phone, .mobile-menu-wa { flex-direction: row; min-height: 0; text-align: left; justify-content: flex-start; }
    }

    .mobile-menu-info { gap: var(--sp-3); }
    .mobile-menu-info p {
        display: flex;
        align-items: flex-start;
        gap: var(--sp-3);
        margin: 0;
        font-size: var(--fs-sm);
        color: var(--c-text);
    }
    .mobile-menu-info i {
        color: var(--c-gold-dark);
        font-size: 16px;
        margin-top: 3px;
        width: 20px;
        text-align: center;
    }
    .mobile-menu-info a { color: var(--c-brown); }

    .mobile-menu-lang {
        gap: var(--sp-2);
        align-items: center;
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: var(--c-text-muted);
    }
    .mobile-menu-lang a, .mobile-menu-lang span {
        padding: 0.4em 0.9em;
        border-radius: var(--r-pill);
        border: 1px solid var(--c-border);
        color: var(--c-text-muted);
    }
    .mobile-menu-lang .is-active {
        background: var(--c-gold);
        border-color: var(--c-gold);
        color: var(--c-brown);
    }

    .mobile-menu-social { gap: var(--sp-2); }
    .mobile-menu-social a {
        display: inline-flex;
        width: 44px; height: 44px;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--c-border);
        border-radius: 50%;
        color: var(--c-brown);
        font-size: 16px;
        transition: background var(--t-fast) var(--ease);
    }
    .mobile-menu-social a:hover {
        background: var(--c-gold); border-color: var(--c-gold); color: var(--c-brown);
    }

    .nav-toggle { display: inline-flex; }

    /* Header actions desktop — compact pe mobil: ascund numele telefonului, păstrez WA mic */
    .header-phone span:not(small) { display: none; }
    .header-phone { font-size: 0; gap: 0; }
    .header-phone__icon { font-size: 16px; }
    .header-wa { width: 40px; height: 40px; font-size: 18px; }
    .cart-widget { width: 40px; height: 40px; }
    .lang-switch { display: none; }
    .header-actions { gap: var(--sp-2); }
}

/* ---------------------------------------
   10. FOOTER
   --------------------------------------- */
.site-footer {
    background: var(--c-brown);
    color: var(--c-cream);
    padding-block: var(--sp-9) var(--sp-5);
    margin-top: var(--sp-9);
}
.site-footer a {
    color: var(--c-gold-soft);
}
.site-footer a:hover {
    color: var(--c-text-invert);
}
.site-footer__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: var(--sp-6);
    margin-bottom: var(--sp-7);
}
@media (max-width: 900px) {
    .site-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .site-footer__grid { grid-template-columns: 1fr; }
}
.site-footer__brand .site-logo { color: var(--c-cream); }
.site-footer__brand .site-logo svg { color: var(--c-gold); }
.site-footer__tagline {
    margin-top: var(--sp-3);
    max-width: 320px;
    font-size: var(--fs-sm);
    color: var(--c-cream);
    opacity: 0.85;
    line-height: var(--lh-base);
}
.site-footer__col h4 {
    font-family: var(--ff-sans);
    font-size: var(--fs-xs);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--c-gold);
    margin-bottom: var(--sp-4);
}
.site-footer__links {
    list-style: none;
    padding: 0;
    margin: 0;
}
.site-footer__links li { margin-bottom: var(--sp-2); }
.site-footer__links a { font-size: var(--fs-sm); }

.site-footer__contact p {
    margin: 0 0 var(--sp-2);
    font-size: var(--fs-sm);
    color: var(--c-cream);
}
.site-footer__contact i {
    color: var(--c-gold);
    margin-right: var(--sp-2);
    width: 16px;
    text-align: center;
}

.site-footer__social {
    display: flex;
    gap: var(--sp-2);
    margin-top: var(--sp-4);
}
.site-footer__social a {
    display: inline-flex;
    width: 36px; height: 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--c-gold-dark);
    border-radius: 50%;
    color: var(--c-gold);
    transition: all var(--t-fast) var(--ease);
}
.site-footer__social a:hover {
    background: var(--c-gold);
    color: var(--c-brown);
    border-color: var(--c-gold);
}

.site-footer__bottom {
    padding-top: var(--sp-5);
    border-top: 1px solid var(--c-brown-soft);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--sp-3);
    font-size: var(--fs-xs);
    color: var(--c-cream);
    opacity: 0.7;
}

/* ---------------------------------------
   11. HERO (home)
   --------------------------------------- */
.hero {
    position: relative;
    min-height: min(620px, 80vh);
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--c-brown);
    color: var(--c-text-invert);
    isolation: isolate;
}
.hero__bg {
    position: absolute;
    inset: 0;
    z-index: -2;
}
.hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.hero__overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(105deg, rgba(58, 34, 22, 0.82) 0%, rgba(58, 34, 22, 0.55) 55%, rgba(58, 34, 22, 0.30) 100%);
}
.hero__content {
    padding-block: var(--sp-9);
    max-width: 640px;
}
.hero__eyebrow {
    color: var(--c-gold-soft);
    margin-bottom: var(--sp-4);
}
.hero__title {
    font-size: var(--fs-5xl);
    font-weight: var(--fw-bold);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-tight);
    margin-bottom: var(--sp-4);
    color: var(--c-text-invert);
}
.hero__lead {
    font-size: var(--fs-md);
    line-height: var(--lh-base);
    margin-bottom: var(--sp-6);
    opacity: 0.95;
    max-width: 52ch;
}
.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-3);
}

/* ---------------------------------------
   12. CTA BANNER (secțiune brown)
   --------------------------------------- */
.cta-banner {
    position: relative;
    background: var(--c-brown);
    color: var(--c-text-invert);
    padding-block: var(--sp-9);
    overflow: hidden;
    isolation: isolate;

    /* Vignette cald în colțuri pentru adâncime */
    background-image:
        radial-gradient(ellipse 60% 80% at 0% 100%, rgba(197, 160, 105, 0.10), transparent 55%),
        radial-gradient(ellipse 60% 80% at 100% 0%, rgba(197, 160, 105, 0.08), transparent 55%),
        linear-gradient(180deg, var(--c-brown-dark) 0%, var(--c-brown) 50%, var(--c-brown-dark) 100%);
}

/* Pattern traditional romb — accentuat dar încă subtil */
.cta-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'><g fill='none' stroke='%23C5A069' stroke-width='1' opacity='0.42'><path d='M36 6 L66 36 L36 66 L6 36 Z'/><path d='M36 16 L56 36 L36 56 L16 36 Z'/><circle cx='36' cy='36' r='2.5' fill='%23C5A069' opacity='0.7'/><path d='M36 0 L36 6 M36 66 L36 72 M0 36 L6 36 M66 36 L72 36' stroke-width='0.8'/></g></svg>");
    background-size: 72px 72px;
    background-repeat: repeat;
    opacity: 1;
    mask-image: radial-gradient(ellipse 80% 60% at center, black 30%, transparent 85%);
    -webkit-mask-image: radial-gradient(ellipse 80% 60% at center, black 30%, transparent 85%);
    pointer-events: none;
}

/* Fire aurii orizontale subțiri — top + bottom */
.cta-banner::after {
    content: "";
    position: absolute;
    inset: auto 0 auto 0;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(197,160,105,0.45) 20%, rgba(197,160,105,0.65) 50%, rgba(197,160,105,0.45) 80%, transparent 100%);
    pointer-events: none;
}
.cta-banner > *:last-child {
    position: relative;
}

.cta-banner__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sp-7);
    position: relative;
    max-width: 860px;
    margin-inline: auto;
    text-align: center;
}
.cta-banner__text {
    width: 100%;
}
.cta-banner__text p { margin-inline: auto; }
.cta-banner__text .cluster { justify-content: center; }

/* Ornament simbolic central — flacără mică stilizată */
.cta-banner__ornament {
    position: absolute;
    left: 50%;
    top: -40px;
    transform: translateX(-50%);
    width: 56px;
    height: 56px;
    color: var(--c-gold);
    opacity: 0.8;
    pointer-events: none;
}
@media (max-width: 800px) { .cta-banner__ornament { top: -28px; width: 44px; height: 44px; } }

.cta-banner__text h2 {
    color: var(--c-text-invert);
    margin-bottom: var(--sp-2);
}
.cta-banner__text p {
    margin: 0;
    color: var(--c-cream);
    opacity: 0.9;
    max-width: 48ch;
}
/* Container cu cele două carduri (telefon + WhatsApp) — side-by-side centrate */
.cta-banner__contacts {
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 280px));
    gap: var(--sp-4);
    justify-content: center;
    width: 100%;
}
@media (max-width: 600px) {
    .cta-banner__contacts {
        grid-template-columns: 1fr;
        max-width: 360px;
        margin-inline: auto;
    }
}

/* Card reutilizabil pentru telefon/WhatsApp — stil transparent cu blur */
.cta-banner__card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: var(--sp-2);
    padding: var(--sp-5) var(--sp-4);
    background: rgba(255, 252, 245, 0.04);
    border: 1px solid rgba(197, 160, 105, 0.25);
    border-radius: var(--r-lg);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    text-decoration: none;
    transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.cta-banner__card:hover {
    background: rgba(255, 252, 245, 0.07);
    border-color: rgba(197, 160, 105, 0.55);
    transform: translateY(-1px);
}
.cta-banner__card small {
    display: block;
    font-family: var(--ff-sans);
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-gold-soft);
    margin-bottom: var(--sp-2);
}
.cta-banner__card em {
    display: block;
    font-style: normal;
    margin-top: var(--sp-2);
    font-size: var(--fs-xs);
    color: var(--c-cream);
    opacity: 0.65;
    letter-spacing: 0.04em;
}

/* Numărul de telefon în card — dimensiune fluidă să nu depășească cardul */
.cta-banner__phone {
    font-family: var(--ff-heading);
    font-size: clamp(1.25rem, 1rem + 1.2vw, 1.75rem);
    font-weight: var(--fw-bold);
    color: var(--c-gold-soft);
    letter-spacing: var(--tracking-tight);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-2);
    transition: color var(--t-fast) var(--ease);
    white-space: nowrap;
}
.cta-banner__card--phone:hover .cta-banner__phone { color: var(--c-text-invert); }
.cta-banner__phone i {
    font-size: 0.65em;
    color: var(--c-gold);
    background: var(--c-brown-dark);
    border: 1px solid var(--c-gold);
    width: 1.9em; height: 1.9em;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Numărul WhatsApp — accent verde */
.cta-banner__wa {
    font-family: var(--ff-heading);
    font-size: clamp(1.25rem, 1rem + 1.2vw, 1.75rem);
    font-weight: var(--fw-bold);
    color: #8CE5A8;
    letter-spacing: var(--tracking-tight);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-2);
    transition: color var(--t-fast) var(--ease);
    white-space: nowrap;
}
.cta-banner__card--wa { border-color: rgba(37, 211, 102, 0.30); }
.cta-banner__card--wa:hover {
    background: rgba(37, 211, 102, 0.08);
    border-color: rgba(37, 211, 102, 0.6);
}
.cta-banner__card--wa:hover .cta-banner__wa { color: #fff; }
.cta-banner__wa i {
    font-size: 0.75em;
    color: #fff;
    background: #25D366;
    border: 1px solid #25D366;
    width: 1.9em; height: 1.9em;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
}

/* ---------------------------------------
   13. BREADCRUMB
   --------------------------------------- */
.breadcrumb {
    padding: var(--sp-4) 0;
    font-size: var(--fs-xs);
    color: var(--c-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.breadcrumb ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-2);
    align-items: center;
}
.breadcrumb li:not(:last-child)::after {
    content: "›";
    margin-left: var(--sp-2);
    color: var(--c-gold);
}
.breadcrumb a { color: var(--c-text-muted); }
.breadcrumb a:hover { color: var(--c-brown); }

/* ---------------------------------------
   13b. SERVICE PAGE (listing + detaliu)
   --------------------------------------- */
.service-list {
    display: flex;
    flex-direction: column;
    gap: var(--sp-9);
}

.service-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-7);
    align-items: center;
}
.service-row--reverse .service-row__media { order: 2; }
@media (max-width: 820px) {
    .service-row { grid-template-columns: 1fr; gap: var(--sp-5); }
    .service-row--reverse .service-row__media { order: 0; }
}

.service-row__media {
    position: relative;
    border-radius: var(--r-xl);
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--c-cream-deep);
    box-shadow: var(--sh-lg);
}
.service-row__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--t-slow) var(--ease);
}
.service-row:hover .service-row__media img { transform: scale(1.03); }

.service-row__icon {
    position: absolute;
    bottom: var(--sp-5);
    left: var(--sp-5);
    width: 64px; height: 64px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--c-gold);
    color: var(--c-brown);
    font-size: 26px;
    border-radius: 50%;
    box-shadow: var(--sh-md);
}

.service-row__body { max-width: 58ch; }
.service-row__title {
    font-family: var(--ff-heading);
    font-size: var(--fs-3xl);
    font-weight: var(--fw-semibold);
    color: var(--c-brown);
    margin: var(--sp-2) 0 var(--sp-4);
    letter-spacing: var(--tracking-tight);
}
.service-row__desc {
    color: var(--c-text-muted);
    line-height: var(--lh-base);
    margin-bottom: var(--sp-4);
}
.service-row__bullets {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--sp-5);
    display: grid;
    gap: var(--sp-2);
}
.service-row__bullets li {
    display: flex;
    align-items: flex-start;
    gap: var(--sp-3);
    font-size: var(--fs-sm);
    color: var(--c-text);
}
.service-row__bullets i {
    color: var(--c-gold);
    font-size: 12px;
    margin-top: 5px;
    flex-shrink: 0;
}

/* Detaliu serviciu */
.service-hero {
    position: relative;
    min-height: 380px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: var(--c-brown);
    color: var(--c-text-invert);
    padding-block: var(--sp-6) var(--sp-8);
    isolation: isolate;
}
.service-hero__bg { position: absolute; inset: 0; z-index: -2; }
.service-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.service-hero__overlay {
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(105deg, rgba(58,34,22,0.92) 0%, rgba(58,34,22,0.65) 60%, rgba(58,34,22,0.35) 100%);
}
.service-hero__breadcrumb {
    color: var(--c-cream);
    opacity: 0.9;
    padding: 0 0 var(--sp-5);
}
.service-hero__breadcrumb a { color: var(--c-gold-soft); }
.service-hero__breadcrumb li:not(:last-child)::after { color: var(--c-gold); }
.service-hero__content { max-width: 720px; }
.service-hero__icon {
    width: 72px; height: 72px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--c-gold);
    color: var(--c-brown);
    font-size: 28px;
    border-radius: 50%;
    margin-bottom: var(--sp-4);
    box-shadow: var(--sh-md);
}
.service-hero__title {
    font-family: var(--ff-heading);
    font-size: var(--fs-5xl);
    font-weight: var(--fw-bold);
    color: var(--c-text-invert);
    margin: 0 0 var(--sp-3);
    line-height: var(--lh-tight);
}
.service-hero__lead {
    font-size: var(--fs-md);
    color: var(--c-cream);
    opacity: 0.95;
    margin: 0;
    max-width: 52ch;
}

.service-detail {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: var(--sp-7);
    align-items: flex-start;
}
@media (max-width: 900px) {
    .service-detail { grid-template-columns: 1fr; }
}

.service-detail__body { max-width: 65ch; }
.service-detail__body h2 {
    font-size: var(--fs-2xl);
    color: var(--c-brown);
    margin: var(--sp-7) 0 var(--sp-3);
}
.service-detail__body h3 {
    font-size: var(--fs-xl);
    color: var(--c-brown);
    margin: var(--sp-6) 0 var(--sp-3);
}
.service-detail__body ul {
    margin: var(--sp-4) 0;
    padding-left: var(--sp-5);
}
.service-detail__body ul li {
    position: relative;
    margin-bottom: var(--sp-2);
    padding-left: var(--sp-2);
}
.service-detail__body ul li::marker { color: var(--c-gold); }
.service-detail__body strong { color: var(--c-brown); }
.service-detail__body blockquote {
    margin: var(--sp-5) 0;
    padding: var(--sp-4) var(--sp-5);
    border-left: 3px solid var(--c-gold);
    background: var(--c-paper);
    font-style: italic;
    color: var(--c-brown);
    border-radius: 0 var(--r-md) var(--r-md) 0;
}
.service-detail__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); }

.service-detail__aside {
    display: flex;
    flex-direction: column;
    gap: var(--sp-4);
    position: sticky;
    top: calc(var(--header-h) + var(--sp-5));
}
@media (max-width: 900px) {
    .service-detail__aside { position: static; }
}

.info-card {
    background: var(--c-paper);
    border: 1px solid var(--c-border-soft);
    border-radius: var(--r-lg);
    padding: var(--sp-5);
}
.info-card h3 {
    font-family: var(--ff-heading);
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
    color: var(--c-brown);
    margin: 0 0 var(--sp-4);
    padding-bottom: var(--sp-3);
    border-bottom: 1px solid var(--c-border-soft);
}
.info-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: var(--sp-4);
}
.info-card__list > li {
    display: flex;
    align-items: flex-start;
    gap: var(--sp-3);
    margin: 0;
}
.info-card__list > li > i {
    color: var(--c-gold);
    font-size: 16px;
    margin-top: 2px;
    flex-shrink: 0;
    width: 20px;
    text-align: center;
}
.info-card__list strong {
    display: block;
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
    color: var(--c-brown);
    margin-bottom: 2px;
}
.info-card__list span {
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
    line-height: 1.45;
}

.info-card--contact { background: var(--c-brown); color: var(--c-cream); border-color: var(--c-brown-dark); }
.info-card--contact h3 { color: var(--c-cream); border-bottom-color: rgba(197,160,105,0.3); }
.info-card__action {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    padding: var(--sp-3) var(--sp-4);
    border-radius: var(--r-md);
    text-decoration: none;
    margin-top: var(--sp-3);
    transition: background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.info-card__action:hover { transform: translateY(-1px); }
.info-card__action i {
    width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    font-size: 18px;
    flex-shrink: 0;
}
.info-card__action small {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: var(--fw-semibold);
}
.info-card__action strong {
    display: block;
    font-family: var(--ff-heading);
    font-size: var(--fs-md);
}
.info-card__action--phone {
    background: var(--c-gold);
    color: var(--c-brown);
}
.info-card__action--phone i { background: var(--c-brown); color: var(--c-gold); }
.info-card__action--phone:hover { background: var(--c-gold-dark); color: var(--c-brown); }
.info-card__action--wa {
    background: #25D366;
    color: #fff;
}
.info-card__action--wa i { background: rgba(255,255,255,0.2); color: #fff; }
.info-card__action--wa:hover { background: #1fb855; color: #fff; }

/* ---------------------------------------
   13c. PRODUCTS PAGE (listing + detail)
   --------------------------------------- */

/* Filter chips — scroll orizontal pe mobile, flex pe desktop */
.category-chips-wrap {
    background: var(--c-paper);
    border-bottom: 1px solid var(--c-border-soft);
    position: sticky;
    top: var(--header-h);
    z-index: 10;
}
@media (max-width: 920px) {
    .category-chips-wrap { top: var(--header-h-sm); }
}
.category-chips {
    display: flex;
    gap: var(--sp-2);
    padding-block: var(--sp-3);
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}
.category-chips::-webkit-scrollbar { display: none; }

.category-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    padding: 0.6rem 1rem;
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-pill);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    color: var(--c-text);
    text-decoration: none;
    white-space: nowrap;
    transition: all var(--t-fast) var(--ease);
    flex-shrink: 0;
}
.category-chip:hover {
    border-color: var(--c-gold);
    color: var(--c-brown);
    background: var(--c-cream);
}
.category-chip i { color: var(--c-gold-dark); font-size: 14px; }
.category-chip small {
    font-size: 11px;
    font-weight: var(--fw-semibold);
    background: var(--c-cream-deep);
    color: var(--c-brown);
    padding: 2px 8px;
    border-radius: var(--r-pill);
    letter-spacing: 0;
}
.category-chip.is-active {
    background: var(--c-brown);
    color: var(--c-gold-soft);
    border-color: var(--c-brown);
}
.category-chip.is-active i { color: var(--c-gold); }
.category-chip.is-active small {
    background: var(--c-gold);
    color: var(--c-brown);
}

/* Toolbar: count + search + sort */
.products-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-4);
    margin-bottom: var(--sp-6);
    flex-wrap: wrap;
}
.products-toolbar__count {
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
}
.products-toolbar__count strong {
    color: var(--c-brown);
    font-weight: var(--fw-semibold);
    font-size: var(--fs-base);
}
.products-toolbar__count em {
    color: var(--c-brown);
    font-style: normal;
    font-weight: var(--fw-medium);
    padding: 0 var(--sp-1);
}
.products-toolbar__clear {
    margin-left: var(--sp-2);
    font-size: var(--fs-xs);
    color: var(--c-gold-dark);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.products-toolbar__form {
    display: flex;
    gap: var(--sp-2);
    align-items: center;
    flex-wrap: wrap;
}
.products-toolbar__search {
    position: relative;
    display: flex;
    align-items: center;
}
.products-toolbar__search i {
    position: absolute;
    left: var(--sp-3);
    color: var(--c-text-muted);
    font-size: 14px;
    pointer-events: none;
}
.products-toolbar__search input {
    padding-left: 2.3rem;
    min-width: 220px;
    background: var(--c-surface);
}
.products-toolbar__sort select {
    min-width: 180px;
    padding-right: 2rem;
    background-color: var(--c-surface);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%234B2E1E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: right 0.8rem center;
    appearance: none;
    -webkit-appearance: none;
}
@media (max-width: 600px) {
    .products-toolbar__search input { min-width: 0; width: 100%; }
    .products-toolbar__form { width: 100%; }
}

/* Products grid */
.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--sp-5);
}
.product-card--grid { height: 100%; }

/* Featured / recommended badge peste imagine */
.product-card__featured-badge {
    position: absolute;
    top: var(--sp-3);
    left: var(--sp-3);
    padding: 0.3em 0.7em;
    background: var(--c-gold);
    color: var(--c-brown);
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: var(--r-pill);
}
.product-card__featured-badge i {
    margin-right: 4px;
    font-size: 10px;
}

/* Empty state */
.empty-state {
    text-align: center;
    padding: var(--sp-9) var(--sp-5);
    background: var(--c-paper);
    border: 1px dashed var(--c-border);
    border-radius: var(--r-lg);
}
.empty-state i {
    font-size: 48px;
    color: var(--c-gold-soft);
    margin-bottom: var(--sp-4);
    display: block;
}
.empty-state h3 {
    font-family: var(--ff-heading);
    color: var(--c-brown);
    margin-bottom: var(--sp-2);
}
.empty-state p {
    color: var(--c-text-muted);
    margin-bottom: var(--sp-5);
}

/* ---------------------------------------
   PRODUCT DETAIL PAGE
   --------------------------------------- */
.product-detail {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: var(--sp-7);
    align-items: flex-start;
}
@media (max-width: 900px) {
    .product-detail { grid-template-columns: 1fr; gap: var(--sp-5); }
}

.product-detail__gallery { position: sticky; top: calc(var(--header-h) + var(--sp-9)); }
@media (max-width: 900px) { .product-detail__gallery { position: static; } }

.product-detail__main-image {
    position: relative;
    border-radius: var(--r-xl);
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--c-cream-deep);
    box-shadow: var(--sh-lg);
}
.product-detail__main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-detail__info { max-width: 56ch; }
.product-detail__title {
    font-family: var(--ff-heading);
    font-size: var(--fs-4xl);
    font-weight: var(--fw-bold);
    color: var(--c-brown);
    letter-spacing: var(--tracking-tight);
    margin: var(--sp-2) 0 var(--sp-4);
    line-height: var(--lh-tight);
}

.product-detail__price-row {
    display: flex;
    align-items: baseline;
    gap: var(--sp-3);
    margin-bottom: var(--sp-6);
    padding: var(--sp-4) var(--sp-5);
    background: var(--c-paper);
    border-left: 3px solid var(--c-gold);
    border-radius: 0 var(--r-md) var(--r-md) 0;
    flex-wrap: wrap;
}
.product-detail__price-label {
    display: block;
    width: 100%;
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-text-muted);
    margin-bottom: 2px;
}
.product-detail__price {
    font-family: var(--ff-heading);
    font-size: var(--fs-4xl);
    font-weight: var(--fw-bold);
    color: var(--c-brown);
    line-height: 1;
    letter-spacing: -0.01em;
}
.product-detail__unit {
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
}

.product-detail__section {
    margin-bottom: var(--sp-6);
}
.product-detail__section-title {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    font-family: var(--ff-heading);
    font-size: var(--fs-xl);
    color: var(--c-brown);
    margin-bottom: var(--sp-4);
}
.product-detail__section-title i {
    color: var(--c-gold);
    font-size: 20px;
}

.product-detail__composition {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: var(--sp-2);
}
.product-detail__composition li {
    display: flex;
    align-items: flex-start;
    gap: var(--sp-3);
    padding: var(--sp-3) var(--sp-4);
    background: var(--c-surface);
    border: 1px solid var(--c-border-soft);
    border-radius: var(--r-md);
    font-size: var(--fs-sm);
    line-height: 1.5;
}
.product-detail__composition li i {
    color: var(--c-gold);
    font-size: 12px;
    width: 18px; height: 18px;
    background: var(--c-cream);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
    flex-shrink: 0;
}
.product-detail__composition li strong { color: var(--c-brown); }

.product-detail__description {
    line-height: var(--lh-base);
    color: var(--c-text);
}
.product-detail__description strong { color: var(--c-brown); }

/* Specs — grid 3 coloane cu iconițe */
.product-detail__specs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sp-3);
    margin-bottom: var(--sp-6);
}
@media (max-width: 540px) {
    .product-detail__specs { grid-template-columns: 1fr; }
}
.product-detail__spec {
    display: flex;
    align-items: flex-start;
    gap: var(--sp-2);
    padding: var(--sp-3);
    border-top: 1px solid var(--c-border-soft);
    font-size: var(--fs-xs);
}
.product-detail__spec i {
    color: var(--c-gold);
    font-size: 18px;
    margin-top: 2px;
    flex-shrink: 0;
}
.product-detail__spec small {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-text-muted);
    font-size: 10px;
    font-weight: var(--fw-semibold);
}
.product-detail__spec strong {
    display: block;
    color: var(--c-brown);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    margin-top: 2px;
}

/* Action: quantity + add-to-cart */
.product-detail__actions {
    display: flex;
    gap: var(--sp-3);
    align-items: stretch;
    margin-bottom: var(--sp-5);
    flex-wrap: wrap;
}
.product-detail__qty {
    display: flex;
    flex-direction: column;
    gap: var(--sp-1);
}
.product-detail__qty label {
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: var(--fw-semibold);
    color: var(--c-text-muted);
}
.qty-input {
    display: inline-flex;
    align-items: center;
    height: 52px;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    overflow: hidden;
    background: var(--c-surface);
}
.qty-input button {
    width: 44px; height: 100%;
    font-size: var(--fs-lg);
    font-weight: var(--fw-bold);
    color: var(--c-brown);
    background: transparent;
    cursor: pointer;
    transition: background var(--t-fast) var(--ease);
}
.qty-input button:hover { background: var(--c-cream); }
.qty-input input {
    width: 60px;
    height: 100%;
    text-align: center;
    border: none;
    border-left: 1px solid var(--c-border-soft);
    border-right: 1px solid var(--c-border-soft);
    font-family: var(--ff-heading);
    font-size: var(--fs-lg);
    color: var(--c-brown);
    font-weight: var(--fw-semibold);
    background: transparent;
}
.qty-input input:focus { outline: none; box-shadow: inset 0 0 0 2px var(--c-gold); }
.qty-input input::-webkit-outer-spin-button,
.qty-input input::-webkit-inner-spin-button { appearance: none; margin: 0; }
.qty-input input[type=number] { -moz-appearance: textfield; }

.product-detail__actions .btn { flex: 1; min-height: 52px; align-self: flex-end; }

.product-detail__contact {
    padding: var(--sp-4) var(--sp-5);
    background: var(--c-cream);
    border-radius: var(--r-lg);
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
}
.product-detail__contact-label {
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-text-muted);
}

/* Trust grid */
.trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--sp-5);
}
@media (max-width: 820px) { .trust-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .trust-grid { grid-template-columns: 1fr; } }
.trust-grid__item {
    text-align: center;
}
.trust-grid__item > i {
    font-size: 32px;
    color: var(--c-gold);
    margin-bottom: var(--sp-3);
    display: block;
}
.trust-grid__item h3 {
    font-family: var(--ff-heading);
    font-size: var(--fs-md);
    color: var(--c-brown);
    margin-bottom: var(--sp-2);
}
.trust-grid__item p {
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
    line-height: 1.5;
    margin: 0;
    max-width: 32ch;
    margin-inline: auto;
}

/* ---------------------------------------
   13d. CART + CHECKOUT + THANK YOU
   --------------------------------------- */

/* Cart layout: items + summary */
.cart-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: var(--sp-6);
    align-items: flex-start;
}
@media (max-width: 900px) {
    .cart-layout { grid-template-columns: 1fr; }
}

.cart-items__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--sp-4);
    padding-bottom: var(--sp-3);
    border-bottom: 1px solid var(--c-border-soft);
}
.cart-items__head h2 {
    font-family: var(--ff-heading);
    font-size: var(--fs-xl);
    margin: 0;
    color: var(--c-brown);
}
.cart-items__head h2 span { color: var(--c-text-muted); font-weight: var(--fw-regular); }

/* Individual cart item row */
.cart-item {
    display: grid;
    grid-template-columns: 96px 1fr auto auto auto;
    gap: var(--sp-4);
    align-items: center;
    padding: var(--sp-4) 0;
    border-bottom: 1px solid var(--c-border-soft);
}
.cart-item__media {
    aspect-ratio: 1;
    border-radius: var(--r-md);
    overflow: hidden;
    background: var(--c-cream-deep);
}
.cart-item__media img { width: 100%; height: 100%; object-fit: cover; }
.cart-item__body { min-width: 0; }
.cart-item__title {
    font-family: var(--ff-heading);
    font-size: var(--fs-md);
    margin: 0 0 var(--sp-1);
    color: var(--c-brown);
    line-height: 1.3;
}
.cart-item__title a { color: inherit; }
.cart-item__title a:hover { color: var(--c-gold-dark); }
.cart-item__price-line {
    display: flex; gap: var(--sp-2);
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
}
.cart-item__total { text-align: right; }
.cart-item__total-label {
    display: block;
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-text-muted);
}
.cart-item__total-value {
    display: block;
    font-family: var(--ff-heading);
    font-size: var(--fs-lg);
    font-weight: var(--fw-semibold);
    color: var(--c-brown);
}
.cart-item__remove {
    width: 36px; height: 36px;
    border-radius: 50%;
    color: var(--c-text-muted);
    transition: all var(--t-fast) var(--ease);
}
.cart-item__remove:hover {
    background: #F6E4E2;
    color: var(--c-danger);
}

/* Qty small variant (pentru coș) */
.qty-input--sm { height: 40px; }
.qty-input--sm button { width: 36px; font-size: var(--fs-md); }
.qty-input--sm input { width: 48px; font-size: var(--fs-md); }

@media (max-width: 620px) {
    .cart-item {
        grid-template-columns: 72px 1fr auto;
        grid-template-areas:
            "media body remove"
            "media qty  total";
        column-gap: var(--sp-3);
        row-gap: var(--sp-3);
    }
    .cart-item__media { grid-area: media; }
    .cart-item__body  { grid-area: body; }
    .cart-item__remove { grid-area: remove; align-self: flex-start; }
    .cart-item__qty    { grid-area: qty; }
    .cart-item__total  { grid-area: total; }
}

/* Cart summary card */
.cart-summary,
.checkout-summary {
    background: var(--c-paper);
    border: 1px solid var(--c-border-soft);
    border-radius: var(--r-lg);
    padding: var(--sp-5);
    position: sticky;
    top: calc(var(--header-h) + var(--sp-4));
}
@media (max-width: 900px) {
    .cart-summary, .checkout-summary { position: static; }
}
.cart-summary__title,
.checkout-summary > h2 {
    font-family: var(--ff-heading);
    font-size: var(--fs-lg);
    color: var(--c-brown);
    margin: 0 0 var(--sp-4);
    padding-bottom: var(--sp-3);
    border-bottom: 1px solid var(--c-border-soft);
}
.cart-summary__list {
    margin: 0 0 var(--sp-5);
    padding: 0;
}
.cart-summary__list > div {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--sp-3);
    padding: var(--sp-2) 0;
    border-bottom: 1px dashed var(--c-border-soft);
}
.cart-summary__list > div:last-child { border: none; }
.cart-summary__list dt {
    color: var(--c-text-muted);
    font-size: var(--fs-sm);
    margin: 0;
}
.cart-summary__list dd {
    margin: 0;
    font-weight: var(--fw-semibold);
    color: var(--c-brown);
    text-align: right;
}
.cart-summary__list dd small {
    display: block;
    font-weight: var(--fw-regular);
    font-size: var(--fs-xs);
    color: var(--c-text-muted);
}
.cart-summary__total {
    padding-top: var(--sp-3) !important;
    border-top: 1px solid var(--c-border) !important;
    border-bottom: none !important;
    margin-top: var(--sp-2);
}
.cart-summary__total dt {
    font-size: var(--fs-md) !important;
    font-weight: var(--fw-semibold);
    color: var(--c-brown) !important;
}
.cart-summary__total dd {
    font-family: var(--ff-heading);
    font-size: var(--fs-2xl) !important;
    font-weight: var(--fw-bold);
    color: var(--c-brown);
}
.cart-summary__note {
    display: flex;
    gap: var(--sp-2);
    align-items: flex-start;
    padding: var(--sp-3);
    background: var(--c-cream);
    border-radius: var(--r-md);
    font-size: var(--fs-xs);
    color: var(--c-text-muted);
    margin-top: var(--sp-4);
}
.cart-summary__note i { color: var(--c-gold); font-size: 14px; margin-top: 2px; }

/* Checkout — form + summary side by side */
.checkout-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: var(--sp-6);
    align-items: flex-start;
}
@media (max-width: 900px) {
    .checkout-layout { grid-template-columns: 1fr; }
}

/* Steps indicator */
.steps-indicator {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    margin: var(--sp-4) 0 var(--sp-6);
    padding: var(--sp-4) 0;
    flex-wrap: wrap;
    justify-content: center;
}
.steps-indicator__step {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    opacity: 0.5;
}
.steps-indicator__step.is-done { opacity: 0.75; }
.steps-indicator__step.is-current { opacity: 1; }
.steps-indicator__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--c-border);
    color: var(--c-text-muted);
    font-weight: var(--fw-bold);
    font-size: var(--fs-sm);
}
.steps-indicator__step.is-done .steps-indicator__num { background: var(--c-gold); color: var(--c-brown); }
.steps-indicator__step.is-current .steps-indicator__num { background: var(--c-brown); color: var(--c-gold); }
.steps-indicator__label {
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
    color: var(--c-text);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.steps-indicator__line {
    width: 60px;
    height: 2px;
    background: var(--c-border);
}
.steps-indicator__line.is-done { background: var(--c-gold); }
@media (max-width: 620px) {
    .steps-indicator__label { display: none; }
    .steps-indicator__line { width: 30px; }
}

/* Checkout sections */
.checkout-section {
    background: var(--c-surface);
    border: 1px solid var(--c-border-soft);
    border-radius: var(--r-lg);
    padding: var(--sp-5) var(--sp-6);
    margin-bottom: var(--sp-4);
}
.checkout-section__head {
    display: flex;
    align-items: center;
    gap: var(--sp-4);
    margin-bottom: var(--sp-5);
    padding-bottom: var(--sp-4);
    border-bottom: 1px solid var(--c-border-soft);
}
.checkout-section__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    border-radius: 50%;
    background: var(--c-cream);
    color: var(--c-gold-dark);
    font-family: var(--ff-heading);
    font-weight: var(--fw-bold);
    font-size: var(--fs-md);
    flex-shrink: 0;
}
.checkout-section__head h2 {
    font-family: var(--ff-heading);
    font-size: var(--fs-xl);
    color: var(--c-brown);
    margin: 0 0 2px;
}
.checkout-section__head p {
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
    margin: 0;
}

.form-row {
    display: grid;
    gap: var(--sp-3);
}
.form-row--2 { grid-template-columns: 1fr 1fr; }
@media (max-width: 600px) { .form-row--2 { grid-template-columns: 1fr; } }

.form-group.has-error input,
.form-group.has-error textarea,
.form-group.has-error select { border-color: var(--c-danger); }

/* Delivery radio cards */
.delivery-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sp-3);
    margin-bottom: var(--sp-4);
}
@media (max-width: 600px) { .delivery-options { grid-template-columns: 1fr; } }

.delivery-option {
    cursor: pointer;
    position: relative;
}
.delivery-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.delivery-option__body {
    display: block;
    padding: var(--sp-4);
    border: 2px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-surface);
    transition: all var(--t-fast) var(--ease);
    text-align: center;
}
.delivery-option__body i {
    display: block;
    font-size: 24px;
    color: var(--c-gold-dark);
    margin-bottom: var(--sp-2);
}
.delivery-option__body strong {
    display: block;
    color: var(--c-brown);
    font-size: var(--fs-sm);
    margin-bottom: 2px;
}
.delivery-option__body small {
    font-size: var(--fs-xs);
    color: var(--c-text-muted);
    line-height: 1.4;
}
.delivery-option:hover .delivery-option__body { border-color: var(--c-gold); }
.delivery-option input:checked + .delivery-option__body {
    border-color: var(--c-gold);
    background: var(--c-cream);
    box-shadow: var(--sh-gold-focus);
}
.delivery-option input:checked + .delivery-option__body i { color: var(--c-brown); }

/* Checkout actions */
.checkout-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-3);
    margin-top: var(--sp-5);
    flex-wrap: wrap;
}
.checkout-consent {
    display: flex;
    gap: var(--sp-2);
    align-items: flex-start;
    margin: var(--sp-4) 0 0;
    padding: var(--sp-3) var(--sp-4);
    background: var(--c-cream);
    border-radius: var(--r-md);
    font-size: var(--fs-xs);
    color: var(--c-text-muted);
    line-height: 1.5;
}
.checkout-consent i { color: var(--c-gold); margin-top: 3px; }

/* Checkout summary — rows compact cu item */
.checkout-summary__list {
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
    max-height: 360px;
    overflow-y: auto;
    padding-right: var(--sp-2);
    margin-bottom: var(--sp-4);
}
.summary-item {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: var(--sp-2);
    align-items: center;
    font-size: var(--fs-sm);
}
.summary-item img {
    width: 48px; height: 48px;
    object-fit: cover;
    border-radius: var(--r-sm);
    background: var(--c-cream-deep);
}
.summary-item__name {
    color: var(--c-brown);
    font-weight: var(--fw-medium);
    line-height: 1.3;
}
.summary-item__qty {
    color: var(--c-text-muted);
    font-size: var(--fs-xs);
    display: block;
}
.summary-item__total {
    font-family: var(--ff-heading);
    color: var(--c-brown);
    font-weight: var(--fw-semibold);
}

/* Thank-you page */
.thank-you { padding-block: var(--sp-9); }
.thank-you__icon {
    width: 96px; height: 96px;
    margin: 0 auto var(--sp-5);
    background: var(--c-success);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    animation: thank-you-pop 0.6s cubic-bezier(.2,.8,.2,1.3);
}
@keyframes thank-you-pop {
    0%   { transform: scale(0.5); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}
.thank-you__number {
    display: inline-block;
    margin-top: var(--sp-5);
    padding: var(--sp-3) var(--sp-5);
    background: var(--c-paper);
    border: 1px dashed var(--c-gold);
    border-radius: var(--r-md);
}
.thank-you__number small {
    display: block;
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-text-muted);
    margin-bottom: var(--sp-1);
}
.thank-you__number strong {
    font-family: var(--ff-heading);
    font-size: var(--fs-xl);
    color: var(--c-brown);
    letter-spacing: 0.05em;
}

.thank-you__steps {
    margin: var(--sp-9) 0;
}
.thank-you__steps h2 {
    font-family: var(--ff-heading);
    font-size: var(--fs-2xl);
    color: var(--c-brown);
    margin-bottom: var(--sp-6);
}

.timeline {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: timeline;
    max-width: 560px;
    margin-inline: auto;
}
.timeline__item {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: var(--sp-4);
    padding-bottom: var(--sp-5);
    position: relative;
}
.timeline__item::before {
    content: "";
    position: absolute;
    left: 23px;
    top: 48px;
    bottom: 0;
    width: 2px;
    background: var(--c-border);
}
.timeline__item:last-child::before { display: none; }
.timeline__marker {
    width: 48px; height: 48px;
    border-radius: 50%;
    background: var(--c-surface);
    border: 2px solid var(--c-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-muted);
    font-size: 18px;
    z-index: 1;
}
.timeline__item--done .timeline__marker {
    background: var(--c-success);
    border-color: var(--c-success);
    color: #fff;
}
.timeline__item--current .timeline__marker {
    background: var(--c-gold);
    border-color: var(--c-gold);
    color: var(--c-brown);
    animation: timeline-pulse 2s infinite;
}
@keyframes timeline-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(197, 160, 105, 0.4); }
    50%      { box-shadow: 0 0 0 8px rgba(197, 160, 105, 0); }
}
.timeline__item > div strong {
    display: block;
    font-family: var(--ff-heading);
    color: var(--c-brown);
    font-size: var(--fs-md);
    margin-bottom: 2px;
}
.timeline__item > div p {
    margin: 0;
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
    line-height: 1.5;
}

.thank-you__order {
    background: var(--c-paper);
    border: 1px solid var(--c-border-soft);
    border-radius: var(--r-lg);
    padding: var(--sp-5) var(--sp-6);
    margin: var(--sp-7) 0;
}
.thank-you__order h3 {
    font-family: var(--ff-heading);
    font-size: var(--fs-lg);
    color: var(--c-brown);
    margin: 0 0 var(--sp-4);
    padding-bottom: var(--sp-3);
    border-bottom: 1px solid var(--c-border-soft);
}
.thank-you__items {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--sp-4);
}
.thank-you__items li {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: var(--sp-3);
    padding: var(--sp-2) 0;
    font-size: var(--fs-sm);
    border-bottom: 1px dashed var(--c-border-soft);
}
.thank-you__items li:last-child { border: none; }
.thank-you__item-name { color: var(--c-brown); font-weight: var(--fw-medium); }
.thank-you__item-qty { color: var(--c-text-muted); }
.thank-you__item-total { font-family: var(--ff-heading); color: var(--c-brown); font-weight: var(--fw-semibold); }

.thank-you__totals {
    padding-top: var(--sp-3);
    border-top: 1px solid var(--c-border);
}
.thank-you__totals > div {
    display: flex;
    justify-content: space-between;
    padding: var(--sp-1) 0;
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
}
.thank-you__totals .thank-you__total {
    padding-top: var(--sp-3);
    border-top: 1px dashed var(--c-border-soft);
    margin-top: var(--sp-2);
    font-size: var(--fs-md);
    color: var(--c-brown);
}
.thank-you__totals .thank-you__total strong {
    font-family: var(--ff-heading);
    font-size: var(--fs-xl);
}

.thank-you__contact {
    text-align: center;
    padding: var(--sp-5);
    background: var(--c-paper);
    border-radius: var(--r-lg);
    margin-top: var(--sp-6);
}
.thank-you__contact h3 {
    font-family: var(--ff-heading);
    font-size: var(--fs-lg);
    color: var(--c-brown);
    margin-bottom: var(--sp-4);
}

/* ---------------------------------------
   13e. BLOG (listing + articol)
   --------------------------------------- */

/* Featured post (prima postare pe pagina 1) */
.blog-featured {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: var(--sp-7);
    align-items: center;
    padding: var(--sp-4) 0 var(--sp-8);
    margin-bottom: var(--sp-8);
    border-bottom: 1px solid var(--c-border-soft);
}
@media (max-width: 820px) {
    .blog-featured { grid-template-columns: 1fr; gap: var(--sp-5); }
}
.blog-featured__media {
    position: relative;
    border-radius: var(--r-xl);
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--c-cream-deep);
    box-shadow: var(--sh-lg);
    display: block;
}
.blog-featured__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--t-slow) var(--ease);
}
.blog-featured__media:hover img { transform: scale(1.03); }
.blog-featured__tag {
    position: absolute;
    top: var(--sp-4);
    left: var(--sp-4);
    padding: 0.45em 0.9em;
    background: var(--c-gold);
    color: var(--c-brown);
    font-size: var(--fs-xs);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: var(--r-pill);
}
.blog-featured__body { max-width: 54ch; }
.blog-featured__meta {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
    margin-bottom: var(--sp-3);
}
.blog-featured__meta i { color: var(--c-gold-dark); margin-right: 4px; }
.blog-featured__title {
    font-family: var(--ff-heading);
    font-size: var(--fs-4xl);
    font-weight: var(--fw-bold);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-tight);
    color: var(--c-brown);
    margin: 0 0 var(--sp-4);
}
.blog-featured__title a { color: inherit; }
.blog-featured__title a:hover { color: var(--c-gold-dark); }
.blog-featured__excerpt {
    font-size: var(--fs-md);
    color: var(--c-text-muted);
    line-height: var(--lh-base);
    margin-bottom: var(--sp-5);
}

/* Blog grid */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--sp-6);
}

.blog-card {
    display: flex;
    flex-direction: column;
    background: var(--c-surface);
    border: 1px solid var(--c-border-soft);
    border-radius: var(--r-lg);
    overflow: hidden;
    transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), border-color var(--t-base) var(--ease);
}
.blog-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--sh-lg);
    border-color: var(--c-gold-soft);
}
.blog-card__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--c-cream-deep);
}
.blog-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--t-slow) var(--ease);
}
.blog-card:hover .blog-card__media img { transform: scale(1.05); }
.blog-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
    padding: var(--sp-5);
    flex: 1;
}
.blog-card__meta {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    font-size: var(--fs-xs);
    color: var(--c-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: var(--fw-semibold);
}
.blog-card__meta span { color: var(--c-gold); }
.blog-card__title {
    font-family: var(--ff-heading);
    font-size: var(--fs-xl);
    font-weight: var(--fw-semibold);
    line-height: var(--lh-snug);
    margin: 0;
    color: var(--c-brown);
}
.blog-card__title a { color: inherit; }
.blog-card__title a:hover { color: var(--c-gold-dark); }
.blog-card__excerpt {
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
    line-height: var(--lh-base);
    margin: 0;
    flex: 1;
}

/* Article hero */
.article-hero {
    position: relative;
    min-height: 440px;
    display: flex;
    align-items: flex-end;
    padding-block: var(--sp-7) var(--sp-8);
    background: var(--c-brown);
    color: var(--c-text-invert);
    isolation: isolate;
    overflow: hidden;
}
.article-hero__bg { position: absolute; inset: 0; z-index: -2; }
.article-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.article-hero__overlay {
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(58,34,22,0.65) 0%, rgba(58,34,22,0.85) 100%);
}
.article-hero__breadcrumb {
    color: var(--c-cream);
    padding: 0 0 var(--sp-5);
    opacity: 0.92;
}
.article-hero__breadcrumb a { color: var(--c-gold-soft); }
.article-hero__breadcrumb li:not(:last-child)::after { color: var(--c-gold); }
.article-hero__content { max-width: 820px; }
.article-hero__meta {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    flex-wrap: wrap;
    margin-bottom: var(--sp-4);
    font-size: var(--fs-sm);
    color: var(--c-cream);
}
.article-hero__meta time,
.article-hero__meta span { display: inline-flex; align-items: center; gap: var(--sp-1); }
.article-hero__meta i { color: var(--c-gold); }
.article-hero__title {
    font-family: var(--ff-heading);
    font-size: var(--fs-5xl);
    font-weight: var(--fw-bold);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-tight);
    color: var(--c-text-invert);
    margin: 0 0 var(--sp-4);
}
.article-hero__excerpt {
    font-size: var(--fs-lg);
    color: var(--c-cream);
    opacity: 0.95;
    line-height: 1.5;
    max-width: 60ch;
    margin: 0;
}

/* Article layout: sidebar + body */
.article-layout {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: var(--sp-7);
    align-items: flex-start;
}
@media (max-width: 900px) {
    .article-layout { grid-template-columns: 1fr; gap: var(--sp-5); }
}

.article-sidebar {
    position: sticky;
    top: calc(var(--header-h) + var(--sp-5));
    display: flex;
    flex-direction: column;
    gap: var(--sp-5);
}
@media (max-width: 900px) { .article-sidebar { position: static; flex-direction: row; flex-wrap: wrap; gap: var(--sp-6); } }

.article-author {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
}
.article-author__avatar {
    width: 52px; height: 52px;
    border-radius: 50%;
    background: var(--c-gold);
    color: var(--c-brown);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.article-author small {
    display: block;
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-text-muted);
    font-weight: var(--fw-semibold);
    margin-bottom: 2px;
}
.article-author strong {
    font-family: var(--ff-heading);
    color: var(--c-brown);
    font-size: var(--fs-md);
}

.article-share > small {
    display: block;
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-text-muted);
    font-weight: var(--fw-semibold);
    margin-bottom: var(--sp-2);
}
.article-share__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-2);
}
.article-share__buttons > a,
.article-share__buttons > button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    border-radius: 50%;
    border: 1px solid var(--c-border);
    color: var(--c-brown);
    font-size: 15px;
    background: var(--c-surface);
    transition: all var(--t-fast) var(--ease);
    cursor: pointer;
}
.article-share__buttons > a:hover,
.article-share__buttons > button:hover {
    background: var(--c-gold);
    border-color: var(--c-gold);
    color: var(--c-brown);
    transform: translateY(-1px);
}
.article-share__buttons > button[data-copy-url].is-copied {
    background: var(--c-success);
    color: #fff;
    border-color: var(--c-success);
}

/* Article body typography */
.article-body {
    font-size: var(--fs-md);
    line-height: 1.75;
    color: var(--c-text);
    max-width: 68ch;
}
.article-body > *:first-child { margin-top: 0; }
.article-body h2 {
    font-family: var(--ff-heading);
    font-size: var(--fs-2xl);
    font-weight: var(--fw-semibold);
    color: var(--c-brown);
    margin: var(--sp-7) 0 var(--sp-4);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-tight);
}
.article-body h3 {
    font-family: var(--ff-heading);
    font-size: var(--fs-xl);
    font-weight: var(--fw-semibold);
    color: var(--c-brown);
    margin: var(--sp-6) 0 var(--sp-3);
}
.article-body h4 {
    font-family: var(--ff-heading);
    font-size: var(--fs-lg);
    color: var(--c-brown);
    margin: var(--sp-5) 0 var(--sp-2);
}
.article-body p {
    margin: 0 0 var(--sp-4);
    line-height: 1.75;
}
.article-body p:first-of-type::first-letter {
    font-family: var(--ff-heading);
    font-size: 3.4em;
    font-weight: var(--fw-bold);
    color: var(--c-gold-dark);
    float: left;
    line-height: 0.9;
    padding: 0.1em 0.08em 0 0;
}
.article-body ul, .article-body ol {
    margin: 0 0 var(--sp-4);
    padding-left: var(--sp-6);
}
.article-body ul li { list-style-type: disc; margin-bottom: var(--sp-2); }
.article-body ul li::marker { color: var(--c-gold); }
.article-body ol li { margin-bottom: var(--sp-2); }
.article-body ol li::marker { color: var(--c-gold-dark); font-weight: var(--fw-semibold); }
.article-body strong { color: var(--c-brown); font-weight: var(--fw-semibold); }
.article-body a { color: var(--c-gold-dark); text-decoration: underline; text-underline-offset: 3px; }
.article-body a:hover { color: var(--c-brown); }
.article-body blockquote {
    margin: var(--sp-6) 0;
    padding: var(--sp-5) var(--sp-6);
    background: var(--c-paper);
    border-left: 4px solid var(--c-gold);
    border-radius: 0 var(--r-md) var(--r-md) 0;
    font-family: var(--ff-heading);
    font-style: italic;
    font-size: var(--fs-lg);
    color: var(--c-brown);
    line-height: 1.5;
}
.article-body blockquote p:last-child { margin-bottom: 0; }
.article-body img {
    border-radius: var(--r-lg);
    margin: var(--sp-5) 0;
    box-shadow: var(--sh-md);
}
.article-body figure { margin: var(--sp-5) 0; }
.article-body figure figcaption {
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
    text-align: center;
    margin-top: var(--sp-2);
    font-style: italic;
}
.article-body hr {
    border: none;
    height: 1px;
    background: var(--c-border);
    margin: var(--sp-7) 0;
}
.article-body code {
    background: var(--c-cream-deep);
    padding: 0.15em 0.4em;
    border-radius: var(--r-sm);
    font-size: 0.9em;
    color: var(--c-brown);
}

.article-foot {
    margin-top: var(--sp-8);
    padding-top: var(--sp-5);
    border-top: 1px solid var(--c-border-soft);
}

/* Paginare */
.pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-4);
    margin-top: var(--sp-8);
    padding-top: var(--sp-5);
    border-top: 1px solid var(--c-border-soft);
    flex-wrap: wrap;
}
.pagination__item {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    padding: 0.6rem 1.1rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
    color: var(--c-brown);
    background: var(--c-surface);
    text-decoration: none;
    transition: all var(--t-fast) var(--ease);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.pagination__item:hover:not(.is-disabled) {
    background: var(--c-brown);
    color: var(--c-cream);
    border-color: var(--c-brown);
}
.pagination__item.is-disabled {
    opacity: 0.35;
    pointer-events: none;
    cursor: default;
}
.pagination__pages {
    display: flex;
    gap: var(--sp-1);
}
.pagination__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 var(--sp-2);
    border-radius: var(--r-md);
    font-family: var(--ff-heading);
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
    color: var(--c-text-muted);
    transition: all var(--t-fast) var(--ease);
}
.pagination__num:hover { background: var(--c-cream); color: var(--c-brown); }
.pagination__num.is-active {
    background: var(--c-gold);
    color: var(--c-brown);
}

/* ---------------------------------------
   13f. CONTACT PAGE
   --------------------------------------- */

/* Quick contact cards (top) */
.contact-quick-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sp-4);
}
@media (max-width: 820px) { .contact-quick-grid { grid-template-columns: 1fr; } }

.contact-quick-card {
    display: flex;
    flex-direction: column;
    gap: var(--sp-1);
    padding: var(--sp-5) var(--sp-5);
    border-radius: var(--r-lg);
    text-decoration: none;
    transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
    position: relative;
    overflow: hidden;
}
.contact-quick-card:hover { transform: translateY(-2px); box-shadow: var(--sh-md); }
.contact-quick-card__icon {
    width: 52px; height: 52px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: var(--sp-2);
    flex-shrink: 0;
}
.contact-quick-card small {
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    opacity: 0.85;
}
.contact-quick-card strong {
    font-family: var(--ff-heading);
    font-size: var(--fs-xl);
    font-weight: var(--fw-bold);
    line-height: 1.2;
    letter-spacing: -0.01em;
}
.contact-quick-card em {
    font-style: normal;
    font-size: var(--fs-xs);
    opacity: 0.7;
    margin-top: var(--sp-1);
}

.contact-quick-card--phone {
    background: var(--c-brown);
    color: var(--c-gold-soft);
}
.contact-quick-card--phone:hover { color: var(--c-gold-soft); }
.contact-quick-card--phone strong { color: var(--c-text-invert); }
.contact-quick-card--phone .contact-quick-card__icon {
    background: var(--c-gold);
    color: var(--c-brown);
}

.contact-quick-card--wa {
    background: #25D366;
    color: #fff;
}
.contact-quick-card--wa:hover { color: #fff; background: #1fb855; }
.contact-quick-card--wa strong { color: #fff; }
.contact-quick-card--wa .contact-quick-card__icon {
    background: rgba(255,255,255,0.2);
    color: #fff;
    font-size: 28px;
}

.contact-quick-card--email {
    background: var(--c-paper);
    color: var(--c-brown);
    border: 1px solid var(--c-border-soft);
}
.contact-quick-card--email:hover { color: var(--c-brown); border-color: var(--c-gold); }
.contact-quick-card--email strong { color: var(--c-brown); word-break: break-all; }
.contact-quick-card--email .contact-quick-card__icon {
    background: var(--c-gold);
    color: var(--c-brown);
}

/* Layout form + info */
.contact-layout {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: var(--sp-7);
    align-items: flex-start;
}
@media (max-width: 900px) { .contact-layout { grid-template-columns: 1fr; gap: var(--sp-5); } }

/* Form wrap */
.contact-form-wrap {
    background: var(--c-surface);
    border: 1px solid var(--c-border-soft);
    border-radius: var(--r-lg);
    padding: var(--sp-6) var(--sp-7);
    box-shadow: var(--sh-sm);
}
@media (max-width: 600px) { .contact-form-wrap { padding: var(--sp-5) var(--sp-4); } }

.contact-form-wrap__title {
    font-family: var(--ff-heading);
    font-size: var(--fs-2xl);
    color: var(--c-brown);
    margin: 0 0 var(--sp-2);
    letter-spacing: var(--tracking-tight);
}
.contact-form-wrap__lead {
    color: var(--c-text-muted);
    font-size: var(--fs-sm);
    line-height: 1.6;
    margin-bottom: var(--sp-5);
}

.contact-form__note {
    display: flex;
    gap: var(--sp-2);
    align-items: flex-start;
    margin: var(--sp-4) 0 0;
    padding: var(--sp-3) var(--sp-4);
    background: var(--c-cream);
    border-radius: var(--r-md);
    font-size: var(--fs-xs);
    color: var(--c-text-muted);
    line-height: 1.5;
}
.contact-form__note i { color: var(--c-gold); margin-top: 3px; }

/* Contact info aside */
.contact-info {
    background: var(--c-paper);
    border: 1px solid var(--c-border-soft);
    border-radius: var(--r-lg);
    padding: var(--sp-6);
    position: sticky;
    top: calc(var(--header-h) + var(--sp-5));
}
@media (max-width: 900px) { .contact-info { position: static; } }

.contact-info__title {
    font-family: var(--ff-heading);
    font-size: var(--fs-xl);
    color: var(--c-brown);
    margin: 0 0 var(--sp-5);
    padding-bottom: var(--sp-3);
    border-bottom: 1px solid var(--c-border-soft);
}

.contact-info__items {
    display: flex;
    flex-direction: column;
    gap: var(--sp-5);
}
.contact-info__item {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: var(--sp-3);
    align-items: flex-start;
}
.contact-info__item > i {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: var(--c-cream);
    color: var(--c-gold-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.contact-info__item small {
    display: block;
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-text-muted);
    font-weight: var(--fw-semibold);
    margin-bottom: 2px;
}
.contact-info__item p {
    margin: 0;
    color: var(--c-brown);
    font-size: var(--fs-sm);
    line-height: 1.5;
    font-weight: var(--fw-medium);
}

.contact-info__social {
    margin-top: var(--sp-6);
    padding-top: var(--sp-4);
    border-top: 1px dashed var(--c-border-soft);
}
.contact-info__social small {
    display: block;
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-text-muted);
    font-weight: var(--fw-semibold);
    margin-bottom: var(--sp-3);
}
.contact-info__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    border-radius: 50%;
    border: 1px solid var(--c-border);
    color: var(--c-brown);
    font-size: 15px;
    background: var(--c-surface);
    transition: all var(--t-fast) var(--ease);
}
.contact-info__social a:hover {
    background: var(--c-gold);
    border-color: var(--c-gold);
    color: var(--c-brown);
    transform: translateY(-1px);
}

/* Map section */
.contact-map-section {
    margin-top: var(--sp-7);
}
.contact-map {
    position: relative;
    aspect-ratio: 16 / 6;
    min-height: 340px;
    background: var(--c-cream-deep);
    overflow: hidden;
    border-top: 1px solid var(--c-border-soft);
    border-bottom: 1px solid var(--c-border-soft);
}
.contact-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    filter: grayscale(0.15);
}

/* ---------------------------------------
   14. PAGE HEADER (pagini interioare)
   --------------------------------------- */
.page-header {
    background: var(--c-paper);
    padding: var(--sp-8) 0 var(--sp-7);
    border-bottom: 1px solid var(--c-border-soft);
    text-align: center;
}
.page-header .eyebrow { margin-bottom: var(--sp-3); }
.page-header h1 { margin-bottom: var(--sp-3); }
.page-header p { margin-inline: auto; color: var(--c-text-muted); }

/* ---------------------------------------
   15. UTILITIES
   --------------------------------------- */
.text-center { text-align: center; }
.text-right  { text-align: right; }
.text-muted  { color: var(--c-text-muted); }
.text-gold   { color: var(--c-gold-dark); }
.text-brown  { color: var(--c-brown); }

.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.mt-3 { margin-top: var(--sp-3); }
.mb-3 { margin-bottom: var(--sp-3); }
.mt-5 { margin-top: var(--sp-5); }
.mb-5 { margin-bottom: var(--sp-5); }
.mt-7 { margin-top: var(--sp-7); }
.mb-7 { margin-bottom: var(--sp-7); }

.sr-only {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

.skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    background: var(--c-brown);
    color: var(--c-gold);
    padding: var(--sp-3) var(--sp-4);
    z-index: 9999;
}
.skip-link:focus { top: 0; }

/* Fade-in subtil la scroll — blând, single-play */
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(16px);
        transition: opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease);
    }
    .reveal.is-visible {
        opacity: 1;
        transform: translateY(0);
    }
}
