/*
Theme Name: Defend Pro PPF v2
Theme URI: https://defendproppf.com
Author: Defend Pro
Description: Fully dynamic WordPress theme for Defend Pro PPF — all content editable from backend
Version: 2.0.0
Text Domain: defendpro
*/

/* ── FONTS ──────────────────────────────────── */
@font-face {
    font-family: 'Alatsi';
    src: url('fonts/Alatsi-Regular.ttf') format('truetype');
    font-weight: 400 700;
    font-display: swap;
}

/* ── TOKENS ─────────────────────────────────── */
:root {
    --red:        #FF0000;
    --red-dark:   #D11818;
    --bg:         #171719;
    --bg-card:    #212121;
    --bg-black:   #000000;
    --white:      #FFFFFF;
    --muted:      #89939E;
    --font:       'Alatsi', sans-serif;
    --radius:     1rem;
    --trans:      all .3s cubic-bezier(.4,0,.2,1);
    --nav-h:      72px;
}

/* ── RESET ───────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: var(--font); background: var(--bg); color: var(--white); line-height: 1.6; overflow-x: hidden; }
img  { max-width: 100%; height: auto; display: block; }
a    { color: inherit; text-decoration: none; transition: var(--trans); }
ul   { list-style: none; }
button, input, textarea, select { font-family: var(--font); }
button { cursor: pointer; border: none; background: none; outline: none; }

/* ── SCROLLBAR ───────────────────────────────── */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--red-dark); border-radius: 3px; }

/* ── CONTAINER ───────────────────────────────── */
.dp-wrap { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; }
@media (min-width: 768px)  { .dp-wrap { padding: 0 3rem; } }
@media (min-width: 1024px) { .dp-wrap { padding: 0 5rem; } }

/* ── BUTTONS ─────────────────────────────────── */
.btn-red {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .85rem 2rem; background: var(--red); color: var(--white);
    font-weight: 700; font-size: .9rem; letter-spacing: .05em;
    text-transform: uppercase; border-radius: .375rem;
    border: 2px solid var(--red); transition: var(--trans);
}
.btn-red:hover { background: var(--red-dark); border-color: var(--red-dark); transform: translateY(-2px); box-shadow: 0 8px 25px rgba(255,0,0,.3); }

.btn-outline {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .85rem 2rem; background: transparent; color: var(--white);
    font-weight: 600; font-size: .9rem; letter-spacing: .05em;
    text-transform: uppercase; border-radius: .375rem;
    border: 2px solid rgba(255,255,255,.4); transition: var(--trans);
}
.btn-outline:hover { border-color: var(--red); color: #FF9090; transform: translateY(-2px); }

/* ── SECTION HELPERS ─────────────────────────── */
.sec-label { font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--red); font-weight: 600; margin-bottom: .75rem; display: block; }
.sec-title { font-size: clamp(1.75rem,4vw,3rem); font-weight: 800; text-transform: uppercase; line-height: 1.15; }
.sec-line   { width: 48px; height: 3px; background: var(--red); border-radius: 2px; margin: 1.25rem 0; }
.sec-line.center { margin: 1.25rem auto; }

/* ── FADE-IN ─────────────────────────────────── */
.dp-fade { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; }
.dp-fade.visible { opacity: 1; transform: translateY(0); }

/* ────────────────────────────────────────────────
   HEADER / NAV
───────────────────────────────────────────────── */
#dp-header {
    position: fixed; top: 0; left: 0; right: 0; z-index: 999;
    padding: 1rem 0; transition: var(--trans);
}
#dp-header.scrolled {
    background: rgba(23,23,25,.97); backdrop-filter: blur(12px);
    padding: .5rem 0; box-shadow: 0 2px 20px rgba(0,0,0,.5);
}
.dp-header-inner { display: flex; align-items: center; justify-content: space-between; }

/* Logo */
.dp-logo img { height: 37px; width: auto; }
@media (min-width: 1024px) { .dp-logo img { height: 52px; } }

