/* ═══════════════════════════════════════════
   CAPAMOL — Cámara Paraguaya de Molineros
   Custom Website Styles — HD Optimized
   ═══════════════════════════════════════════ */

:root {
    --cap-blue:      #0d4f8c;
    --cap-blue-dark: #062b52;
    --cap-blue-mid:  #115ea3;
    --cap-blue-pale: #e3f0fc;
    --cap-blue-xpale:#f0f6fd;
    --cap-white:     #ffffff;
    --cap-text:      #091e33;
    --cap-muted:     #2a4a68;
    --cap-border:    #c4daf0;
    --cap-gold:      #d4a828;
}

/* ─── GLOBAL TYPOGRAPHY ─── */
.cap-homepage {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--cap-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "kern" 1, "liga" 1;
}

/* ─── HERO ─── */
.cap-hero {
    min-height: 100vh;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center;
    padding: 10rem 6vw 5rem;
    background: var(--cap-white);
    border-bottom: 1px solid var(--cap-border);
    position: relative;
    overflow: hidden;
}
.cap-hero::before {
    content:'';
    position:absolute; top:0; left:0; right:0; height:5px;
    background: linear-gradient(90deg, var(--cap-blue-dark), var(--cap-blue-mid), var(--cap-blue));
}
.cap-hero-bg-text {
    position:absolute;
    font-family:'Anton',sans-serif;
    font-size: 28vw; letter-spacing:-0.02em;
    color: rgba(21,101,192,0.04);
    top:50%; left:50%; transform:translate(-50%,-50%);
    pointer-events:none; white-space:nowrap; z-index:0;
    user-select:none;
}
.cap-hero-content { position:relative; z-index:1; max-width:900px; }
.cap-hero-logo {
    height: 120px; width: auto; margin: 0 auto 2.5rem;
    display:block;
}
.cap-hero-eyebrow {
    font-size: 0.85rem; font-weight:700;
    letter-spacing: 0.35em; text-transform: uppercase;
    color: var(--cap-blue-mid); margin-bottom: 1.2rem;
}
.cap-hero-title {
    font-family: 'Anton', sans-serif;
    font-size: clamp(3.5rem, 8vw, 7rem);
    letter-spacing: 0.06em;
    color: var(--cap-blue-dark);
    line-height: 1; margin-bottom: 0.8rem;
}
.cap-hero-title span { color: var(--cap-blue); }
.cap-hero-divider {
    width: 70px; height: 5px;
    background: var(--cap-blue);
    margin: 1.6rem auto;
    border-radius: 3px;
}
.cap-hero-desc {
    font-size: 1.15rem; line-height: 1.9; font-weight:400;
    color: var(--cap-muted); max-width:640px; margin:0 auto 2.8rem;
}
.cap-hero-btns { display:flex; gap:1.2rem; justify-content:center; flex-wrap:wrap; }
.cap-btn-primary {
    background: var(--cap-blue); color: var(--cap-white) !important;
    padding:1rem 2.6rem; border-radius:5px;
    font-size:0.9rem; font-weight:700;
    letter-spacing:0.14em; text-transform:uppercase;
    text-decoration:none; transition:all 0.25s;
    box-shadow: 0 4px 16px rgba(21,101,192,0.3);
}
.cap-btn-primary:hover { background:var(--cap-blue-dark); transform:translateY(-2px); box-shadow:0 8px 28px rgba(21,101,192,0.35); }
.cap-btn-outline {
    border: 2px solid var(--cap-blue); color: var(--cap-blue) !important;
    padding:0.95rem 2.6rem; border-radius:5px;
    font-size:0.9rem; font-weight:700;
    letter-spacing:0.14em; text-transform:uppercase;
    text-decoration:none; transition:all 0.25s;
}
.cap-btn-outline:hover { background:var(--cap-blue); color:var(--cap-white) !important; }

/* Hero stats */
.cap-hero-stats {
    display:flex; justify-content:center; gap:0; margin-top:3.5rem;
    border: 1px solid var(--cap-border); border-radius:10px;
    overflow:hidden; max-width:680px; margin-left:auto; margin-right:auto;
    background: var(--cap-white);
    box-shadow: 0 2px 12px rgba(21,101,192,0.06);
}
.cap-hero-stat {
    flex:1; padding:1.5rem 1.2rem; text-align:center;
    border-right: 1px solid var(--cap-border);
}
.cap-hero-stat:last-child { border-right:none; }
.cap-hero-stat-num {
    font-family:'Anton',sans-serif; font-size:2.5rem;
    color: var(--cap-blue); letter-spacing:0.04em; line-height:1;
}
.cap-hero-stat-label {
    font-size:0.75rem; font-weight:600;
    letter-spacing:0.1em; text-transform:uppercase;
    color:var(--cap-muted); margin-top:0.4rem;
}

