/*
 * Stiluri homepage — toate secțiunile din mockup v6, migrate verbatim.
 * Încărcat condiționat doar pe homepage (vezi inc/setup/enqueue.php).
 * Secțiunile reutilizabile pe alte pagini se extrag în components/ la Etapele 12–13.
 */

/* ===== HERO ===== */
.hero { height: calc(100vh - 126px); min-height: 640px; position: relative; display: flex; align-items: flex-end; color: var(--white); overflow: hidden; }
.hero-bg { position: absolute; inset: 0; z-index: -2; }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; animation: slowzoom 20s ease-out forwards; }
@keyframes slowzoom { from { transform: scale(1.08); } to { transform: scale(1); } }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(33, 54, 49, .9) 0%, rgba(33, 54, 49, .3) 50%, rgba(33, 54, 49, .4) 100%); }
.hero-content { padding-bottom: 72px; max-width: 900px; }
.hero .eyebrow { color: #e0d3ba; }
/* H1 = keyword SEO, stilizat ca eyebrow (mic). Tagline-ul mare e non-heading. */
.hero .hero-eyebrow { margin: 0 0 6px; }
.hero-title { font-family: 'Fraunces'; font-size: clamp(3.8rem, 9vw, 8rem); font-weight: 300; color: var(--white); line-height: 1.04; margin: 8px 0 14px; letter-spacing: -.01em; }
.hero-title em { font-style: italic; font-weight: 400; color: #ecdcbd; }
.hero-sub { font-family: 'Fraunces'; font-style: italic; font-size: clamp(1.3rem, 2.5vw, 1.9rem); color: #ece4d6; margin-bottom: 10px; font-weight: 300; }
.hero p.lead { font-size: 1.05rem; color: #ddd6c9; max-width: 620px; margin-bottom: 36px; }
.hero-actions { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; }
.hero-scroll { position: absolute; right: 40px; bottom: 72px; writing-mode: vertical-rl; font-size: .7rem; letter-spacing: .3em; text-transform: uppercase; color: #cfc7b8; display: flex; align-items: center; gap: 14px; }
.hero-scroll::after { content: ""; width: 1px; height: 50px; background: rgba(255, 255, 255, .4); }

/* ===== GBP RIBBON ===== */
.gbp { background: var(--white); border-bottom: 1px solid rgba(33, 54, 49, .1); }
.gbp-inner { display: flex; align-items: center; justify-content: center; gap: 38px; padding: 26px 0; flex-wrap: wrap; }
.gbp-badge { display: flex; align-items: center; gap: 14px; }
.gbp-g { width: 34px; height: 34px; }
.gbp-stars { color: #f5b50a; font-size: 1.1rem; letter-spacing: 2px; }
.gbp-txt { font-size: .92rem; color: var(--green-2); }
.gbp-txt b { font-family: 'Fraunces'; font-weight: 600; font-size: 1.05rem; }
.gbp-div { width: 1px; height: 34px; background: rgba(33, 54, 49, .15); }
.gbp-rank { font-size: .86rem; color: var(--green-soft); display: flex; align-items: center; gap: 8px; }
.gbp-rank b { color: var(--gold-deep); font-weight: 500; }
.gbp-link { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--green); border-bottom: 1px solid var(--gold); padding-bottom: 3px; }

/* ===== TRUST ===== */
.trust { background: var(--green); color: var(--ivory); }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; }
.trust-item { padding: 48px 24px; border-right: 1px solid rgba(255, 255, 255, .12); }
.trust-item:last-child { border-right: none; }
.trust-item .t { font-family: 'Fraunces'; font-size: 1.7rem; font-weight: 400; color: var(--white); }
.trust-item .d { font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; color: #bdb6a7; margin-top: 5px; }

/* ===== SERVICES (editorial alternativ) ===== */
.svc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: stretch; margin-bottom: 0; }
.svc-row:nth-child(even) .svc-media { order: 2; }
.svc-media { height: 560px; overflow: hidden; }
.svc-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s ease; }
.svc-row:hover .svc-media img { transform: scale(1.05); }
.svc-text { display: flex; flex-direction: column; justify-content: center; padding: 70px 80px; background: var(--white); }
.svc-row:nth-child(even) .svc-text { background: var(--ivory-2); }
.svc-idx { font-family: 'Fraunces'; font-style: italic; font-size: 1.3rem; color: var(--gold); margin-bottom: 14px; }
.svc-text h3 { font-size: clamp(2.2rem, 3.5vw, 3.2rem); font-weight: 300; margin-bottom: 10px; }
.svc-deliver { display: inline-block; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--green); border: 1px solid var(--gold); padding: 7px 16px; margin-bottom: 22px; align-self: flex-start; }
.svc-text p { font-size: 1rem; color: var(--green-soft); margin-bottom: 20px; max-width: 460px; }
.svc-feat { list-style: none; margin-bottom: 30px; }
.svc-feat li { font-size: .92rem; color: var(--green-soft); padding: 5px 0; display: flex; gap: 10px; }
.svc-feat li::before { content: "—"; color: var(--gold); }
.svc-link { font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--green); display: inline-flex; gap: 9px; border-bottom: 1px solid var(--gold); padding-bottom: 5px; align-self: flex-start; transition: gap .3s; }
.svc-link:hover { gap: 15px; }

/* ===== ABOUT ===== */
.about { background: var(--ivory-2); }
.about-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 90px; align-items: center; }
.about-img { position: relative; }
.about-img img { width: 100%; height: 660px; object-fit: cover; }
.about-img .frame { position: absolute; top: -24px; left: -24px; right: 24px; bottom: 24px; border: 1px solid var(--gold); z-index: -1; }
.about-img .tag { position: absolute; bottom: -32px; right: -22px; background: var(--green); color: var(--ivory); padding: 26px 32px; }
.about-img .tag .n { font-family: 'Fraunces'; font-size: 2.8rem; color: #ecdcbd; line-height: 1; }
.about-img .tag .l { font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; margin-top: 4px; }
.about h2 { font-size: clamp(2.8rem, 5vw, 4.4rem); font-weight: 300; margin-bottom: 10px; }
.about h2 em { font-style: italic; color: var(--gold-deep); }
.about .lead { font-family: 'Fraunces'; font-style: italic; font-size: 1.5rem; color: var(--green-2); margin-bottom: 14px; font-weight: 300; }
.about p.body { color: var(--green-soft); margin-bottom: 18px; }
.about p.body b { color: var(--green); }
.about-feats { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 40px; margin-top: 42px; }
.af h4 { font-family: 'Fraunces'; font-size: 1.4rem; color: var(--green); margin-bottom: 5px; font-weight: 500; }
.af h4 span { color: var(--gold-deep); font-style: italic; }
.af p { font-size: .86rem; color: var(--green-soft); margin: 0; }

/* ===== SOCIAL HUB ===== */
.social { background: var(--green); color: var(--ivory); text-align: center; }
.social .eyebrow { color: #e0d3ba; }
.social .section-head h2 { color: var(--white); }
.social .section-head h2 em { color: #ecdcbd; }
.social .section-head p { color: #bdb6a7; }
.social-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.scard { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .13); padding: 44px 28px; transition: all .4s; display: block; text-align: center; }
.scard:hover { background: rgba(255, 255, 255, .09); transform: translateY(-6px); border-color: var(--gold); }
.scard-ic { width: 46px; height: 46px; margin: 0 auto 18px; fill: #ecdcbd; }
.scard h4 { font-family: 'Fraunces'; font-size: 1.45rem; font-weight: 400; color: var(--white); margin-bottom: 4px; }
.scard .h { font-size: .82rem; color: #bdb6a7; margin-bottom: 14px; }
.scard .num { font-family: 'Fraunces'; font-size: 1.7rem; color: #ecdcbd; }
.scard .num span { font-size: .78rem; font-family: 'Jost'; color: #bdb6a7; letter-spacing: .14em; text-transform: uppercase; display: block; margin-top: 2px; }
.scard .go { margin-top: 18px; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--white); display: inline-flex; gap: 7px; border-bottom: 1px solid var(--gold); padding-bottom: 4px; }
/* 5 carduri (override din mockup) */
.social-cards { grid-template-columns: repeat(5, 1fr) !important; }
.social-proof-line { font-family: 'Fraunces'; font-style: italic; font-size: 1.3rem; color: #ecdcbd; margin-top: 8px; }

/* ===== PRESS ===== */
.press { background: var(--ivory); }
.press-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px; }
.press-card { background: var(--white); border-top: 3px solid var(--gold); padding: 48px 44px; transition: all .4s; display: flex; flex-direction: column; }
.press-card:hover { transform: translateY(-6px); box-shadow: 0 30px 56px rgba(33, 54, 49, .13); }
.press-pub { font-family: 'Fraunces'; font-style: italic; font-size: 1.5rem; color: var(--gold-deep); margin-bottom: 18px; }
.press-card h3 { font-family: 'Fraunces'; font-size: 1.55rem; font-weight: 400; line-height: 1.25; color: var(--green); margin-bottom: auto; padding-bottom: 28px; }
.press-card .read { font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; color: var(--green-soft); display: inline-flex; gap: 9px; border-bottom: 1px solid var(--gold); padding-bottom: 5px; align-self: flex-start; }

/* ===== PRESS BAND: mutat în components/press.css (partajat homepage + landing-uri) ===== */

/* ===== GBP HERO (mare) ===== */
.gbphero { background: var(--white); padding: 80px 0; border-bottom: 1px solid rgba(33, 54, 49, .1); }
.gbphero-inner { max-width: 980px; margin: 0 auto; text-align: center; }
.gbphero .eyebrow { color: var(--gold-deep); }
.gbphero h2 { font-family: 'Fraunces'; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 300; color: var(--green); margin: 14px 0 8px; }
.gbphero h2 em { font-style: italic; color: var(--gold-deep); }
.gbphero .sub { color: var(--green-soft); margin-bottom: 46px; font-size: 1.05rem; }
.gbp-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid rgba(33, 54, 49, .14); }
.gbp-stat { padding: 40px 24px; border-right: 1px solid rgba(33, 54, 49, .14); }
.gbp-stat:last-child { border-right: none; }
.gbp-stat .big { font-family: 'Fraunces'; font-size: 3.4rem; font-weight: 300; color: var(--green); line-height: 1; }
.gbp-stat .gstars { color: #f5b50a; font-size: 1.4rem; letter-spacing: 3px; margin-bottom: 6px; }
.gbp-stat .lbl { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--green-soft); margin-top: 8px; }
.gbp-stat .rank-badge { display: inline-block; font-family: 'Fraunces'; font-size: 2.6rem; color: var(--gold-deep); font-style: italic; }
.gbphero-cta { margin-top: 40px; display: inline-flex; align-items: center; gap: 12px; background: var(--green); color: var(--ivory); padding: 16px 34px; border-radius: 44px; letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; transition: all .3s; }
.gbphero-cta:hover { background: var(--green-2); transform: translateY(-2px); }
.gbphero-cta svg { width: 20px; height: 20px; }
.gbp-google-row { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 30px; }
.gbp-google-row svg { width: 30px; height: 30px; }
.gbp-google-row span { font-size: .92rem; color: var(--green-soft); }

/* ===== CTA ===== */
.cta { position: relative; text-align: center; padding: 160px 0; color: var(--white); overflow: hidden; }
.cta-bg { position: absolute; inset: 0; z-index: -2; }
.cta-bg img { width: 100%; height: 100%; object-fit: cover; }
.cta::after { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(33, 54, 49, .85); }
.cta .eyebrow { color: #e0d3ba; }
.cta h2 { font-size: clamp(3rem, 6.5vw, 5.6rem); font-weight: 300; color: var(--white); margin: 16px 0 18px; }
.cta h2 em { font-style: italic; color: #ecdcbd; }
.cta p { color: #ddd6c9; max-width: 540px; margin: 0 auto 40px; font-size: 1.1rem; }
.cta-actions { display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; }

/* ===== ZONE ACOPERITE (SEO geo) ===== */
.geo { background: var(--ivory-2); }
.geo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.geo-col { background: var(--white); border-top: 3px solid var(--gold); padding: 46px 44px; }
.geo-col h3 { font-family: 'Fraunces'; font-size: 2rem; font-weight: 300; color: var(--green); margin-bottom: 6px; }
.geo-col h3 em { font-style: italic; color: var(--gold-deep); }
.geo-col .gsub { font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 20px; }
.geo-col p { font-size: .98rem; color: var(--green-soft); margin-bottom: 22px; }
.geo-tags { display: flex; flex-wrap: wrap; gap: 9px; }
.geo-tags span { font-size: .82rem; color: var(--green-2); background: var(--ivory); border: 1px solid rgba(33, 54, 49, .13); padding: 7px 14px; border-radius: 30px; }
.geo-note { text-align: center; margin-top: 44px; font-family: 'Fraunces'; font-style: italic; font-size: 1.3rem; color: var(--green-2); }

/* ===== FAQ (întrebări frecvente) ===== */
.faq { background: var(--ivory); }
.faq-list { max-width: 820px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid rgba(33, 54, 49, .14); }
.faq-item:first-child { border-top: 1px solid rgba(33, 54, 49, .14); }
.faq-q { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 4px; }
.faq-q::-webkit-details-marker { display: none; }
.faq-q h3 { font-family: 'Fraunces'; font-size: clamp(1.15rem, 2.2vw, 1.5rem); font-weight: 400; color: var(--green); margin: 0; line-height: 1.32; transition: color .3s; }
.faq-item[open] .faq-q h3, .faq-q:hover h3 { color: var(--gold-deep); }
.faq-icon { position: relative; flex-shrink: 0; width: 22px; height: 22px; }
.faq-icon::before, .faq-icon::after { content: ""; position: absolute; background: var(--gold-deep); transition: transform .3s ease, opacity .3s ease; }
.faq-icon::before { top: 10px; left: 0; width: 22px; height: 2px; }
.faq-icon::after { top: 0; left: 10px; width: 2px; height: 22px; }
.faq-item[open] .faq-icon::after { transform: rotate(90deg); opacity: 0; }
.faq-a { padding: 0 4px 30px; max-width: 680px; }
.faq-a p { font-size: 1rem; color: var(--green-soft); line-height: 1.7; margin: 0; }

/* ===== RESPONSIVE (homepage) ===== */
@media (max-width: 700px) {
    .gbp-stats { grid-template-columns: 1fr; }
    .gbp-stat { border-right: none; border-bottom: 1px solid rgba(33, 54, 49, .14); }
}
@media (max-width: 820px) {
    .geo-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .social-cards { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 920px) {
    .svc-row, .about-grid { grid-template-columns: 1fr; }
    .svc-row:nth-child(even) .svc-media { order: 0; }
    .svc-media { height: 340px; }
    .svc-text { padding: 48px 36px; }
    .social-cards, .press-grid, .about-feats, .trust-grid { grid-template-columns: 1fr 1fr; }
    .trust-item { border-right: none; border-bottom: 1px solid rgba(255, 255, 255, .12); }
    .about-img .frame { display: none; }
    .gbp-inner { gap: 18px; }
    .gbp-div { display: none; }
}
@media (max-width: 560px) {
    .social-cards { grid-template-columns: 1fr !important; }
    .press-grid, .trust-grid, .about-feats { grid-template-columns: 1fr; }
}