/* Desktop nav */
#dp-nav { display: none; align-items: center; gap: 2rem; }
@media (min-width: 1024px) { #dp-nav { display: flex; } }

#dp-nav ul { display: flex; gap: 2rem; align-items: center; }
#dp-nav ul li a {
    font-size: 14px; color: var(--white); letter-spacing: .05em;
    position: relative; padding: .25rem 0;
}
#dp-nav ul li a::after {
    content: ''; position: absolute; bottom: -2px; left: 0;
    width: 0; height: 2px; background: var(--red); transition: width .3s;
}
#dp-nav ul li a:hover::after,
#dp-nav ul li.current-menu-item > a::after,
#dp-nav ul li.current_page_item > a::after { width: 100%; }
#dp-nav ul li a:hover,
#dp-nav ul li.current-menu-item > a,
#dp-nav ul li.current_page_item > a { color: #FF9090; }

/* Nav CTA area */
.dp-nav-cta { display: none; align-items: center; gap: 1rem; }
@media (min-width: 1024px) { .dp-nav-cta { display: flex; } }
.dp-nav-cta a.outline-btn {
    padding: .5rem 1rem; border: 1px solid rgba(255,255,255,.2);
    border-radius: .25rem; font-size: 13px; color: var(--white); transition: var(--trans);
}
.dp-nav-cta a.outline-btn:hover { border-color: var(--red-dark); color: #FF9090; }
.dp-nav-cta a.red-btn {
    padding: .5rem 1.25rem; background: var(--red); border-radius: .25rem;
    font-size: 13px; color: var(--white); font-weight: 700; transition: var(--trans);
}
.dp-nav-cta a.red-btn:hover { background: var(--red-dark); }

/* Hamburger */
#dp-burger { display: flex; flex-direction: column; gap: 5px; padding: .5rem; z-index: 1001; }
@media (min-width: 1024px) { #dp-burger { display: none; } }
#dp-burger span { display: block; width: 24px; height: 2px; background: var(--white); transition: var(--trans); transform-origin: center; }
#dp-burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#dp-burger.open span:nth-child(2) { opacity: 0; }
#dp-burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile menu */
#dp-mobile-menu {
    display: none; position: fixed; inset: 0;
    background: rgba(0,0,0,.97); z-index: 998;
    flex-direction: column; align-items: center; justify-content: center; gap: 2rem;
}
#dp-mobile-menu.open { display: flex; }
#dp-mobile-menu ul { display: flex; flex-direction: column; align-items: center; gap: 1.75rem; }
#dp-mobile-menu ul li a { font-size: 1.5rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: var(--trans); }
#dp-mobile-menu ul li a:hover { color: var(--red); }
.dp-mobile-footer { display: flex; flex-direction: column; align-items: center; gap: .75rem; margin-top: .5rem; }
.dp-mobile-footer a { font-size: .85rem; color: var(--muted); }
.dp-mobile-footer a.tel-link { color: var(--red); font-weight: 700; }

/* ────────────────────────────────────────────────
   PAGE HERO (inner pages)
───────────────────────────────────────────────── */
.dp-page-hero {
    position: relative; padding: calc(var(--nav-h) + 4rem) 0 4rem;
    background: var(--bg-black); text-align: center; overflow: hidden;
}
.dp-page-hero::after {
    content: ''; position: absolute; bottom: 0; left: 0; right: 0;
    height: 1px; background: linear-gradient(90deg, transparent, var(--red), transparent);
}
.dp-page-hero h1 { font-size: clamp(2.5rem,6vw,4.5rem); font-weight: 800; text-transform: uppercase; line-height: 1.1; }
.dp-page-hero h1 span { color: var(--red); }
.dp-page-hero p { margin-top: 1rem; color: var(--muted); max-width: 500px; margin-left: auto; margin-right: auto; }

/* ────────────────────────────────────────────────
   HOME — HERO
───────────────────────────────────────────────── */
#dp-hero {
    position: relative; min-height: 100vh;
    display: flex; align-items: center; overflow: hidden;
}
.dp-hero-bg { position: absolute; inset: 0; }
.dp-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.dp-hero-bg::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.55) 60%, rgba(23,23,25,.3) 100%);
}
.dp-hero-content { position: relative; z-index: 1; padding-top: var(--nav-h); max-width: 700px; }
.dp-hero-eyebrow { font-size: 13px; letter-spacing: .2em; color: var(--red); text-transform: uppercase; font-weight: 600; margin-bottom: 1rem; }
.dp-hero-title { font-size: clamp(2.5rem,7vw,5rem); font-weight: 800; line-height: 1.1; text-transform: uppercase; margin-bottom: 1.5rem; }
.dp-hero-title .hl { color: var(--red); }
.dp-hero-desc { font-size: clamp(.95rem,2vw,1.05rem); color: rgba(255,255,255,.75); max-width: 520px; line-height: 1.75; margin-bottom: 2.5rem; }
.dp-hero-btns { display: flex; gap: 1rem; flex-wrap: wrap; }