/* ─── SECTION BASE ─── */
.cap-section { padding: 7rem 6vw; }
.cap-section.cap-bg-pale { background: var(--cap-blue-xpale); }
.cap-section.cap-bg-blue {
    background: #071f36;
    color: var(--cap-white);
}
.cap-section.cap-bg-dark {
    background: var(--cap-blue-dark);
    color: var(--cap-white);
}
.cap-section-header { text-align:center; margin-bottom:4rem; }
.cap-s-eyebrow {
    font-size:0.8rem; font-weight:700;
    letter-spacing:0.35em; text-transform:uppercase;
    color: var(--cap-blue); margin-bottom:0.8rem;
    display:flex; align-items:center; justify-content:center; gap:0.7rem;
}
.cap-s-eyebrow::before, .cap-s-eyebrow::after {
    content:''; flex:0 0 28px; height:2px; background:var(--cap-blue);
}
.cap-section.cap-bg-blue .cap-s-eyebrow,
.cap-section.cap-bg-dark .cap-s-eyebrow {
    color: rgba(255,255,255,0.65);
}
.cap-section.cap-bg-blue .cap-s-eyebrow::before,
.cap-section.cap-bg-blue .cap-s-eyebrow::after,
.cap-section.cap-bg-dark .cap-s-eyebrow::before,
.cap-section.cap-bg-dark .cap-s-eyebrow::after {
    background: rgba(255,255,255,0.4);
}
.cap-s-title {
    font-family:'Anton',sans-serif;
    font-size:clamp(2.2rem,4.5vw,3.4rem);
    letter-spacing:0.04em; line-height:1.1;
    color: var(--cap-blue-dark);
}
.cap-section.cap-bg-blue .cap-s-title,
.cap-section.cap-bg-dark .cap-s-title { color:var(--cap-white); }
.cap-s-title span { color:var(--cap-blue); }
.cap-section.cap-bg-blue .cap-s-title span,
.cap-section.cap-bg-dark .cap-s-title span { color: rgba(255,255,255,0.75); }
.cap-s-lead {
    font-size:1.1rem; line-height:1.9; color:var(--cap-muted);
    max-width:650px; margin:1.2rem auto 0;
}
.cap-section.cap-bg-blue .cap-s-lead,
.cap-section.cap-bg-dark .cap-s-lead { color:rgba(255,255,255,0.75); }

/* ─── ABOUT ─── */
.cap-about-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center;
}
.cap-about-body .cap-s-eyebrow { justify-content:flex-start; }
.cap-about-body .cap-s-eyebrow::before { display:none; }
.cap-about-body .cap-s-title { text-align:left; }
.cap-about-body .cap-s-lead { margin-left:0; text-align:left; }
.cap-about-list {
    list-style:none; margin-top:2rem; padding:0;
    display:flex; flex-direction:column; gap:0.85rem;
}
.cap-about-list li {
    display:flex; align-items:flex-start; gap:0.9rem;
    font-size:1.02rem; line-height:1.7; color:var(--cap-muted);
}
.cap-about-list li::before {
    content:''; flex-shrink:0;
    width:8px; height:8px; border-radius:50%;
    background:var(--cap-blue); margin-top:8px;
}
.cap-about-btn { margin-top:2.8rem; }
.cap-about-visual { position:relative; }
.cap-about-img-frame {
    width:100%; aspect-ratio:4/5;
    border-radius:10px; overflow:hidden;
    border:1px solid var(--cap-border);
    box-shadow:0 10px 48px rgba(21,101,192,0.14);
    background: var(--cap-blue-pale);
    display:flex; align-items:center; justify-content:center;
}
.cap-about-img-frame img {
    width:100%; height:100%; object-fit:cover; object-position:top center;
    display:block;
}
.cap-about-badge {
    position:absolute; bottom:-1.2rem; left:-1.2rem;
    background:var(--cap-blue); color:var(--cap-white);
    padding:1.4rem 1.8rem; border-radius:8px;
    box-shadow:0 8px 32px rgba(21,101,192,0.35);
    text-align:center;
}
.cap-about-badge-num {
    font-family:'Anton',sans-serif; font-size:2.6rem;
    letter-spacing:0.04em; line-height:1;
}
.cap-about-badge-label {
    font-size:0.72rem; font-weight:600;
    letter-spacing:0.15em; text-transform:uppercase;
    opacity:0.85; margin-top:0.3rem;
}

