/* ==================================================
   OMAMA – GLOBAL FRONTEND STYLE
   FINAL • PREMIUM • STABIL
   ================================================== */

/* ================= RESET MINIMAL ================= */
*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    color:#2b2b2b;

    /* FUNDAL CU PROFUNZIME */
    background:
        radial-gradient(
            1200px 600px at 50% -200px,
            #fff8ea 0%,
            #faf6f2 55%,
            #f3eee9 100%
        );
}

/* asigurare afișare corectă pe Safari / Private */
header, nav, main, section, article{
    display:block;
}

/* ================= VARIABLES ================= */
:root{
    --bg-main:#faf6f2;
    --bg-card:#ffffff;

    --text-main:#2b2b2b;
    --text-muted:#777;

    --accent:#e6b566;

    --border-soft:rgba(0,0,0,.06);

    --radius-lg:22px;
    --radius-md:18px;
    --radius-sm:12px;

    --shadow-sm:0 6px 18px rgba(0,0,0,.08);
    --shadow-md:0 12px 30px rgba(0,0,0,.12);
    --shadow-lg:0 18px 46px rgba(0,0,0,.16);
}

/* ================= CONTAINERS ================= */
.container{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

/* ================= SECTIONS ================= */
section{
    margin:80px 0;
    position:relative;
}

/* separare editorială */
section::before{
    content:'';
    position:absolute;
    top:-40px;
    left:50%;
    transform:translateX(-50%);
    width:80%;
    height:1px;
    background:linear-gradient(
        to right,
        transparent,
        rgba(0,0,0,.06),
        transparent
    );
}

/* ================= TYPOGRAPHY ================= */
h1,h2,h3,h4,h5{
    margin:0;
    line-height:1.3;
    font-weight:600;
}

h1{font-size:38px}
h2{font-size:30px}
h3{font-size:22px}
h4{font-size:16px}

p{
    margin:0 0 16px;
}

a{
    color:inherit;
    text-decoration:none;
}

/* ================= CARDS ================= */
.card{
    background:var(--bg-card);
    border-radius:var(--radius-md);
    overflow:hidden;

    /* PROFUNZIME REALĂ */
    box-shadow:
        0 10px 30px rgba(0,0,0,.12),
        0 1px 0 rgba(255,255,255,.6) inset;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.card:hover{
    transform:translateY(-4px);
    box-shadow:
        0 18px 46px rgba(0,0,0,.16),
        0 1px 0 rgba(255,255,255,.7) inset;
}

.card img{
    width:100%;
    display:block;
    object-fit:cover;
}

/* featured ușor accentuat */
.featured-card{
    transform-origin:center bottom;
}

.featured-card:hover{
    transform:translateY(-6px) scale(1.01);
}

/* ================= GRID SYSTEM ================= */
/* FIX – nu se întinde niciodată */

.grid{
    display:grid;
    gap:26px;
}

/* desktop */
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }

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

/* mobil */
@media(max-width:520px){
    .grid-3,
    .grid-2,
    .grid-4{
        grid-template-columns:1fr;
    }
}

/* ================= SECTION TITLES ================= */
.section-title{
    font-size:32px;
    letter-spacing:-.3px;
    padding-left:16px;
    border-left:6px solid var(--accent);
    margin-bottom:26px;
}

.section-title::after{
    content:'';
    display:block;
    width:46px;
    height:3px;
    margin-top:10px;
    background:var(--accent);
    border-radius:3px;
}

/* ================= LINKS + SHINE ================= */
.link-wrap{
    position:relative;
    display:block;
    overflow:hidden;
}

.link-wrap::after{
    content:'';
    position:absolute;
    top:0;
    left:-80%;
    width:50%;
    height:100%;
    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );
    transform:skewX(-20deg);
}

.link-wrap:hover::after{
    animation:shine .75s ease;
}

@keyframes shine{
    to{ left:130%; }
}

/* ================= PLACEHOLDER CARDS ================= */
/* doar desktop */

.placeholder-card{
    display:block;
    min-height:260px;
    border-radius:var(--radius-md);
    position:relative;
    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.55),
            var(--ph-bg, #f2f2f2)
        );

    box-shadow:var(--shadow-sm);
}

/* shimmer subtil */
.placeholder-card::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.35),
        transparent
    );
    opacity:.4;
}

/* tablet + mobil */
@media(max-width:900px){
    .placeholder-card{
        display:none !important;
    }
}

/* ================= BUTTONS ================= */
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    border-radius:var(--radius-sm);
    background:var(--accent);
    color:#000;
    font-size:14px;
    font-weight:500;
    border:none;
    cursor:pointer;
    transition:opacity .2s ease, transform .2s ease;
}

.btn:hover{
    opacity:.85;
    transform:translateY(-1px);
}

/* ================= FORMS ================= */
input, textarea{
    width:100%;
    padding:12px 14px;
    border-radius:var(--radius-sm);
    border:1px solid var(--border-soft);
    font-family:inherit;
    font-size:14px;
}

input:focus, textarea:focus{
    outline:none;
    border-color:var(--accent);
}

/* ================= STATES ================= */
.loader{
    text-align:center;
    padding:60px 20px;
    font-size:15px;
    color:var(--text-muted);
}

/* ================= MOBILE TYPO ================= */
@media(max-width:900px){
    h1{font-size:32px}
    h2{font-size:26px}
}

@media(max-width:520px){
    section{
        margin:60px 0;
    }
}