.dp-hero-chips { position: absolute; bottom: 2rem; left: 0; right: 0; z-index: 1; }
.dp-hero-chips-inner { display: flex; gap: 1rem; overflow-x: auto; padding-bottom: .5rem; scrollbar-width: none; }
.dp-hero-chips-inner::-webkit-scrollbar { display: none; }
.dp-chip {
    flex-shrink: 0; display: flex; align-items: center; gap: .5rem;
    background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1);
    backdrop-filter: blur(10px); border-radius: 2rem;
    padding: .5rem 1rem; font-size: 12px; color: rgba(255,255,255,.8); white-space: nowrap;
}
.dp-chip-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--red); flex-shrink: 0; }

/* ────────────────────────────────────────────────
   HOME — FEATURES GRID
───────────────────────────────────────────────── */
#dp-features { padding: 6rem 0; background: var(--bg); }
.dp-features-header { text-align: center; margin-bottom: 4rem; }
.dp-features-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 640px)  { .dp-features-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .dp-features-grid { grid-template-columns: repeat(4,1fr); } }

.dp-feature-card {
    background: var(--bg-card); border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--radius); padding: 2rem; transition: var(--trans); position: relative; overflow: hidden;
}
.dp-feature-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--red), transparent); opacity: 0; transition: opacity .3s;
}
.dp-feature-card:hover { border-color: rgba(255,0,0,.2); transform: translateY(-4px); box-shadow: 0 20px 40px rgba(0,0,0,.4); }
.dp-feature-card:hover::before { opacity: 1; }
.dp-feature-icon { width: 48px; height: 48px; background: rgba(255,0,0,.1); border: 1px solid rgba(255,0,0,.15); border-radius: .75rem; display: flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; font-size: 1.25rem; }
.dp-feature-card h3 { font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .75rem; }
.dp-feature-card p { font-size: .875rem; color: var(--muted); line-height: 1.65; }

/* ────────────────────────────────────────────────
   HOME — PRODUCT
───────────────────────────────────────────────── */
#dp-product { padding: 6rem 0; background: var(--bg-black); position: relative; overflow: hidden; }
#dp-product::before { content: ''; position: absolute; top: -100px; right: -100px; width: 500px; height: 500px; border-radius: 50%; background: radial-gradient(circle, rgba(255,0,0,.05) 0%, transparent 70%); pointer-events: none; }
.dp-product-inner { display: grid; grid-template-columns: 1fr; gap: 4rem; align-items: center; }
@media (min-width: 1024px) { .dp-product-inner { grid-template-columns: 1fr 1fr; } }
.dp-product-img { position: relative; border-radius: var(--radius); overflow: hidden; }
.dp-product-img img { width: 100%; height: 450px; object-fit: cover; transition: transform .6s; }
.dp-product-img:hover img { transform: scale(1.05); }
.dp-product-badge { position: absolute; top: 1.5rem; right: 1.5rem; background: var(--red); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: .4rem .9rem; border-radius: 2rem; }
.dp-specs { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin: 2rem 0; }
.dp-spec { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); border-radius: .75rem; padding: 1rem; }
.dp-spec-label { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); margin-bottom: .25rem; }
.dp-spec-value { font-size: 1rem; font-weight: 700; }
.dp-spec-value.red { color: var(--red); }