/* ─── MOLINOS ─── */
.cap-molinos-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
    gap:1.4rem;
    margin-top:3rem;
}
.cap-molino-card {
    background:var(--cap-white);
    border:1.5px solid var(--cap-border);
    border-radius:10px;
    padding:1.6rem 1.2rem 1.1rem;
    display:flex; flex-direction:column; align-items:center; gap:0.9rem;
    transition:all 0.28s cubic-bezier(.34,1.3,.64,1);
    box-shadow:0 2px 10px rgba(21,101,192,0.05);
}
.cap-molino-card:hover {
    border-color:var(--cap-blue);
    box-shadow:0 12px 36px rgba(21,101,192,0.16);
    transform:translateY(-5px);
}
.cap-molino-img {
    width:160px; height:90px;
    display:flex; align-items:center; justify-content:center;
}
.cap-molino-img img {
    max-width:160px; max-height:90px;
    width:auto; height:auto; object-fit:contain;
}
.cap-molino-name {
    font-size:0.75rem; font-weight:700;
    letter-spacing:0.1em; text-transform:uppercase;
    color:var(--cap-text); text-align:center;
    padding-bottom:0.2rem;
}

/* ─── TEAM ─── */
.cap-team-grid {
    display:grid; grid-template-columns:repeat(3,1fr);
    gap:2.5rem; max-width:1140px; margin:0 auto;
}
.cap-team-card {
    background:var(--cap-white);
    border-radius:10px; overflow:hidden;
    border:1.5px solid var(--cap-border);
    box-shadow:0 4px 20px rgba(21,101,192,0.07);
    transition:all 0.3s;
}
.cap-team-card:hover {
    transform:translateY(-7px);
    box-shadow:0 20px 52px rgba(21,101,192,0.16);
    border-color:var(--cap-blue);
}
.cap-team-photo {
    width:100%; aspect-ratio:1/1.15;
    object-fit:cover; object-position:top center;
    display:block; transition:transform 0.5s;
}
.cap-team-card:hover .cap-team-photo { transform:scale(1.04); }
.cap-team-info {
    padding:1.6rem 1.8rem 2rem;
    border-top:4px solid var(--cap-blue);
}
.cap-team-role {
    font-size:0.72rem; font-weight:700;
    letter-spacing:0.25em; text-transform:uppercase;
    color:var(--cap-blue); display:block; margin-bottom:0.45rem;
}
.cap-team-name {
    font-family:'Anton',sans-serif; font-size:1.55rem;
    letter-spacing:0.04em; color:var(--cap-blue-dark);
    margin-bottom:0.8rem; line-height:1.2;
}
.cap-team-bio { font-size:0.95rem; line-height:1.8; color:var(--cap-muted); }

