/**
 * AdRevv Hyperlocal Engine — Main Stylesheet
 * Auto-extracted from plugin inline styles
 */

/* ── LOCATION BUTTON ───────────────────────────────────────────
   Output early (wp_head priority 2) so the button is styled
   before the browser first paints — eliminates the size flash.
 ──────────────────────────────────────────────────────────────── */
.adrevv-loc-btn {
    display:        inline-flex;
    align-items:    center;
    gap:            8px;
    font-family:    'Poppins', sans-serif;
    font-size:      12px;
    font-weight:    600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color:          #ffffff;
    background:     #d32f2f;
    border:         none;
    border-radius:  3px;
    padding:        8px 14px;
    cursor:         pointer;
    transition:     background .18s;
    white-space:    nowrap;
    line-height:    1;
    height:         auto;
    box-sizing:     border-box;
    vertical-align: middle;
}
.adrevv-loc-btn:hover { background: #b71c1c; }

/* Icon — works for both <img> and <svg> */
.adrevv-loc-btn__icon {
    width:       32px;
    height:      32px;
    flex-shrink: 0;
    object-fit:  contain;
    /* Invert black logo to white on the red button */
    filter:      brightness(0) invert(1);
    display:     block;
}

/* Label — always visible on all breakpoints */
.adrevv-loc-btn__label {
    display: inline;
}

/* Mobile */
@media (max-width: 480px) {
    .adrevv-loc-btn {
        font-size: 11px;
        padding:   7px 10px;
        gap:       7px;
    }
    .adrevv-loc-btn__icon { width: 28px; height: 28px; }
}

/* Elementor mobile nav styles removed — replaced by [adrevv_nav] shortcode */

/* ── OVERLAY ────────────────────────────────────────── */
.adrevv-modal-overlay {
    display:         none;
    position:        fixed;
    inset:           0;
    background:      rgba(0,0,0,.62);
    z-index:         99999;
    align-items:     center;
    justify-content: center;
    padding:         20px;
    backdrop-filter: blur(2px);
}
.adrevv-modal-overlay.is-open { display: flex; }

/* ── MODAL CARD ─────────────────────────────────────── */
.adrevv-modal {
    background:    #ffffff;
    width:         100%;
    max-width:     380px;
    position:      relative;
    border-top:    4px solid #d32f2f;
    border-radius: 2px;
    box-shadow:    0 20px 60px rgba(0,0,0,.35);
    animation:     adrevvModalIn .18s ease;
}
@keyframes adrevvModalIn {
    from { opacity:0; transform:translateY(-12px) scale(.97); }
    to   { opacity:1; transform:translateY(0)     scale(1);   }
}

/* ── CLOSE ──────────────────────────────────────────── */
.adrevv-modal__close {
    position:    absolute;
    top:         14px;
    right:       14px;
    background:  none;
    border:      none;
    cursor:      pointer;
    color:       #999;
    padding:     4px;
    line-height: 1;
    transition:  color .15s;
}
.adrevv-modal__close:hover { color: #111; }
.adrevv-modal__close svg   { display: block; }

/* ── CONTENT ────────────────────────────────────────── */
.adrevv-modal__body {
    padding: 32px 30px 28px;
}
.adrevv-modal__eyebrow {
    font-family:    'Poppins', sans-serif;
    font-size:      10px;
    font-weight:    700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color:          #d32f2f;
    display:        block;
    margin-bottom:  8px;
}
.adrevv-modal__heading {
    font-family: 'Poppins', sans-serif;
    font-size:   20px;
    font-weight: 800;
    color:       #111111;
    line-height: 1.2;
    margin:      0 0 12px;
}
.adrevv-modal__copy {
    font-family: Georgia, serif;
    font-size:   14px;
    color:       #555555;
    line-height: 1.65;
    margin:      0 0 22px;
}
.adrevv-modal__copy strong { color: #111111; font-weight: 600; }

/* ── INPUT ROW ──────────────────────────────────────── */
.adrevv-modal__row {
    display: flex;
    gap:     8px;
}
.adrevv-modal__input {
    flex:           1;
    min-width:      0;
    padding:        11px 14px;
    font-family:    'Poppins', sans-serif;
    font-size:      16px;
    font-weight:    600;
    letter-spacing: .1em;
    border:         2px solid #e0e0e0;
    border-radius:  3px;
    outline:        none;
    transition:     border-color .15s;
    color:          #111111;
}
.adrevv-modal__input::placeholder { color: #bbb; font-weight: 400; letter-spacing: .04em; }
.adrevv-modal__input:focus         { border-color: #d32f2f; }
.adrevv-modal__submit {
    padding:        11px 20px;
    background:     #111111;
    color:          #ffffff;
    border:         none;
    border-radius:  3px;
    font-family:    'Poppins', sans-serif;
    font-size:      13px;
    font-weight:    700;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor:         pointer;
    white-space:    nowrap;
    transition:     background .15s;
    flex-shrink:    0;
}
.adrevv-modal__submit:hover            { background: #d32f2f; }
.adrevv-modal__submit:disabled         { background: #999; cursor: not-allowed; }

/* ── ERROR ──────────────────────────────────────────── */
.adrevv-modal__error {
    display:     none;
    font-family: 'Poppins', sans-serif;
    font-size:   12px;
    color:       #d32f2f;
    font-weight: 600;
    margin-top:  9px;
}
.adrevv-modal__error.is-visible { display: block; }

/* ── DIVIDER ────────────────────────────────────────── */
.adrevv-modal__divider {
    border:     none;
    border-top: 1px solid #f0f0f0;
    margin:     22px 0 14px;
}

/* ── CURRENT CITY LINE ──────────────────────────────── */
.adrevv-modal__current {
    font-family:    'Poppins', sans-serif;
    font-size:      11px;
    color:          #aaaaaa;
    text-align:     center;
    letter-spacing: .04em;
    margin:         0;
}
.adrevv-modal__current strong { color: #555555; font-weight: 600; }

/* ── MOBILE ─────────────────────────────────────────── */
@media (max-width: 480px) {
    .adrevv-modal__body { padding: 26px 22px 22px; }
}

/* BASE */
.adrevv-location-label{font-size:13px;font-weight:700;margin-bottom:7px;line-height:1.2}
.adrevv-weather{margin:10px 0}
.adrevv-weather-inner{display:flex;align-items:center;gap:10px}
.adrevv-weather-icon{font-size:20px;line-height:1}
.adrevv-weather-temp{font-size:22px;font-weight:700;line-height:1}
.adrevv-weather-cond{font-size:14px;color:#666;line-height:1.2}

/* HERO SHELL */
.adrevv-hero{display:flex;gap:15px}
.adrevv-hero-left{width:60%}
.adrevv-hero-left img{display:block;width:100%;height:auto}
.adrevv-hero-left h2{margin:10px 0 8px;line-height:1.25}
.adrevv-hero-main-excerpt{font-size:14px;color:#444;margin-top:10px;line-height:1.45}
.adrevv-hero-right{width:40%;display:flex;flex-direction:column;gap:8px}
.adrevv-hero-item{border-bottom:1px solid #e5e5e5;padding-bottom:8px;margin-bottom:8px}
.adrevv-hero-item:last-child{border:none;margin-bottom:0;padding-bottom:0}

/* DESKTOP ITEM */
.adrevv-hero-item-row{display:flex;flex-direction:column;gap:6px;width:100%}
.adrevv-hero-item-row .adrevv-hero-title{width:100%}
.adrevv-hero-item-row .adrevv-hero-title h4{
    font-size:      var(--adrevv-title-font-size, 14px);
    font-weight:    var(--adrevv-title-font-weight, 700);
    font-style:     var(--adrevv-title-font-style, normal);
    font-family:    var(--adrevv-title-font-family, inherit);
    color:          var(--adrevv-title-color, inherit);
    line-height:    var(--adrevv-title-line-height, 1.25);
    text-transform: var(--adrevv-title-text-transform, none);
    letter-spacing: var(--adrevv-title-letter-spacing, normal);
    margin:         0 0 4px;
}
.adrevv-hero-item-row .adrevv-hero-body{display:flex;flex-direction:row;gap:8px;align-items:flex-start;width:100%}
.adrevv-hero-item-row .adrevv-hero-thumb{
    width:      var(--adrevv-thumb-width, 30%);
    flex-shrink:0;
    overflow:   hidden;
}
.adrevv-hero-item-row .adrevv-hero-thumb img{width:100%;height:auto;object-fit:cover;display:block}
.adrevv-hero-item-row .adrevv-hero-text{flex:1;min-width:0}
.adrevv-hero-item-row .adrevv-hero-text .adrevv-excerpt{
    font-size:      var(--adrevv-excerpt-font-size, 12px);
    font-weight:    var(--adrevv-excerpt-font-weight, 400);
    font-style:     var(--adrevv-excerpt-font-style, normal);
    font-family:    var(--adrevv-excerpt-font-family, inherit);
    color:          var(--adrevv-excerpt-color, #555);
    line-height:    var(--adrevv-excerpt-line-height, 1.4);
    text-transform: var(--adrevv-excerpt-text-transform, none);
    letter-spacing: var(--adrevv-excerpt-letter-spacing, normal);
}

/* GRID + CARD */
.adrevv-excerpt{font-size:13px;color:#555;line-height:1.4}
.adrevv-divider{border:none;border-top:1px solid #e5e5e5;margin:30px 0}
.adrevv-section-title{font-size:18px;font-weight:700;margin-bottom:15px}
.adrevv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}
.adrevv-card{display:flex;gap:15px;border-bottom:1px solid #eee;padding-bottom:15px}
.adrevv-card img{width:140px;height:100px;object-fit:cover;display:block}
.adrevv-hero a,.adrevv-grid a{text-decoration:none;color:inherit}
.adrevv-grid-hidden{display:none}

/* TABLET */
@media(max-width:1024px){
    .adrevv-hero{flex-direction:column;gap:20px}
    .adrevv-hero-left,.adrevv-hero-right{width:100%}
    .adrevv-hero-right{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
    .adrevv-hero-item{box-sizing:border-box;border:1px solid #e5e5e5!important;padding:10px;margin-bottom:0}
    .adrevv-hero-item:last-child{border:1px solid #e5e5e5!important}
    .adrevv-hero-item-row .adrevv-hero-body{flex-direction:column;gap:8px}
    .adrevv-hero-item-row .adrevv-hero-thumb{width:100%!important;min-width:0!important;overflow:visible}
    .adrevv-hero-item-row .adrevv-hero-thumb img{width:100%!important;height:auto!important;object-fit:unset!important;display:block}
    .adrevv-hero-item-row .adrevv-hero-title h4{font-size:var(--adrevv-title-font-size-tablet, 15px)}
    .adrevv-hero-item-row .adrevv-hero-text .adrevv-excerpt{font-size:var(--adrevv-excerpt-font-size-tablet, 13px)}
}

/* MOBILE */
@media(max-width:768px){
    .adrevv-location-label{font-size:22px!important}
    .adrevv-hero{flex-direction:column;gap:20px}
    .adrevv-hero-left,.adrevv-hero-right{width:100%}
    .adrevv-hero-left h2{font-size:20px}
    .adrevv-hero-main-excerpt{font-size:15px}
    .adrevv-hero-right{display:flex;flex-direction:column;gap:20px}
    .adrevv-hero-item{box-sizing:border-box;border:none!important;border-bottom:1px solid #e5e5e5!important;padding:0 0 15px;margin-bottom:0}
    .adrevv-hero-item:last-child{border-bottom:none!important}
    .adrevv-hero-item-row .adrevv-hero-body{flex-direction:column;gap:10px}
    .adrevv-hero-item-row .adrevv-hero-thumb{width:100%!important;min-width:0!important;overflow:visible}
    .adrevv-hero-item-row .adrevv-hero-thumb img{width:100%!important;height:auto!important;object-fit:unset!important;display:block}
    .adrevv-hero-item-row .adrevv-hero-title h4{font-size:var(--adrevv-title-font-size-mobile, 18px)}
    .adrevv-hero-item-row .adrevv-hero-text .adrevv-excerpt{font-size:var(--adrevv-excerpt-font-size-mobile, 14px)}
    .adrevv-grid{grid-template-columns:1fr;gap:20px}
    .adrevv-card{flex-direction:column;gap:10px}
    .adrevv-card img{width:100%;height:auto}
}

/*
     * .adrevv-city-loop-link is the Elementor widget wrapper.
     * Declaring it a container lets font-size use cqi units
     * (container-query inline = % of container width).
     * The font scales continuously with the column width,
     * capped at 50px via clamp().
     */
    .adrevv-city-loop-link {
        container-type: inline-size;
        container-name: city-loop;
        position: relative;
        display: block;
        height: 100%;
        width: 100%;
        text-decoration: none;
    }
    .adrevv-city-loop {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-family: 'Georgia Pro Condensed', 'Georgia', serif;
        font-size: clamp(14px, 6.2cqi, 58px);
        font-weight: 700;
        text-transform: none;
        letter-spacing: -.5px;
        word-spacing: -.15em;
        text-align: center;
        white-space: nowrap;
        width: 100%;
        overflow: visible;
        line-height: 1.1;
        text-shadow: 1px 2px 4px rgba(0,0,0,.35);
    }

    /* Fallback for browsers without cqi support (Safari <16, Chrome <105) */
    @supports not (font-size: 1cqi) {
        .adrevv-city-loop {
            font-size: clamp(12px, 3.2vw, 50px);
        }
    }

    /* Colors */
    .adrevv-city-loop .adrevv-red   { color: #d32f2f !important; }
    .adrevv-city-loop .adrevv-black { color: #000 !important; }

    /* Tablet — same cqi, container is narrower so font auto-reduces */
    @media (max-width: 1024px) {
        .adrevv-city-loop { letter-spacing: .2px; }
        @supports not (font-size: 1cqi) {
            .adrevv-city-loop { font-size: clamp(12px, 3.8vw, 50px); }
        }
    }

    /* Mobile */
    @media (max-width: 768px) {
        .adrevv-city-loop { letter-spacing: 0px; }
        @supports not (font-size: 1cqi) {
            .adrevv-city-loop { font-size: clamp(12px, 4.5vw, 50px); }
        }
    }

.adrevv-wc {
    width:       100%;
    font-family: inherit;
    background:  #ffffff;
}
.adrevv-wc__heading {
    font-size:      var(--adrevv-col-heading-size,   13px);
    font-weight:    var(--adrevv-col-heading-weight, 700);
    color:          var(--adrevv-col-heading-color,  #ffffff);
    background:     var(--adrevv-col-heading-bg,     #d32f2f);
    text-transform: uppercase;
    letter-spacing: .06em;
    padding:        6px 12px;
    margin:         0;
    line-height:    1.3;
    display:        block;
}
.adrevv-wc__current {
    display:        flex;
    align-items:    center;
    gap:            16px;
    padding:        20px 0 16px;
    border-bottom:  1px solid #f0f0f0;
}
.adrevv-wc__icon { font-size:52px;line-height:1;flex-shrink:0; }
.adrevv-wc__right { flex:1;min-width:0; }
.adrevv-wc__temp { font-size:42px;font-weight:700;line-height:1;color:#111111; }
.adrevv-wc__cond { font-size:17px;color:#444444;margin-top:4px;line-height:1.3; }
.adrevv-wc__meta { display:flex;gap:16px;flex-wrap:wrap;margin-top:6px;font-size:14px;color:#777777;line-height:1.4; }
.adrevv-wc__label {
    font-size:      12px;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color:          #999999;
    padding:        14px 0 10px;
    display:        block;
}
/* HOURLY CARDS */
.adrevv-wc__hourly {
    display:               grid;
    grid-template-columns: repeat(12, 1fr);
    gap:                   8px;
    padding:               0 0 16px;
    border-bottom:         1px solid #f0f0f0;
    overflow-x:            auto;
}
.adrevv-wc__hour {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    gap:            6px;
    padding:        12px 8px;
    border:         1px solid #e5e5e5;
    border-radius:  8px;
    background:     #ffffff;
    min-width:      60px;
}
.adrevv-wc__hour-time { font-size:12px;font-weight:700;text-transform:uppercase;color:#999999;letter-spacing:.04em;white-space:nowrap; }
.adrevv-wc__hour-icon { font-size:28px;line-height:1; }
.adrevv-wc__hour-temp { font-size:21px;font-weight:700;color:#111111; }
.adrevv-wc__hour-prec { font-size:15px;color:#6aabff;font-weight:700; }
/* DAILY CARDS */
.adrevv-wc__daily {
    display:               grid;
    grid-template-columns: repeat(5, 1fr);
    gap:                   8px;
    padding:               0 0 16px;
    overflow-x:            auto;
}
.adrevv-wc__day {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    gap:            8px;
    padding:        18px 10px;
    border:         1px solid #e5e5e5;
    border-radius:  8px;
    background:     #ffffff;
    min-width:      100px;
    text-align:     center;
}
.adrevv-wc__day-name { font-size:24px;font-weight:700;color:#111111;white-space:nowrap; }
.adrevv-wc__day-icon { font-size:51px;line-height:1; }
.adrevv-wc__day-cond { font-size:20px;color:#555555;line-height:1.3; }
.adrevv-wc__day-hi   { font-size:32px;color:#d32f2f;font-weight:700; }
.adrevv-wc__day-lo   { font-size:27px;color:#6aabff;font-weight:700; }
.adrevv-wc__loading  { padding:24px 0;text-align:center;color:#aaaaaa;font-size:14px; }
@media(max-width:768px){
    .adrevv-wc__temp { font-size:36px; }
    .adrevv-wc__icon { font-size:40px; }
    .adrevv-wc__hourly { grid-template-columns:repeat(12,minmax(60px,1fr)); }
    .adrevv-wc__daily  { grid-template-columns:repeat(5,minmax(100px,1fr)); }
}

.adrevv-ws{width:100%;max-width:250px;font-family:inherit;font-size:13px;background:var(--adrevv-ws-bg,#ffffff);border:1px solid var(--adrevv-ws-border,#e5e5e5);border-radius:var(--adrevv-ws-radius,6px);overflow:hidden;box-sizing:border-box}
.adrevv-ws__header{background:var(--adrevv-ws-header-bg,#d32f2f);color:var(--adrevv-ws-header-color,#ffffff);padding:7px 10px 5px;line-height:1.2}
.adrevv-ws__label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;opacity:.85}
.adrevv-ws__city{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adrevv-ws__current{display:flex;align-items:center;gap:8px;padding:10px 10px 8px;border-bottom:1px solid #efefef}
.adrevv-ws__icon{font-size:32px;line-height:1;flex-shrink:0}
.adrevv-ws__right{flex:1;min-width:0}
.adrevv-ws__temp{font-size:26px;font-weight:700;line-height:1;color:var(--adrevv-ws-temp-color,#111111)}
.adrevv-ws__cond{font-size:12px;color:#555;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adrevv-ws__meta{font-size:11px;color:#777;margin-top:3px;display:flex;gap:8px;flex-wrap:wrap}
.adrevv-ws__section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#999;padding:6px 10px 3px}
.adrevv-ws__hourly{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #efefef;padding:0 0 8px}
.adrevv-ws__hour{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 4px 0;font-size:11px;color:#444}
.adrevv-ws__hour-time{font-size:10px;color:#888;font-weight:700;text-transform:uppercase}
.adrevv-ws__hour-icon{font-size:18px;line-height:1}
.adrevv-ws__hour-temp{font-weight:700;color:#111;font-size:12px}
.adrevv-ws__hour-prec{font-size:10px;color:#6aabff}
.adrevv-ws__daily{padding:0 0 8px}
.adrevv-ws__day{display:flex;align-items:center;padding:5px 10px;gap:6px;font-size:12px;color:#333;border-bottom:1px solid #f5f5f5}
.adrevv-ws__day:last-child{border-bottom:none}
.adrevv-ws__day-name{width:42px;font-weight:700;font-size:12px;flex-shrink:0}
.adrevv-ws__day-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center}
.adrevv-ws__day-bar{flex:1;height:4px;border-radius:2px;background:#e5e5e5;overflow:hidden;min-width:0}
.adrevv-ws__day-bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#6aabff,#d32f2f)}
.adrevv-ws__day-lo{font-size:11px;color:#6aabff;font-weight:700;flex-shrink:0}
.adrevv-ws__day-hi{font-size:11px;color:#d32f2f;font-weight:700;flex-shrink:0;min-width:28px;text-align:right}
.adrevv-ws__loading{padding:20px 10px;text-align:center;color:#aaa;font-size:12px}
@media(max-width:600px){.adrevv-ws{max-width:100%}}

.adrevv-events-list{width:100%;font-family:inherit}
.adrevv-events-list__heading{font-size:var(--adrevv-col-heading-size,13px);font-weight:var(--adrevv-col-heading-weight,700);color:var(--adrevv-col-heading-color,#ffffff);background:var(--adrevv-col-heading-bg,#d32f2f);text-transform:uppercase;letter-spacing:.06em;padding:6px 12px;margin:0;line-height:1.3;display:block}
.adrevv-events-list__item{display:flex;flex-direction:row;gap:15px;align-items:flex-start;padding:20px 0;border-bottom:1px solid #f0f0f0}
.adrevv-events-list__item:last-child{border-bottom:none}
.adrevv-events-list__img{display:block;width:30%;flex-shrink:0;line-height:0}
.adrevv-events-list__img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:opacity .2s}
.adrevv-events-list__img:hover img{opacity:.88}
.adrevv-events-list__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.adrevv-events-list__title{font-size:17px;font-weight:700;line-height:1.25;color:#111111;margin:0}
.adrevv-events-list__title a{text-decoration:none;color:inherit}
.adrevv-events-list__title a:hover{color:#d32f2f}
.adrevv-events-list__meta{font-size:16px;color:#444444;line-height:1.6;display:flex;flex-direction:column;gap:3px}
.adrevv-events-list__meta span{display:block}
.adrevv-events-list__link{display:inline-block;font-size:13px;font-weight:700;color:#d32f2f;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}
.adrevv-events-list__link:hover{text-decoration:underline}
@media(max-width:600px){
    .adrevv-events-list__item{flex-direction:column}
    .adrevv-events-list__img{width:100%}
}

.adrevv-tab-wrap{width:100%}
.adrevv-tab-bar{display:flex;gap:4px;margin-bottom:0;border-bottom:none}
.adrevv-tab-btn{padding:10px 20px;border:none;border-radius:6px 6px 0 0;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:background .2s,color .2s;background:#d32f2f;color:#ffffff !important;white-space:nowrap}
.adrevv-tab-btn:hover{background:#b71c1c;color:#ffffff !important}
.adrevv-tab-btn.active{background:#000000;color:#ffffff !important}
.adrevv-tab-wrap .adrevv-tab-panel{display:none;border-top:3px solid #000000;padding-top:20px}
.adrevv-tab-wrap .adrevv-tab-panel.active{display:block}
@media(max-width:1024px){.adrevv-tab-btn{padding:10px 14px;font-size:12px}}
@media(max-width:768px){.adrevv-tab-bar{gap:2px;flex-wrap:wrap}.adrevv-tab-btn{flex:1 1 calc(50% - 2px);padding:10px 8px;text-align:center;font-size:12px}}

.adrevv-news-col{width:100%;font-family:inherit}
.adrevv-news-col__heading{font-size:var(--adrevv-col-heading-size,13px);font-weight:var(--adrevv-col-heading-weight,700);color:var(--adrevv-col-heading-color,#ffffff);background:var(--adrevv-col-heading-bg,#d32f2f);text-transform:uppercase;letter-spacing:.06em;padding:6px 12px;margin:0;line-height:1.3;display:block}
.adrevv-news-col__list{list-style:none;margin:0;padding:0}
.adrevv-news-col__item{display:flex;flex-direction:row;gap:15px;align-items:flex-start;padding:20px 0;border-bottom:1px solid #f0f0f0}
.adrevv-news-col__item:last-child{border-bottom:none}
.adrevv-news-col__thumb{display:block;width:30%;flex-shrink:0;line-height:0}
.adrevv-news-col__thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:opacity .2s}
.adrevv-news-col__thumb:hover img{opacity:.88}
.adrevv-news-col__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.adrevv-news-col__title{font-size:17px;font-weight:700;line-height:1.25;color:#111111;margin:0}
.adrevv-news-col__title a{text-decoration:none;color:inherit}
.adrevv-news-col__title a:hover{color:#d32f2f}
.adrevv-news-col__excerpt{font-size:16px;color:#444444;line-height:1.6;margin:0}
.adrevv-news-col__cta{display:block;margin-top:24px;text-align:center}
.adrevv-news-col__cta a{display:inline-block;padding:11px 32px;background:var(--adrevv-col-btn-bg,#d32f2f);color:var(--adrevv-col-btn-color,#ffffff)!important;font-size:var(--adrevv-col-btn-size,14px);font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border-radius:var(--adrevv-col-btn-radius,4px);transition:background .2s}
.adrevv-news-col__cta a:hover{background:var(--adrevv-col-btn-hover,#b71c1c)}
@media(max-width:600px){.adrevv-news-col__item{flex-direction:column}.adrevv-news-col__thumb{width:100%}}

.adrevv-upcoming{width:100%;font-family:inherit}
.adrevv-upcoming__heading{font-size:var(--adrevv-col-heading-size,13px);font-weight:var(--adrevv-col-heading-weight,700);color:var(--adrevv-col-heading-color,#ffffff);background:var(--adrevv-col-heading-bg,#d32f2f);text-transform:uppercase;letter-spacing:.06em;padding:6px 12px;margin:0;line-height:1.3;display:block}
.adrevv-upcoming__item{display:flex;flex-direction:row;gap:15px;align-items:flex-start;padding:20px 0;border-bottom:1px solid #f0f0f0}
.adrevv-upcoming__item:last-child{border-bottom:none}
.adrevv-upcoming__img{display:block;width:30%;flex-shrink:0;line-height:0}
.adrevv-upcoming__img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.adrevv-upcoming__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.adrevv-upcoming__title{font-size:17px;font-weight:700;line-height:1.25;color:#111111;margin:0}
.adrevv-upcoming__title a{text-decoration:none;color:inherit}
.adrevv-upcoming__title a:hover{color:#d32f2f}
.adrevv-upcoming__meta{font-size:16px;color:#444444;line-height:1.6;display:flex;flex-direction:column;gap:3px}
.adrevv-upcoming__meta span{display:block}
.adrevv-upcoming__link{display:inline-block;font-size:13px;font-weight:700;color:#d32f2f;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}
.adrevv-upcoming__link:hover{text-decoration:underline}
@media(max-width:600px){.adrevv-upcoming__item{flex-direction:column}.adrevv-upcoming__img{width:100%}}

/* ── ADREVV NAV ──────────────────────────────────────────────────
   All styles scoped to .adrevv-nav so they never bleed into
   Elementor or other widgets.
 ──────────────────────────────────────────────────────────────── */

/* ── TOGGLE BUTTON ──
   .adrevv-loc-btn (from wp_head) provides: red bg, border-radius,
   Poppins 12px/600, white text, padding.
   We add: right-align, explicit sizing to match Change Location. */
.adrevv-nav {
    display:         flex;
    justify-content: flex-end;
    align-items:     center;
    width:           100%;
}
.adrevv-nav__toggle.adrevv-loc-btn {
    /* Match Change Location height exactly:
       font-size 12px + line-height 1 + padding 8px top/bottom = ~28px content + 16px padding
       Force the same box regardless of any theme resets. */
    padding:        8px 24px !important;   /* +10px each side for wider button */
    font-size:      12px !important;
    line-height:    1 !important;
    height:         auto !important;
    min-height:     0 !important;
    box-sizing:     border-box !important;
    display:        inline-flex !important;
    align-items:    center !important;
    gap:            8px !important;
}
@media (max-width: 480px) {
    .adrevv-nav__toggle.adrevv-loc-btn {
        padding:   7px 20px !important;
        font-size: 11px !important;
    }
}
.adrevv-nav__toggle-icon {
    display:     flex;
    align-items: center;
    line-height: 1;
}
.adrevv-nav__toggle svg {
    width:  20px;
    height: 20px;
    stroke: #ffffff;
}

/* ── PANEL OVERLAY ── */
.adrevv-nav__panel {
    position:   fixed;
    top:        0;
    left:       0;
    right:      0;
    width:      100vw;
    max-height: 100vh;
    z-index:    99998;
    overflow:   hidden;
    animation:  adrevvNavIn .2s ease forwards;
}
@keyframes adrevvNavIn {
    from { opacity:0; transform:translateY(-8px); }
    to   { opacity:1; transform:translateY(0);    }
}

.adrevv-nav__panel-inner {
    background:  #111111;
    border-top:  3px solid #d32f2f;
    box-shadow:  0 6px 28px rgba(0,0,0,.5);
    max-height:  85vh;
    overflow-y:  auto;
    -webkit-overflow-scrolling: touch;
}

/* ── PANEL HEADER (close button row) ── */
.adrevv-nav__panel-header {
    display:         flex;
    justify-content: flex-end;
    padding:         8px 14px;
    border-bottom:   1px solid rgba(255,255,255,.1);
}
.adrevv-nav__close {
    background:    transparent !important;
    background-color: transparent !important;
    border:        none !important;
    border-radius: 0 !important;
    color:         #ffffff !important;
    cursor:        pointer;
    padding:       6px !important;
    line-height:   1;
    transition:    opacity .15s;
    box-shadow:    none !important;
}
.adrevv-nav__close:hover,
.adrevv-nav__close:focus {
    background:    transparent !important;
    background-color: transparent !important;
    opacity: .7;
    box-shadow: none !important;
}
.adrevv-nav__close svg {
    display: block;
    width:   16px;
    height:  16px;
    stroke:  currentColor;
}

/* ── MENU LIST ── */
.adrevv-nav__list {
    list-style: none;
    margin:     0;
    padding:    0;
}
.adrevv-nav__list li {
    margin:   0;
    padding:  0;
    position: relative;
    /* thin separator between every item */
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.adrevv-nav__list > li:last-child {
    border-bottom: none;
}

/* Top-level items */
.adrevv-nav__list > li > a,
.adrevv-nav__list > li > .adrevv-nav__item-wrap > a {
    display:         block;
    font-family:     'Poppins', sans-serif;
    font-size:       14px;
    font-weight:     600;
    letter-spacing:  .06em;
    text-transform:  uppercase;
    color:           #ffffff;
    text-decoration: none;
    padding:         15px 20px;
    transition:      background .15s, color .15s;
    box-sizing:      border-box;
}
.adrevv-nav__list > li > a:hover,
.adrevv-nav__list > li.current-menu-item > a,
.adrevv-nav__list > li.current-menu-parent > a,
.adrevv-nav__list > li.current-menu-ancestor > a {
    background: #d32f2f;
    color:      #ffffff;
}

/* flex wrapper when item has children */
.adrevv-nav__item-wrap {
    display:     flex;
    align-items: stretch;
}
.adrevv-nav__item-wrap > a {
    flex: 1;
    min-width: 0;
}

/* ── SUBMENU TOGGLE (chevron only, no background) ── */
.adrevv-nav__sub-toggle {
    width:            44px;
    background:       transparent !important;
    background-color: transparent !important;
    border:           none !important;
    border-left:      1px solid rgba(255,255,255,.1) !important;
    border-radius:    0 !important;
    color:            #ffffff !important;
    cursor:           pointer;
    display:          flex;
    align-items:      center;
    justify-content:  center;
    flex-shrink:      0;
    padding:          0 !important;
    transition:       opacity .15s;
    box-shadow:       none !important;
}
.adrevv-nav__sub-toggle:hover,
.adrevv-nav__sub-toggle:focus {
    background:       transparent !important;
    background-color: transparent !important;
    opacity: .7;
    box-shadow: none !important;
}
.adrevv-nav__sub-toggle svg {
    width:        12px;
    height:       12px;
    transition:   transform .2s ease;
    stroke:       currentColor;
    stroke-width: 2.5;
    fill:         none !important;
}
.adrevv-nav__sub-toggle.is-open svg {
    transform: rotate(180deg);
}

/* ── SUB-MENU (dark gray bg, black text) ── */
.adrevv-nav__list .sub-menu {
    list-style: none;
    margin:     0;
    padding:    0;
    background: #2a2a2a;
    display:    none;
}
.adrevv-nav__list .sub-menu.is-open {
    display: block;
}
.adrevv-nav__list .sub-menu li {
    border-bottom: 1px solid rgba(0,0,0,.25);   /* thin dark separator */
}
.adrevv-nav__list .sub-menu li:last-child {
    border-bottom: none;
}
.adrevv-nav__list .sub-menu li a {
    display:         block;
    font-family:     'Poppins', sans-serif;
    font-size:       13px;
    font-weight:     500;
    letter-spacing:  .04em;
    text-transform:  uppercase;
    color:           #111111;       /* black text on dark gray */
    text-decoration: none;
    padding:         12px 20px 12px 34px;
    background:      #e8e8e8;       /* light gray so black text is readable */
    transition:      background .15s, color .15s;
    box-sizing:      border-box;
}
.adrevv-nav__list .sub-menu li a:hover,
.adrevv-nav__list .sub-menu li.current-menu-item a {
    background: #d32f2f;
    color:      #ffffff;
}

/* ── BACKDROP ── */
.adrevv-nav__backdrop {
    position:   fixed;
    inset:      0;
    background: rgba(0,0,0,.5);
    z-index:    99997;
    animation:  adrevvFadeIn .2s ease forwards;
}
@keyframes adrevvFadeIn {
    from { opacity:0; }
    to   { opacity:1; }
}

/* ── BODY LOCK ── */
body.adrevv-nav-open {
    overflow: hidden;
}

.adrevv-cards{width:100%;font-family:inherit}
.adrevv-cards__heading{
    font-size:var(--adrevv-col-heading-size,13px);
    font-weight:var(--adrevv-col-heading-weight,700);
    color:var(--adrevv-col-heading-color,#ffffff);
    background:var(--adrevv-col-heading-bg,#d32f2f);
    text-transform:uppercase;letter-spacing:.06em;
    padding:6px 12px;margin:0 0 16px;line-height:1.3;display:block;
}
.adrevv-cards__grid{
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
    list-style:none;margin:0;padding:0;
}
.adrevv-cards__grid--2col{
    grid-template-columns:repeat(2,1fr);
}
@media(max-width:600px){
    .adrevv-cards__grid--2col{grid-template-columns:1fr;}
}
.adrevv-cards__item{
    margin:0;padding:0;
    border-bottom:1px solid #f0f0f0;
    padding-bottom:20px;
}
.adrevv-cards__item:last-child{border-bottom:none;padding-bottom:0;}
.adrevv-cards__img-wrap{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    line-height:0;
    background:#e8e8e8;
    margin-bottom:12px;
}
.adrevv-cards__img-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .3s ease, opacity .2s;
}
.adrevv-cards__img-wrap:hover img{
    transform:scale(1.03);
    opacity:.9;
}
/* placeholder when no image */
.adrevv-cards__img-wrap--empty{
    display:flex;
    align-items:center;
    justify-content:center;
}
.adrevv-cards__img-wrap--empty svg{
    width:40px;height:40px;stroke:#bbbbbb;
}
.adrevv-cards__title{
    font-size:16px;
    font-weight:700;
    line-height:1.3;
    color:#111111;
    margin:0;
    padding:0;
}
.adrevv-cards__title a{
    text-decoration:none;
    color:inherit;
    transition:color .15s;
}
.adrevv-cards__title a:hover{color:#d32f2f;}
.adrevv-cards__cta{
    display:block;margin-top:24px;text-align:center;
}
.adrevv-cards__cta a{
    display:inline-block;
    padding:11px 32px;
    background:var(--adrevv-col-btn-bg,#d32f2f);
    color:var(--adrevv-col-btn-color,#ffffff)!important;
    font-size:var(--adrevv-col-btn-size,14px);
    font-weight:700;text-transform:uppercase;
    letter-spacing:.05em;text-decoration:none;
    border-radius:var(--adrevv-col-btn-radius,4px);
    transition:background .2s;
}
.adrevv-cards__cta a:hover{background:var(--adrevv-col-btn-hover,#b71c1c);}

.ang-wrap { width:100%; font-family:inherit; }

/* ── HEADING ── */
.ang-heading {
    font-size:      var(--adrevv-col-heading-size,13px);
    font-weight:    var(--adrevv-col-heading-weight,700);
    color:          var(--adrevv-col-heading-color,#ffffff);
    background:     var(--adrevv-col-heading-bg,#d32f2f);
    text-transform: uppercase;
    letter-spacing: .06em;
    padding:        6px 12px;
    margin:         0 0 20px;
    line-height:    1.3;
    display:        block;
}

/* ── GRID ── */
.ang-grid {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   28px;
    list-style:            none;
    margin:                0;
    padding:               0;
}
@media (max-width: 900px) {
    .ang-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 560px) {
    .ang-grid { grid-template-columns: 1fr; gap: 24px; }
}

/* ── CARD ── */
.ang-card {
    display:        flex;
    flex-direction: column;
    gap:            0;
}

/* 16:9 image */
.ang-card__img {
    display:       block;
    width:         100%;
    aspect-ratio:  16 / 9;
    overflow:      hidden;
    line-height:   0;
    background:    #e8e8e8;
    margin-bottom: 12px;
    flex-shrink:   0;
}
.ang-card__img img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
    transition: transform .3s ease, opacity .2s;
}
.ang-card__img:hover img {
    transform: scale(1.03);
    opacity:   .9;
}
.ang-card__img--empty {
    display:         flex;
    align-items:     center;
    justify-content: center;
}
.ang-card__img--empty svg {
    width:  40px;
    height: 40px;
    stroke: #bbbbbb;
}

/* Card body */
.ang-card__body {
    display:        flex;
    flex-direction: column;
    flex:           1;
    gap:            8px;
}
.ang-card__title {
    font-size:   16px;
    font-weight: 700;
    line-height: 1.3;
    color:       #111111;
    margin:      0;
}
.ang-card__title a {
    text-decoration: none;
    color:           inherit;
    transition:      color .15s;
}
.ang-card__title a:hover { color: #d32f2f; }

.ang-card__excerpt {
    font-size:   14px;
    color:       #555555;
    line-height: 1.6;
    margin:      0;
    flex:        1;
}

.ang-card__read-more {
    display:         inline-flex;
    align-items:     center;
    gap:             5px;
    font-size:       12px;
    font-weight:     700;
    color:           #d32f2f;
    text-decoration: none;
    text-transform:  uppercase;
    letter-spacing:  .06em;
    margin-top:      4px;
    transition:      opacity .15s;
}
.ang-card__read-more:hover { opacity: .75; }
.ang-card__read-more svg   { width:14px; height:14px; flex-shrink:0; }

/* ── LOAD MORE ── */
.ang-more-wrap {
    display:    flex;
    justify-content: center;
    margin-top: 32px;
}
.ang-more-btn {
    font-family:    inherit;
    font-size:      13px;
    font-weight:    700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color:          #ffffff;
    background:     #d32f2f;
    border:         none;
    border-radius:  4px;
    padding:        12px 36px;
    cursor:         pointer;
    transition:     background .18s;
    display:        inline-flex;
    align-items:    center;
    gap:            8px;
}
.ang-more-btn:hover             { background: #b71c1c; }
.ang-more-btn:disabled          { background: #999; cursor: not-allowed; }
.ang-more-btn__spin {
    display:    none;
    width:      14px;
    height:     14px;
    border:     2px solid rgba(255,255,255,.4);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation:  angSpin .6s linear infinite;
}
.ang-more-btn.is-loading .ang-more-btn__spin  { display: block; }
.ang-more-btn.is-loading .ang-more-btn__label { display: none; }
@keyframes angSpin { to { transform: rotate(360deg); } }

/* card fade-in for newly loaded items */
.ang-card--new {
    animation: angFadeUp .3s ease forwards;
}
@keyframes angFadeUp {
    from { opacity:0; transform:translateY(12px); }
    to   { opacity:1; transform:translateY(0);    }
}

/* ── CTA BUTTON ── */
.ang-cta {
    display:    block;
    margin-top: 24px;
    text-align: center;
}
.ang-cta a {
    display:         inline-block;
    padding:         11px 32px;
    background:      var(--adrevv-col-btn-bg, #d32f2f);
    color:           var(--adrevv-col-btn-color, #ffffff) !important;
    font-size:       var(--adrevv-col-btn-size, 14px);
    font-weight:     700;
    text-transform:  uppercase;
    letter-spacing:  .05em;
    text-decoration: none;
    border-radius:   var(--adrevv-col-btn-radius, 4px);
    transition:      background .2s;
}
.ang-cta a:hover { background: var(--adrevv-col-btn-hover, #b71c1c); }

.hll-biz-wrap{max-width:1100px;margin:0 auto;padding:0 16px;font-family:inherit}
.hll-biz-header{margin-bottom:24px}
.hll-biz-header h1{font-size:28px;font-weight:800;color:#111;margin:0 0 6px}
.hll-biz-header p{color:#666;margin:0}
.hll-biz-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;align-items:center}
.hll-biz-filters input[type=text],.hll-biz-filters select{padding:8px 12px;border:1px solid #ddd;border-radius:3px;font-size:14px;font-family:inherit;background:#fff;color:#333;min-width:160px}
.hll-biz-filters input[type=text]:focus,.hll-biz-filters select:focus{outline:none;border-color:#d32f2f}
.hll-biz-filter-btn{padding:8px 20px;background:#d32f2f;color:#fff;border:none;border-radius:3px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .18s}
.hll-biz-filter-btn:hover{background:#333}
.hll-biz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.hll-biz-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:560px){.hll-biz-grid{grid-template-columns:1fr;gap:20px}}
.hll-biz-card{border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .2s}
.hll-biz-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1)}
.hll-biz-card__img{width:100%;aspect-ratio:16/9;overflow:hidden;background:#f0f0f0;display:block;flex-shrink:0}
.hll-biz-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.hll-biz-card:hover .hll-biz-card__img img{transform:scale(1.04)}
.hll-biz-card__img--empty{display:flex;align-items:center;justify-content:center;background:#f5f5f5}
.hll-biz-card__img--empty svg{width:40px;height:40px;stroke:#ccc}
.hll-biz-card__body{padding:14px 16px;flex:1;display:flex;flex-direction:column;gap:6px}
.hll-biz-card__badges{display:flex;flex-wrap:wrap;gap:5px}
.hll-biz-card__badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:2px;background:#1565c0;color:#fff}
.hll-biz-card__badge--af{background:#b71c1c}
.hll-biz-card__cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#d32f2f;margin:0}
.hll-biz-card__title{font-size:17px;font-weight:700;color:#111;margin:0;line-height:1.25}
.hll-biz-card__title a{color:inherit;text-decoration:none}
.hll-biz-card__title a:hover{color:#d32f2f}
.hll-biz-card__desc{font-size:13px;color:#555;line-height:1.55;margin:0;flex:1}
.hll-biz-card__city{font-size:12px;color:#888;margin:0}
.hll-biz-card__footer{padding:10px 16px 14px;display:flex;justify-content:flex-end}
.hll-biz-card__link{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff!important;background:#d32f2f;text-decoration:none;padding:6px 14px;border-radius:3px;transition:background .15s}
.hll-biz-card__link:hover{background:#333}
.hll-biz-empty{text-align:center;padding:48px 0;color:#888;font-size:16px}
.hll-biz-submit-cta{margin-top:36px;padding:20px 24px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;text-align:center}
.hll-biz-submit-cta p{margin:0 0 12px;color:#444;font-size:15px}
.hll-biz-submit-cta a{display:inline-block;padding:10px 28px;background:#d32f2f;color:#fff;font-weight:700;text-decoration:none;border-radius:3px;font-size:14px;transition:background .18s}
.hll-biz-submit-cta a:hover{background:#333;color:#fff}
.hll-form-wrap{max-width:680px;margin:0 auto}
.hll-form-wrap h2{font-size:24px;font-weight:800;margin:0 0 6px;color:#111}
.hll-form-wrap .hll-sub{color:#666;margin:0 0 28px;font-size:15px}
.hll-form{display:flex;flex-direction:column;gap:18px}
.hll-field{display:flex;flex-direction:column;gap:5px}
.hll-field label{font-size:13px;font-weight:700;color:#333;text-transform:uppercase;letter-spacing:.06em}
.hll-field label .req{color:#d32f2f;margin-left:2px}
.hll-field input[type=text],.hll-field input[type=email],.hll-field input[type=url],.hll-field input[type=tel],.hll-field textarea,.hll-field select{padding:10px 12px;border:1px solid #ddd;border-radius:3px;font-size:14px;font-family:inherit;color:#333;width:100%;box-sizing:border-box;background:#fff}
.hll-field input:focus,.hll-field textarea:focus,.hll-field select:focus{outline:none;border-color:#d32f2f;box-shadow:0 0 0 2px rgba(211,47,47,.12)}
.hll-field textarea{min-height:120px;resize:vertical}
.hll-field-note{font-size:12px;color:#888;margin:0}
.hll-check-group{display:flex;flex-direction:column;gap:8px}
.hll-check-group label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;color:#333;cursor:pointer}
.hll-check-group input[type=checkbox]{width:16px;height:16px;flex-shrink:0}
.hll-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.hll-form-row{grid-template-columns:1fr}}
.hll-form-submit{padding:12px 36px;background:#d32f2f;color:#fff;border:none;border-radius:3px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;align-self:flex-start;transition:background .18s}
.hll-form-submit:hover{background:#333}
.hll-form-msg{padding:14px 18px;border-radius:3px;font-size:14px;margin-bottom:16px}
.hll-form-msg--success{background:#e8f5e9;border:1px solid #a5d6a7;color:#1b5e20}
.hll-form-msg--error{background:#ffebee;border:1px solid #ef9a9a;color:#b71c1c}
.hll-biz-gallery{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.hll-biz-gallery__item{width:100px;height:100px;overflow:hidden;border-radius:3px;cursor:pointer;background:#f0f0f0;flex-shrink:0;border:1px solid #e0e0e0}
.hll-biz-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.hll-biz-gallery__item:hover img{transform:scale(1.08)}
.hll-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:99999;align-items:center;justify-content:center;flex-direction:column}
.hll-lightbox.is-open{display:flex}
.hll-lightbox__img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:3px;display:block}
.hll-lightbox__close{position:absolute;top:16px;right:20px;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;line-height:1;padding:4px 8px}
.hll-lightbox__prev,.hll-lightbox__next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:none;color:#fff;font-size:28px;cursor:pointer;padding:12px 18px;border-radius:3px;transition:background .15s}
.hll-lightbox__prev{left:12px}
.hll-lightbox__next{right:12px}
.hll-lightbox__prev:hover,.hll-lightbox__next:hover{background:rgba(255,255,255,.3)}
.hll-lightbox__counter{color:#ccc;font-size:13px;margin-top:12px;font-family:sans-serif}
.hll-biz-single{max-width:860px;margin:0 auto;padding:0 16px}
.hll-biz-single__img{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:4px;margin-bottom:24px}
.hll-biz-single__img img{width:100%;height:100%;object-fit:cover;display:block}
.hll-biz-single__badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.hll-biz-single__title{font-size:32px;font-weight:800;color:#111;margin:0 0 8px}
.hll-biz-single__cat{font-size:12px;font-weight:700;color:#d32f2f;text-transform:uppercase;letter-spacing:.08em;margin:0 0 20px}
.hll-biz-single__meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px;margin-bottom:24px;background:#f9f9f9;border:1px solid #e8e8e8;border-radius:4px;padding:16px 20px}
@media(max-width:560px){.hll-biz-single__meta{grid-template-columns:1fr}}
.hll-biz-single__meta-item{font-size:14px;color:#333}
.hll-biz-single__meta-item strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#888;margin-bottom:2px}
.hll-biz-single__desc{font-size:15px;color:#444;line-height:1.7}

.<?php echo $uid; ?>-wrap { max-width:560px; margin:0 auto; font-family:inherit; }
.<?php echo $uid; ?>-toggle {
    display:flex; background:#f0f0f0; border-radius:4px; padding:4px;
    margin-bottom:28px; gap:4px;
}
.<?php echo $uid; ?>-toggle button {
    flex:1; padding:10px 16px; border:none; border-radius:3px;
    font-size:14px; font-weight:700; cursor:pointer; font-family:inherit;
    background:transparent; color:#555; transition:all .18s;
    text-transform:uppercase; letter-spacing:.04em;
}
.<?php echo $uid; ?>-toggle button.active {
    background:#d32f2f; color:#fff; box-shadow:0 2px 6px rgba(211,47,47,.3);
}
.<?php echo $uid; ?>-toggle button:hover:not(.active) { background:#e0e0e0; color:#111; }
.<?php echo $uid; ?>-panel { display:none; }
.<?php echo $uid; ?>-panel.active { display:block; }


/* ============================================================ */
/* AUTH BUTTON + OFF-CANVAS PANEL                               */
/* ============================================================ */

/* ── Button ─────────────────────────────────────────────────── */
.adrevv-auth {
    display:     inline-flex;
    align-items: center;
    gap:         8px;
    position:    relative;
}

.adrevv-auth__btn {
    display:         inline-flex;
    align-items:     center;
    padding:         7px 16px;
    background:      #d32f2f;
    color:           #fff !important;
    border:          none;
    border-radius:   3px;
    font-family:     inherit;
    font-size:       13px;
    font-weight:     700;
    text-transform:  uppercase;
    letter-spacing:  .05em;
    cursor:          pointer;
    white-space:     nowrap;
    text-decoration: none;
    transition:      background .18s, transform .12s;
    line-height:     1;
}
.adrevv-auth__btn:hover  { background: #b71c1c; color: #fff !important; }
.adrevv-auth__btn:active { transform: scale(.97); }

/* Logged-in: member name link + logout */
.adrevv-auth--loggedin { gap: 6px; }
.adrevv-auth__btn--member {
    background: transparent;
    color:      #333 !important;
    border:     1px solid #ddd;
    font-weight: 600;
}
.adrevv-auth__btn--member:hover { background: #f5f5f5; color: #111 !important; }
.adrevv-auth__btn--logout       { background: #555; }
.adrevv-auth__btn--logout:hover { background: #333; }

/* ── Overlay ─────────────────────────────────────────────────── */
.adrevv-auth__overlay {
    display:    none;
    position:   fixed;
    inset:      0;
    background: rgba(0,0,0,.45);
    z-index:    99997;
    cursor:     pointer;
    opacity:    0;
    transition: opacity .25s;
}
.adrevv-auth__overlay.is-open {
    display: block;
    opacity: 1;
}

/* ── Off-canvas panel ────────────────────────────────────────── */
.adrevv-auth__panel {
    position:       fixed;
    top:            0;
    right:          0;
    bottom:         0;
    width:          360px;
    max-width:      100vw;
    background:     #fff;
    z-index:        99998;
    display:        flex;
    flex-direction: column;
    box-shadow:     -4px 0 24px rgba(0,0,0,.18);
    transform:      translateX(100%);
    transition:     transform .28s cubic-bezier(.4,0,.2,1);
    overflow-y:     auto;
}
.adrevv-auth__panel.is-open { transform: translateX(0); }

/* ── Panel header ────────────────────────────────────────────── */
.adrevv-auth__panel-header {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    padding:         16px 20px;
    border-bottom:   1px solid #e8e8e8;
    flex-shrink:     0;
}
.adrevv-auth__panel-title {
    font-size:   16px;
    font-weight: 700;
    color:       #111;
    font-family: inherit;
}
.adrevv-auth__panel-close {
    background:    none;
    border:        none;
    cursor:        pointer;
    padding:       4px;
    color:         #555;
    border-radius: 3px;
    line-height:   1;
    transition:    color .15s, background .15s;
}
.adrevv-auth__panel-close:hover { color: #d32f2f; background: #fafafa; }

/* ── Panel body ──────────────────────────────────────────────── */
.adrevv-auth__body {
    flex:       1;
    padding:    24px 20px 0;
    overflow-y: auto;
    display:    flex;
    flex-direction: column;
}
.adrevv-auth__pane         { display: none; }
.adrevv-auth__pane.is-active { display: block; flex: 1; }

/* ── Sign-up prompt ──────────────────────────────────────────── */
.adrevv-auth__signup-prompt {
    margin-top:  auto;
    padding:     20px;
    text-align:  center;
    border-top:  1px solid #f0f0f0;
}
.adrevv-auth__signup-prompt-text {
    font-size:  13px;
    color:      #666;
    font-style: italic;
    line-height: 1.5;
}

/* ── Mobile ──────────────────────────────────────────────────── */
@media (max-width: 480px) {
    .adrevv-auth__panel { width: 100vw; }
}