/* ────────────────────────────────────────────────
   HOME — GALLERY PREVIEW
───────────────────────────────────────────────── */
#dp-gallery-preview { padding: 6rem 0; background: var(--bg); }
.dp-gallery-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; margin-top: 3rem; }
@media (min-width: 640px)  { .dp-gallery-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .dp-gallery-grid { grid-template-columns: repeat(3,1fr); } }
.dp-gallery-item { position: relative; border-radius: var(--radius); overflow: hidden; aspect-ratio: 4/3; cursor: zoom-in; }
.dp-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.dp-gallery-item:hover img { transform: scale(1.08); }
.dp-gallery-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.7) 0%, transparent 60%); opacity: 0; transition: opacity .3s; display: flex; align-items: flex-end; padding: 1.25rem; }
.dp-gallery-item:hover .dp-gallery-overlay { opacity: 1; }
.dp-gallery-overlay span { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.dp-gallery-cta { text-align: center; margin-top: 3rem; }

/* ────────────────────────────────────────────────
   HOME — TESTIMONIALS
───────────────────────────────────────────────── */
#dp-testimonials { padding: 6rem 0; background: var(--bg-card); }
.dp-testi-header { text-align: center; margin-bottom: 4rem; }
.dp-testi-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 768px)  { .dp-testi-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .dp-testi-grid { grid-template-columns: repeat(3,1fr); } }
.dp-testi-card { background: var(--bg); border: 1px solid rgba(255,255,255,.06); border-radius: var(--radius); padding: 2rem; transition: var(--trans); }
.dp-testi-card:hover { border-color: rgba(255,0,0,.15); transform: translateY(-3px); }
.dp-stars { color: #FFD700; font-size: .95rem; margin-bottom: 1rem; letter-spacing: 2px; }
.dp-testi-text { font-size: .9rem; color: rgba(255,255,255,.75); line-height: 1.75; margin-bottom: 1.5rem; font-style: italic; }
.dp-testi-author { display: flex; align-items: center; gap: .75rem; }
.dp-testi-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--red-dark); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .9rem; flex-shrink: 0; }
.dp-testi-name { font-weight: 700; font-size: .9rem; }
.dp-testi-role { font-size: .75rem; color: var(--muted); }

/* ────────────────────────────────────────────────
   ABOUT PAGE
───────────────────────────────────────────────── */
#dp-about-story { padding: 6rem 0; background: var(--bg); }
.dp-about-inner { display: grid; grid-template-columns: 1fr; gap: 4rem; align-items: center; }
@media (min-width: 1024px) { .dp-about-inner { grid-template-columns: 1fr 1fr; } }
.dp-about-imgs { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.dp-about-img-main { grid-column: 1/-1; border-radius: var(--radius); overflow: hidden; height: 280px; }
.dp-about-img-main img, .dp-about-img-sm img { width: 100%; height: 100%; object-fit: cover; }
.dp-about-img-sm { border-radius: .75rem; overflow: hidden; height: 180px; }

.dp-about-text .entry-content p { color: rgba(255,255,255,.78); line-height: 1.85; margin-bottom: 1.25rem; font-size: .95rem; }
.dp-about-text .entry-content h2,
.dp-about-text .entry-content h3 { color: var(--white); font-size: 1.1rem; font-weight: 700; text-transform: uppercase; margin-bottom: .75rem; }
.dp-about-text .entry-content ul { padding-left: 1.25rem; list-style: disc; }
.dp-about-text .entry-content ul li { color: rgba(255,255,255,.75); margin-bottom: .4rem; font-size: .9rem; }
.dp-about-text .entry-content a { color: var(--red); }

.dp-stats { display: flex; gap: 2.5rem; margin-top: 2rem; flex-wrap: wrap; }
.dp-stat-num { font-size: 2rem; font-weight: 800; color: var(--red); }
.dp-stat-label { font-size: .7rem; letter-spacing: .15em; color: var(--muted); text-transform: uppercase; }

#dp-values { padding: 6rem 0; background: var(--bg-black); }
.dp-values-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; margin-top: 3rem; }
@media (min-width: 640px)  { .dp-values-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .dp-values-grid { grid-template-columns: repeat(3,1fr); } }
.dp-value-card { padding: 2rem; border: 1px solid rgba(255,255,255,.07); border-radius: var(--radius); background: var(--bg-card); transition: var(--trans); }
.dp-value-card:hover { border-color: rgba(255,0,0,.2); transform: translateY(-3px); }
.dp-value-num { font-size: 3rem; font-weight: 800; color: rgba(255,0,0,.12); line-height: 1; margin-bottom: 1rem; }
.dp-value-card h3 { font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .75rem; }
.dp-value-card p { font-size: .875rem; color: var(--muted); line-height: 1.65; }