/* ─── CONTACT ─── */
.cap-contact-grid {
    display:grid; grid-template-columns:1fr 1fr;
    gap:5rem; align-items:start;
}
.cap-contact-body .cap-s-eyebrow { justify-content:flex-start; }
.cap-contact-body .cap-s-eyebrow::before { display:none; }
.cap-contact-body .cap-s-title { text-align:left; color:var(--cap-white); }
.cap-contact-body .cap-s-lead { margin-left:0; text-align:left; }
.cap-contact-items { margin-top:2.2rem; display:flex; flex-direction:column; gap:1.4rem; }
.cap-contact-item { display:flex; gap:1rem; align-items:flex-start; }
.cap-contact-icon {
    flex-shrink:0; width:42px; height:42px; border-radius:8px;
    background:rgba(255,255,255,0.15);
    display:flex; align-items:center; justify-content:center;
    margin-top:2px;
}
.cap-contact-icon svg { width:18px; height:18px; stroke:white; fill:none; stroke-width:1.8; }
.cap-contact-label {
    font-size:0.72rem; font-weight:700;
    letter-spacing:0.18em; text-transform:uppercase;
    color:rgba(255,255,255,0.55); margin-bottom:0.2rem;
}
.cap-contact-val { font-size:1rem; color:rgba(255,255,255,0.92); line-height:1.6; font-weight:500; }
.cap-contact-form { display:flex; flex-direction:column; gap:1.1rem; }
.cap-frow { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.cap-fg { display:flex; flex-direction:column; gap:0.35rem; }
.cap-fg label {
    font-size:0.72rem; font-weight:700;
    letter-spacing:0.18em; text-transform:uppercase;
    color:rgba(255,255,255,0.55);
}
.cap-fg input, .cap-fg textarea {
    background:rgba(255,255,255,0.1); border:1.5px solid rgba(255,255,255,0.2);
    border-radius:6px; padding:0.9rem 1.1rem; color:white;
    font-family:'Montserrat',sans-serif; font-size:1rem; font-weight:400;
    outline:none; width:100%; transition:border-color 0.2s, background 0.2s;
}
.cap-fg input::placeholder, .cap-fg textarea::placeholder { color:rgba(255,255,255,0.35); }
.cap-fg input:focus, .cap-fg textarea:focus { border-color:rgba(255,255,255,0.6); background:rgba(255,255,255,0.15); }
.cap-fg textarea { min-height:120px; resize:vertical; }
.cap-btn-submit {
    background:var(--cap-white); color:var(--cap-blue);
    border:none; border-radius:6px; padding:1rem;
    font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:700;
    letter-spacing:0.15em; text-transform:uppercase;
    cursor:pointer; transition:all 0.25s;
    box-shadow:0 4px 16px rgba(0,0,0,0.14);
}
.cap-btn-submit:hover { background:var(--cap-gold); color:white; transform:translateY(-2px); }

/* ─── FOOTER ─── */
.cap-footer {
    background:var(--cap-blue-dark);
    padding:2.8rem 6vw;
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:1.5rem;
    border-top: 3px solid var(--cap-blue);
}
.cap-footer-brand { display:flex; align-items:center; gap:1rem; }
.cap-footer-logo { height:52px; width:auto; border-radius:6px; opacity:0.95; }
.cap-footer-name {
    font-family:'Anton',sans-serif; font-size:1.45rem;
    letter-spacing:0.1em; color:white;
}
.cap-footer-copy { font-size:0.82rem; color:rgba(255,255,255,0.35); }
.cap-footer-links { display:flex; gap:2rem; }
.cap-footer-links a {
    font-size:0.82rem; font-weight:500;
    color:rgba(255,255,255,0.45) !important;
    text-decoration:none; letter-spacing:0.08em; transition:color 0.2s;
}
.cap-footer-links a:hover { color:rgba(255,255,255,0.95) !important; }

/* ─── ANIMATIONS ─── */
@keyframes capFadeUp {
    from { opacity:0; transform:translateY(24px); }
    to   { opacity:1; transform:translateY(0); }
}
.cap-hero-content > * { animation:capFadeUp 0.65s ease both; }
.cap-hero-logo     { animation-delay:0s; }
.cap-hero-eyebrow  { animation-delay:0.06s; }
.cap-hero-title    { animation-delay:0.12s; }
.cap-hero-divider  { animation-delay:0.18s; }
.cap-hero-desc     { animation-delay:0.24s; }
.cap-hero-btns     { animation-delay:0.3s; }
.cap-hero-stats    { animation-delay:0.38s; }
.cap-reveal { opacity:1; transform:translateY(0); transition:opacity 0.65s ease, transform 0.65s ease; }
.cap-reveal.cap-animate-init { opacity:0; transform:translateY(24px); }
.cap-reveal.cap-visible { opacity:1; transform:translateY(0); }

/* ─── RESPONSIVE ─── */
@media (max-width:960px) {
    .cap-about-grid, .cap-contact-grid { grid-template-columns:1fr; gap:3rem; }
    .cap-team-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
    .cap-team-grid { grid-template-columns:1fr; }
    .cap-molinos-grid { grid-template-columns:repeat(2,1fr); }
    .cap-frow { grid-template-columns:1fr; }
    .cap-hero-stats { flex-direction:column; max-width:280px; }
    .cap-hero-stat { border-right:none; border-bottom:1px solid var(--cap-border); }
    .cap-hero-stat:last-child { border-bottom:none; }
}
/* HiDPI / Retina screens */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .cap-homepage {
        -webkit-font-smoothing: subpixel-antialiased;
    }
}

