/* ==========================================================================
   NPGEM SRL — custom styles on top of the inherited NOVA theme (main.css).
   Scoped under .npg-* so it never collides with the base theme.
   Brand color reused from the theme: #f16722 (NOVA orange).
   ========================================================================== */

:root { --npg-orange: #f16722; --npg-ink: #171619; }

/* ---- Hero (homepage) ---- */
.npg-hero {
    position: relative; min-height: 520px; display: flex; align-items: center; color: #fff;
    background: linear-gradient(90deg, rgba(23,22,25,.72) 0%, rgba(23,22,25,.35) 60%, rgba(23,22,25,0) 100%),
                url(/themes/vreaulanova-md/assets/img/pages/October2024/hp-nova-2025-14-04.webp) center/cover no-repeat;
}
.npg-hero h1 { color: #fff; font-size: 3rem; line-height: 1.15; margin-bottom: 18px; }
.npg-hero p { font-size: 1.2rem; max-width: 560px; margin-bottom: 26px; opacity: .95; }
.npg-hero .primary-button { margin-right: 12px; }
.npg-hero .btn-outline-hero {
    display: inline-block; color: #fff; border: 2px solid #fff; padding: 12px 28px; border-radius: 8px;
    font-family: "DM Sans Bold"; text-transform: uppercase; font-size: 14px;
}
.npg-hero .btn-outline-hero:hover { background: #fff; color: var(--npg-orange); }

/* ---- Inner-page header band ---- */
.npg-page-header {
    background: linear-gradient(90deg, #f16722 0%, #ff9153 100%); color: #fff; padding: 56px 0; margin-bottom: 0;
}
.npg-page-header h1 { color: #fff; margin-bottom: 0; }

/* ---- Generic section ---- */
.npg-section { padding: 60px 0; }
.npg-section .lead-text { font-size: 1.05rem; color: #45444a; line-height: 1.7; }

/* Alternating section background: override the inherited NOVA peach (#faebd7) with a neutral gray */
.bg-gray1 { background-color: #eaece9; border-color: rgba(0, 0, 0, .05); }

/* ---- Interactive-map placeholder ---- */
.npg-map {
    position: relative; border: 1px dashed var(--npg-orange); border-radius: 12px; background: #fafafa;
    min-height: 300px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px;
}
.npg-map .npg-map-note { color: #8c8c8c; font-size: .95rem; }

/* ---- Cards ---- */
.npg-zone-card { background: #fff; border-radius: 12px; padding: 22px; box-shadow: 0 8px 30px rgba(0,0,0,.06); }
.npg-zone-card h4 { color: var(--npg-orange); margin-bottom: 8px; }
.npg-zone-card .zone-tag { font-size: .8rem; color: #8c8c8c; }
.npg-card { background:#fff; border-radius:12px; padding:24px; box-shadow:0 8px 30px rgba(0,0,0,.06); height:100%; }
.npg-card h3, .npg-card h4 { color: var(--npg-ink); }

/* ---- Accordion (ANRE decisions / connection guide) — matches the NOVA FAQ look:
       orange header bars, white bold text, white chevron, spaced rounded items ---- */
.npg-accordion .npg-acc-item {
    border-radius: 8px; overflow: hidden; margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(241, 103, 34, .12);
}
.npg-accordion .npg-acc-head {
    width:100%; text-align:left; background: var(--npg-orange); border:0; padding:18px 22px;
    font-family:'DM Sans Bold'; font-weight:700; font-size:18px; color:#fff;
    display:flex; justify-content:space-between; align-items:center; gap:16px; cursor:pointer;
}
.npg-accordion .npg-acc-head:hover { color:#fff; opacity:.95; }
.npg-accordion .npg-acc-head .npg-acc-icon { transition: transform .2s ease; color:#fff; }
.npg-accordion .npg-acc-item.open .npg-acc-head .npg-acc-icon { transform: rotate(180deg); }
.npg-accordion .npg-acc-body { padding:18px 22px; color:#516074; line-height:1.7; background:#fff; display:none; }
.npg-accordion .npg-acc-item.open .npg-acc-body { display:block; }

/* ---- Doc / link list ---- */
.npg-doclist { list-style:none; padding:0; margin:0; }
.npg-doclist li { padding:12px 0; border-bottom:1px solid #eee; }
.npg-doclist li a { color:var(--npg-ink); font-weight:500; }
.npg-doclist li a:hover { color:var(--npg-orange); }
.npg-doclist li i { color:var(--npg-orange); margin-right:8px; }

/* ---- Testimonials ---- */
.npg-testimonial { background:#fff; border-radius:12px; padding:26px; box-shadow:0 8px 30px rgba(0,0,0,.06); height:100%; }
.npg-testimonial .stars { color:var(--npg-orange); margin-bottom:10px; }
.npg-testimonial .who { font-weight:600; margin-top:12px; }

/* ---- CTA band ---- */
.npg-cta-band { background:var(--npg-orange); color:#fff; border-radius:16px; padding:44px; text-align:center; }
.npg-cta-band h2 { color:#fff; }
.npg-cta-band .btn-white {
    display:inline-block; background:#fff; color:var(--npg-orange); padding:14px 34px; border-radius:10px;
    font-family:"DM Sans Bold"; text-transform:uppercase; font-size:15px; margin-top:8px;
}

/* ---- Forms: reference-style floating-label inputs + selects (as on vreaulanova reclamatii) ---- */
.npg-ajax-form .row { margin-bottom: 25px; }
.npg-ajax-form .input-select { border: 1.6px solid rgba(221,211,201,.6); padding-top: 24px; padding-bottom: 10px; }
.npg-ajax-form input.input-select, .npg-ajax-form textarea.input-select { cursor: text; }
.npg-ajax-form textarea.input-select { min-height: 120px; line-height: 1.6; }
/* self-contained chevron (no external CDN), matching the reference look */
.npg-ajax-form select.input-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23171619' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-color: rgba(221,211,201,.2);
}
/* honeypot: kept in the DOM for bots, removed from view/tab order for humans */
.npg-ajax-form .npg-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; pointer-events:none; }
/* submit feedback: success panel replaces the form; inline error stays with it */
.npg-form-success { align-items:center; gap:12px; background:#e7f7ec; border:1px solid #b7e4c7; color:#1a7f37; border-radius:12px; padding:20px 24px; font-weight:500; }
.npg-form-success:not(.hidden) { display:flex; }
.npg-form-success i { font-size:24px; }
.npg-form-error { margin-top:14px; color:#c1121f; font-weight:500; }

/* ---- Brand-align the inherited secondary button (was teal #45bfae) to NOVA orange ---- */
.secondary-button { border-color: var(--npg-orange); color: var(--npg-orange); }
.secondary-button:hover { background-color: var(--npg-orange); border-color: var(--npg-orange); color: #fff; }

/* ---- Footer: social icons (left) + NOVA logo (right) on ONE row. ---- */
footer .footer-social-row { display: flex; align-items: center; justify-content: space-between; gap: 16px 20px; margin-top: 8px; flex-wrap: wrap; }
footer .footer-social-row .social { display: flex; margin: 0; }
footer .footer-social-row .logo-footer { margin: 0; }
@media (min-width: 992px) { footer .footer-social-row { flex-wrap: nowrap; } }

@media (max-width: 650px) {
    .npg-hero { min-height: 460px; text-align: center; }
    .npg-hero h1 { font-size: 2.1rem; }
    .npg-hero p { margin-left:auto; margin-right:auto; }
    .npg-page-header { padding: 40px 0; }
}