/* ────────────────────────────────────────────────
   GALLERY PAGE
───────────────────────────────────────────────── */
#dp-gallery-page { padding: 5rem 0 6rem; background: var(--bg); }
.dp-gallery-full { display: grid; grid-template-columns: 1fr; gap: 1.25rem; margin-top: 3rem; }
@media (min-width: 640px)  { .dp-gallery-full { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .dp-gallery-full { grid-template-columns: repeat(3,1fr); } }
.dp-gallery-full-item { position: relative; border-radius: .75rem; overflow: hidden; aspect-ratio: 4/3; cursor: zoom-in; background: var(--bg-card); }
.dp-gallery-full-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.dp-gallery-full-item:hover img { transform: scale(1.06); }
.dp-gallery-full-item .dp-gallery-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.5); opacity: 0; transition: opacity .3s; display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.dp-gallery-full-item:hover .dp-gallery-overlay { opacity: 1; }

/* ────────────────────────────────────────────────
   CONTACT PAGE
───────────────────────────────────────────────── */
#dp-contact-page { padding: 5rem 0 6rem; background: var(--bg); }
.dp-contact-grid { display: grid; grid-template-columns: 1fr; gap: 4rem; }
@media (min-width: 1024px) { .dp-contact-grid { grid-template-columns: 1fr 1fr; } }