/* ─── CRITICAL: Force content visibility ─── */
.cap-homepage { display: block !important; visibility: visible !important; opacity: 1 !important; }
.cap-hero { display: flex !important; visibility: visible !important; opacity: 1 !important; }
.cap-section { display: block !important; visibility: visible !important; opacity: 1 !important; }
.cap-nav { display: flex !important; visibility: visible !important; opacity: 1 !important; }
.cap-footer { display: flex !important; visibility: visible !important; opacity: 1 !important; }
.cap-wa-float { display: flex !important; visibility: visible !important; opacity: 1 !important; }
#wrap.oe_empty, #wrap.oe_structure { min-height: auto !important; overflow: visible !important; height: auto !important; }
#wrap { padding: 0 !important; margin: 0 !important; }

/* ─── OVERRIDES: Odoo header — show ONLY login icon ─── */
/* Hide all header items except login link */
.homepage #top .o_header_hide_on_scroll > ul.navbar-nav:first-child { display: none !important; }
.homepage #top .o_header_hide_on_scroll > a.navbar-brand { display: none !important; }
.homepage #top .justify-content-center { display: none !important; }
.homepage #top .o_header_mobile { display: none !important; }
.homepage #top nav.d-block.d-lg-none { display: none !important; }
.homepage #top .oe_structure_solo { display: none !important; }
.homepage #top .o_header_language_selector { display: none !important; }
/* Make header transparent floating top-right, only login visible */
.homepage #top {
    position: fixed !important; top: 0 !important; right: 0 !important;
    left: auto !important; width: auto !important; z-index: 1050 !important;
    background: transparent !important; border: none !important;
    box-shadow: none !important; pointer-events: none !important;
}
.homepage #top * { pointer-events: auto !important; }
.homepage #top nav.navbar {
    background: transparent !important; box-shadow: none !important;
    border: none !important; padding: 0 !important;
}
.homepage #top .o_main_nav { justify-content: flex-end !important; }
.homepage #top .o_header_hide_on_scroll {
    display: flex !important; justify-content: flex-end !important;
}
/* Style Odoo login as discrete person icon circle */
.homepage #top a[href="/web/login"] {
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; width: 40px !important;
    height: 40px !important; padding: 0 !important; border-radius: 50% !important;
    background: rgba(255,255,255,0.95) !important;
    border: 1.5px solid #c4daf0 !important; color: #2a4a68 !important;
    font-size: 0 !important; text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important; margin: 12px 16px !important;
}
.homepage #top a[href="/web/login"]:hover {
    border-color: #0d4f8c !important; color: #0d4f8c !important;
    background: #e3f0fc !important;
}
/* Hide Odoo footer on homepage */
#wrapwrap.homepage > footer { display: none !important; }
/* Hide Odoo cookie bar, edit bar for public users */
.cap-homepage .o_we_website_top_actions,
.cap-homepage #website_cookies_bar {
    z-index: 101;
}

/* ─── CUSTOM NAV ─── */
.cap-nav {
    position: fixed; top:0; left:0; right:0; z-index:1000;
    height: 94px;
    background: var(--cap-white);
    border-bottom: 2px solid var(--cap-blue);
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 6vw;
    box-shadow: 0 2px 18px rgba(21,101,192,0.1);
}
.cap-nav-brand { display:flex; align-items:center; gap:1rem; text-decoration:none; min-width:0; }
.cap-nav-logo { height: 60px; width: auto; flex-shrink:0; border-radius:6px; }
.cap-nav-brand-text { display:flex; flex-direction:column; min-width:0; }
.cap-nav-brand-name {
    font-family: 'Anton', sans-serif;
    font-size: 1.6rem; letter-spacing: 0.12em;
    color: var(--cap-blue); line-height:1.2;
    white-space: nowrap;
}
.cap-nav-brand-sub {
    display: none;
}
.cap-nav-links { display:flex; align-items:center; gap:2.5rem; list-style:none; margin:0; padding:0; }
.cap-nav-links a {
    font-size: 0.82rem; font-weight: 600;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--cap-text); text-decoration:none; transition: color 0.2s;
}
.cap-nav-links a:hover { color: var(--cap-blue); }
.cap-nav-cta {
    background: var(--cap-blue); color: var(--cap-white) !important;
    padding: 0.6rem 1.6rem; border-radius: 5px;
    transition: background 0.2s !important;
}
.cap-nav-cta:hover { background: var(--cap-blue-dark) !important; }
@media (max-width:960px) {
    .cap-nav-links { display:none; }
}

/* Form result messages */
.cap-form-result {
    margin-top: 0.5rem;
    font-size: 0.95rem;
    font-weight: 600;
}
.cap-form-result .text-success,
#s_website_form_result .text-success {
    color: #a3e4a3 !important;
}
.cap-form-result .text-danger,
#s_website_form_result .text-danger {
    color: #f5a0a0 !important;
}
/* Override Odoo form styles in our dark section */
.cap-bg-blue .s_website_form .form-control,
.cap-bg-blue .s_website_form_input {
    background: rgba(255,255,255,0.1) !important;
    border: 1.5px solid rgba(255,255,255,0.2) !important;
    border-radius: 6px !important;
    padding: 0.9rem 1.1rem !important;
    color: white !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1rem !important;
}
.cap-bg-blue .s_website_form .form-control::placeholder,
.cap-bg-blue .s_website_form_input::placeholder {
    color: rgba(255,255,255,0.35) !important;
}
.cap-bg-blue .s_website_form .form-control:focus,
.cap-bg-blue .s_website_form_input:focus {
    border-color: rgba(255,255,255,0.6) !important;
    background: rgba(255,255,255,0.15) !important;
    box-shadow: none !important;
}
.cap-bg-blue .col-form-label {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.55) !important;
    padding: 0 0 0.35rem 0 !important;
}

/* Success message */
.cap-msg-ok {
    background: #d4edda; color: #155724;
    padding: 1.1rem 2rem; text-align: center;
    font-weight: 600; font-size: 1rem;
    border-bottom: 1px solid #c3e6cb;
    position: fixed; top: 88px; left: 0; right: 0; z-index: 99;
}


/* ─── WHATSAPP FLOATING BUTTON ─── */
.cap-wa-float {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background-color: #25d366;
    border-radius: 50%;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(37, 211, 102, 0.45);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    animation: capWaPulse 2s ease-in-out infinite;
}
.cap-wa-float:hover {
    transform: scale(1.12);
    box-shadow: 0 8px 28px rgba(37, 211, 102, 0.55);
}
.cap-wa-float:active { transform: scale(0.95); }
.cap-wa-float svg { display: block; }
@keyframes capWaPulse {
    0%, 100% { box-shadow: 0 4px 16px rgba(37, 211, 102, 0.45); }
    50% { box-shadow: 0 4px 24px rgba(37, 211, 102, 0.7); }
}

/* ─── CONTACT SECTION WITHOUT FORM ─── */
.cap-contact-grid {
    grid-template-columns: 1fr !important;
    max-width: 700px;
}


/* ─── NAV WHATSAPP BUTTON ─── */
.cap-nav-wa {
    background: #25d366 !important;
    color: #fff !important;
    padding: 0.5rem 1.2rem !important;
    border-radius: 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    transition: all 0.25s !important;
    text-decoration: none !important;
}
.cap-nav-wa:hover {
    background: #1da851 !important;
    color: #fff !important;
    transform: translateY(-1px);
}
.cap-nav-wa svg {
    flex-shrink: 0;
}

/* ─── NAV LOGIN (person icon) ─── */
.cap-nav-login {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.45rem !important;
    border-radius: 50% !important;
    color: var(--cap-muted) !important;
    transition: all 0.25s !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 1.5px solid var(--cap-border) !important;
}
.cap-nav-login:hover {
    color: var(--cap-blue) !important;
    border-color: var(--cap-blue) !important;
    background: var(--cap-blue-pale) !important;
}

/* ─── WhatsApp outline button (hero) ─── */
.cap-btn-wa-outline {
    display: inline-flex !important;
    align-items: center !important;
    border-color: #25d366 !important;
    color: #25d366 !important;
}
.cap-btn-wa-outline:hover {
    background: #25d366 !important;
    color: #fff !important;
    border-color: #25d366 !important;
}

/* ─── WhatsApp solid button (about) ─── */
.cap-btn-wa-solid {
    display: inline-flex !important;
    align-items: center !important;
    background: #25d366 !important;
    box-shadow: 0 4px 16px rgba(37,211,102,0.3) !important;
}
.cap-btn-wa-solid:hover {
    background: #1da851 !important;
    box-shadow: 0 8px 28px rgba(37,211,102,0.35) !important;
}

/* ─── WhatsApp icon in contact section ─── */
.cap-contact-icon-wa {
    background: rgba(37,211,102,0.25) !important;
}