.dp-contact-info h2 { font-size: 1.5rem; font-weight: 700; text-transform: uppercase; margin-bottom: 1rem; }
.dp-contact-info .entry-content p { color: rgba(255,255,255,.75); line-height: 1.8; font-size: .95rem; margin-bottom: 1rem; }
.dp-contact-details { display: flex; flex-direction: column; gap: 1.25rem; margin: 2rem 0; }
.dp-contact-item { display: flex; align-items: flex-start; gap: 1rem; }
.dp-contact-icon { width: 42px; height: 42px; background: rgba(255,0,0,.1); border: 1px solid rgba(255,0,0,.15); border-radius: .625rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1rem; }
.dp-contact-label { font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: var(--muted); margin-bottom: .2rem; }
.dp-contact-value { font-size: .95rem; font-weight: 500; }
.dp-contact-value a { color: var(--white); }
.dp-contact-value a:hover { color: #FF9090; }
.dp-contact-img { border-radius: var(--radius); overflow: hidden; margin-top: 1.5rem; }
.dp-contact-img img { width: 100%; height: 220px; object-fit: cover; }

.dp-contact-form-box { background: var(--bg-card); border: 1px solid rgba(255,255,255,.07); border-radius: var(--radius); padding: 2.5rem; }
.dp-contact-form-box h3 { font-size: 1.1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 1.75rem; }
.dp-field { margin-bottom: 1.25rem; }
.dp-label { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: .5rem; }
.dp-input, .dp-textarea, .dp-select {
    width: 100%; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
    border-radius: .5rem; padding: .875rem 1rem; color: var(--white); font-size: .9rem;
    font-family: var(--font); transition: var(--trans); resize: none;
}
.dp-input::placeholder, .dp-textarea::placeholder { color: rgba(255,255,255,.25); }
.dp-input:focus, .dp-textarea:focus, .dp-select:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(255,0,0,.08); outline: none; }
.dp-select { appearance: none; cursor: pointer; }
.dp-grid-2 { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 600px) { .dp-grid-2 { grid-template-columns: 1fr 1fr; } }
.dp-submit {
    width: 100%; padding: 1rem; background: var(--red); color: var(--white);
    font-family: var(--font); font-weight: 700; font-size: .9rem; letter-spacing: .1em;
    text-transform: uppercase; border-radius: .5rem; border: 2px solid var(--red);
    cursor: pointer; transition: var(--trans); margin-top: .5rem;
}
.dp-submit:hover { background: var(--red-dark); border-color: var(--red-dark); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(255,0,0,.25); }
.dp-submit:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.dp-msg { margin-top: 1rem; padding: .875rem 1rem; border-radius: .5rem; font-size: .875rem; display: none; }
.dp-msg.ok  { display:block; background:rgba(20,83,45,.3);  border:1px solid rgba(22,163,74,.4);  color:#86efac; }
.dp-msg.err { display:block; background:rgba(127,29,29,.3); border:1px solid rgba(220,38,38,.4); color:#fca5a5; }

/* ── wpcf7 overrides ─── */
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 select, .wpcf7 textarea { width:100%; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:.5rem; padding:.875rem 1rem; color:var(--white); font-family:var(--font); font-size:.9rem; transition:var(--trans); resize:none; }
.wpcf7 input[type=text]:focus, .wpcf7 input[type=email]:focus, .wpcf7 input[type=tel]:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { border-color:var(--red); outline:none; box-shadow:0 0 0 3px rgba(255,0,0,.08); }
.wpcf7 input[type=submit] { width:100%; padding:1rem; background:var(--red); color:var(--white); font-family:var(--font); font-weight:700; font-size:.9rem; letter-spacing:.1em; text-transform:uppercase; border-radius:.5rem; border:2px solid var(--red); cursor:pointer; transition:var(--trans); }
.wpcf7 input[type=submit]:hover { background:var(--red-dark); border-color:var(--red-dark); }
.wpcf7-not-valid-tip { color:#fca5a5; font-size:.8rem; margin-top:.25rem; display:block; }
.wpcf7-response-output { margin-top:1rem; padding:.75rem 1rem; border-radius:.5rem; font-size:.85rem; border:1px solid; }

/* ────────────────────────────────────────────────
   LIGHTBOX
───────────────────────────────────────────────── */
#dp-lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,.96); z-index:9999; align-items:center; justify-content:center; }
#dp-lightbox.open { display:flex; }
#dp-lightbox img { max-width:90vw; max-height:88vh; object-fit:contain; border-radius:.5rem; }
#dp-lightbox-close { position:absolute; top:1.5rem; right:1.5rem; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; font-size:1.2rem; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--trans); }
#dp-lightbox-close:hover { background:var(--red); }
#dp-lb-prev, #dp-lb-next { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; font-size:1.3rem; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--trans); }
#dp-lb-prev { left:1.5rem; } #dp-lb-next { right:1.5rem; }
#dp-lb-prev:hover, #dp-lb-next:hover { background:var(--red); }
#dp-lb-caption { position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); font-size:.85rem; color:rgba(255,255,255,.7); letter-spacing:.05em; white-space:nowrap; }

/* ────────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────────── */
#dp-footer { background:var(--bg-black); padding:4rem 0 2rem; border-top:1px solid rgba(255,255,255,.06); }
.dp-footer-grid { display:grid; grid-template-columns:1fr; gap:3rem; margin-bottom:3rem; }
@media (min-width:768px) { .dp-footer-grid { grid-template-columns:2fr 1fr 1fr 1fr; gap:2rem; } }

.dp-footer-logo img { height:40px; width:auto; margin-bottom:1rem; }
.dp-footer-desc { font-size:.875rem; color:var(--muted); line-height:1.75; max-width:260px; margin-bottom:1.5rem; }
.dp-footer-social { display:flex; gap:.75rem; }
.dp-social-link { width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color:var(--muted); transition:var(--trans); }
.dp-social-link:hover { background:var(--red); border-color:var(--red); color:#fff; transform:translateY(-2px); }
.dp-footer-col-title { font-size:11px; letter-spacing:.2em; text-transform:uppercase; font-weight:700; margin-bottom:1.25rem; }
.dp-footer-links { display:flex; flex-direction:column; gap:.65rem; }
.dp-footer-links a { font-size:.875rem; color:var(--muted); transition:var(--trans); }
.dp-footer-links a:hover { color:#FF9090; padding-left:4px; }
.dp-footer-contact { display:flex; flex-direction:column; gap:.85rem; }
.dp-footer-contact-item { display:flex; align-items:flex-start; gap:.6rem; font-size:.875rem; color:var(--muted); }
.dp-footer-contact-item a { color:var(--muted); }
.dp-footer-contact-item a:hover { color:#FF9090; }

.dp-footer-bar { border-top:1px solid rgba(255,255,255,.06); padding-top:1.5rem; display:flex; flex-direction:column; gap:.5rem; align-items:center; text-align:center; }
@media (min-width:768px) { .dp-footer-bar { flex-direction:row; justify-content:space-between; text-align:left; } }
.dp-footer-bar p { font-size:.8rem; color:rgba(255,255,255,.3); }

/* ── Scroll-to-top ─── */
#dp-totop { position:fixed; bottom:2rem; right:2rem; width:44px; height:44px; background:var(--red); border-radius:50%; display:none; align-items:center; justify-content:center; cursor:pointer; z-index:100; border:none; color:#fff; font-size:1.1rem; box-shadow:0 4px 15px rgba(255,0,0,.3); transition:var(--trans); }
#dp-totop.show { display:flex; }
#dp-totop:hover { background:var(--red-dark); transform:translateY(-3px); }

/* ────────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────────── */
@media (max-width:639px) {
    .dp-hero-btns { flex-direction:column; }
    .dp-stats { gap:1.5rem; }
}
