/* ============================================================
   HOESCAPE THEME OVERRIDES
   Applied only when html[data-portal="offertehoescape"].
   Keeps InfoIschia default styles untouched.
   Brand:
     primary  #1E4D9C (navy)
     accent   #9CC53C (lime)
     bg       #FFFFFF
     text     #1A1A1A
   ============================================================ */

html[data-portal="offertehoescape"] {
    --primary: #1E4D9C;
    --primary-dark: #163d7d;
    --secondary: #2a66c2;
    --accent: #9CC53C;
    --accent-hover: #82ab2e;
    --light-bg: #f6faef;
    --text-dark: #1A1A1A;
}

/* ---------- Header ---------- */
html[data-portal="offertehoescape"] .top-bar {
    background: var(--primary);
}
html[data-portal="offertehoescape"] .top-bar a:hover {
    color: var(--accent);
}
html[data-portal="offertehoescape"] .navbar-brand img {
    height: 56px !important;
}
@media (max-width: 991px) {
    html[data-portal="offertehoescape"] .navbar-brand img {
        height: 44px !important;
    }
}
html[data-portal="offertehoescape"] .header-nav-links .nav-link {
    color: var(--primary) !important;
}
html[data-portal="offertehoescape"] .header-nav-links .nav-link:hover {
    background: rgba(30, 77, 156, 0.08);
    color: var(--accent) !important;
}
html[data-portal="offertehoescape"] .header-nav-cta a {
    background: linear-gradient(135deg, var(--primary), var(--secondary)) !important;
    box-shadow: 0 4px 14px rgba(30, 77, 156, 0.25);
}
html[data-portal="offertehoescape"] .header-nav-cta a:hover {
    background: linear-gradient(135deg, var(--accent), var(--accent-hover)) !important;
    color: var(--text-dark) !important;
}

/* Mobile offcanvas */
html[data-portal="offertehoescape"] #mobileMenu .offcanvas-header {
    background: linear-gradient(135deg, var(--primary), var(--secondary)) !important;
}
html[data-portal="offertehoescape"] .mobile-nav-item {
    color: var(--primary);
}
html[data-portal="offertehoescape"] .mobile-nav-item:hover,
html[data-portal="offertehoescape"] .mobile-nav-item.active {
    background: rgba(156, 197, 60, 0.12);
    border-left-color: var(--accent);
}
html[data-portal="offertehoescape"] .mobile-nav-item i { color: var(--secondary); }
html[data-portal="offertehoescape"] .mobile-nav-item:hover i,
html[data-portal="offertehoescape"] .mobile-nav-item.active i { color: var(--accent); }

/* ---------- Search form / CTA buttons ---------- */
html[data-portal="offertehoescape"] .v2-search-btn,
html[data-portal="offertehoescape"] .btn-primary {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
}
html[data-portal="offertehoescape"] .v2-search-btn:hover,
html[data-portal="offertehoescape"] .btn-primary:hover {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
    color: var(--text-dark) !important;
}
html[data-portal="offertehoescape"] .v2-section-tag {
    background: rgba(156, 197, 60, 0.18);
    color: var(--primary);
}
html[data-portal="offertehoescape"] .v2-urgency-banner {
    background: rgba(156, 197, 60, 0.18);
    color: var(--primary);
    border-left: 3px solid var(--accent);
}
html[data-portal="offertehoescape"] .v2-urgency-banner i { color: var(--accent); }

/* ---------- Hoescape Hero ---------- */
html[data-portal="offertehoescape"] .hoescape-hero {
    position: relative;
    padding: 72px 0 56px;
    background:
        radial-gradient(circle at 12% 20%, rgba(156,197,60,0.18) 0%, transparent 45%),
        radial-gradient(circle at 88% 80%, rgba(30,77,156,0.10) 0%, transparent 50%),
        linear-gradient(135deg, #ffffff 0%, #f6faef 100%);
    overflow: hidden;
}
html[data-portal="offertehoescape"] .hoescape-hero-eyebrow {
    display: inline-block;
    background: var(--primary);
    color: #fff;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    margin-bottom: 20px;
}
html[data-portal="offertehoescape"] .hoescape-hero-eyebrow .dot {
    color: var(--accent);
    margin-right: 6px;
}
html[data-portal="offertehoescape"] .hoescape-hero h1 {
    font-size: 3rem;
    line-height: 1.1;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 18px;
    letter-spacing: -0.02em;
}
html[data-portal="offertehoescape"] .hoescape-hero h1 em {
    font-style: normal;
    color: var(--accent);
    background: linear-gradient(120deg, transparent 0%, transparent 65%, rgba(156,197,60,0.25) 65%, rgba(156,197,60,0.25) 100%);
    padding: 0 4px;
}
html[data-portal="offertehoescape"] .hoescape-hero-sub {
    font-size: 1.15rem;
    color: #4a4a4a;
    max-width: 620px;
    margin-bottom: 32px;
    line-height: 1.55;
}
html[data-portal="offertehoescape"] .hoescape-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 36px;
}
html[data-portal="offertehoescape"] .hoescape-cta-primary {
    background: var(--primary);
    color: #fff;
    padding: 14px 28px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    font-size: 1rem;
    box-shadow: 0 8px 24px rgba(30,77,156,0.28);
    transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
html[data-portal="offertehoescape"] .hoescape-cta-primary:hover {
    background: var(--accent);
    color: var(--text-dark);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(156,197,60,0.4);
}
html[data-portal="offertehoescape"] .hoescape-cta-secondary {
    background: transparent;
    color: var(--primary);
    padding: 14px 26px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    font-size: 1rem;
    border: 2px solid var(--primary);
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
html[data-portal="offertehoescape"] .hoescape-cta-secondary:hover {
    background: var(--primary);
    color: #fff;
}
html[data-portal="offertehoescape"] .hoescape-hero-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    color: #6b6b6b;
    font-size: 0.88rem;
    align-items: center;
}
html[data-portal="offertehoescape"] .hoescape-hero-trust .item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
html[data-portal="offertehoescape"] .hoescape-hero-trust i {
    color: var(--accent);
    font-size: 1.05rem;
}

@media (max-width: 767px) {
    html[data-portal="offertehoescape"] .hoescape-hero { padding: 48px 0 36px; }
    html[data-portal="offertehoescape"] .hoescape-hero h1 { font-size: 2.1rem; }
    html[data-portal="offertehoescape"] .hoescape-hero-sub { font-size: 1rem; }
}

/* ---------- Audience cards ("Per chi sono le nostre offerte") ---------- */
html[data-portal="offertehoescape"] .hoescape-audience {
    padding: 56px 0;
    background: #ffffff;
}
html[data-portal="offertehoescape"] .hoescape-audience-header {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 36px;
}
html[data-portal="offertehoescape"] .hoescape-audience-header h2 {
    color: var(--primary);
    font-weight: 800;
    font-size: 2rem;
    margin-bottom: 10px;
    letter-spacing: -0.01em;
}
html[data-portal="offertehoescape"] .hoescape-audience-header p {
    color: #555;
    font-size: 1.02rem;
}
html[data-portal="offertehoescape"] .hoescape-audience-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
@media (max-width: 991px) {
    html[data-portal="offertehoescape"] .hoescape-audience-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
    html[data-portal="offertehoescape"] .hoescape-audience-grid { grid-template-columns: 1fr; }
}
html[data-portal="offertehoescape"] .hoescape-audience-card {
    border: 1px solid #e7eef5;
    border-radius: 18px;
    padding: 24px;
    transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
    background: #fff;
    text-decoration: none;
    color: inherit;
    display: block;
}
html[data-portal="offertehoescape"] .hoescape-audience-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(30,77,156,0.12);
    border-color: var(--accent);
}
html[data-portal="offertehoescape"] .hoescape-audience-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    margin-bottom: 14px;
}
html[data-portal="offertehoescape"] .hoescape-audience-card:nth-child(2) .hoescape-audience-icon { background: linear-gradient(135deg, #c44569, #f78ca0); }
html[data-portal="offertehoescape"] .hoescape-audience-card:nth-child(3) .hoescape-audience-icon { background: linear-gradient(135deg, #d4a017, #f5c45c); }
html[data-portal="offertehoescape"] .hoescape-audience-card:nth-child(4) .hoescape-audience-icon { background: linear-gradient(135deg, var(--accent), #6ea425); }
html[data-portal="offertehoescape"] .hoescape-audience-card h3 {
    font-size: 1.1rem;
    color: var(--primary);
    font-weight: 700;
    margin-bottom: 6px;
}
html[data-portal="offertehoescape"] .hoescape-audience-card p {
    font-size: 0.92rem;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* ---------- Footer ---------- */
html[data-portal="offertehoescape"] .v2-footer { background: var(--primary); }
html[data-portal="offertehoescape"] .v2-footer-contact a:hover,
html[data-portal="offertehoescape"] .v2-footer-links a:hover { color: var(--accent); }
html[data-portal="offertehoescape"] .v2-footer-contact i { color: var(--accent); }
html[data-portal="offertehoescape"] .v2-footer-social a:hover { background: var(--accent); color: var(--text-dark); }

/* Hero overrides on other pages: keep accent for non-home pages */
html[data-portal="offertehoescape"] .v2-hero-tag { color: var(--accent); }
html[data-portal="offertehoescape"] .v2-hero h1 em { color: var(--accent); }

/* ─────────────────────────────────────────────────────────────────────────
   /cerca search results page — repaint orange CTAs with Hoescape green.
   Preserves price displays.
   ───────────────────────────────────────────────────────────────────────── */
html[data-portal="offertehoescape"] .btn-cta-primary {
    background: var(--accent) !important;
    color: var(--primary) !important;
}
html[data-portal="offertehoescape"] .btn-cta-primary:hover {
    background: #8AB52D !important;
    color: var(--primary) !important;
    box-shadow: 0 4px 12px rgba(156, 197, 60, 0.35) !important;
}

/* Search hero pill button: lock to green (overrides any blue/orange) */
html[data-portal="offertehoescape"] .v2-search-btn,
html[data-portal="offertehoescape"] .hoe-search-card .v2-search-btn {
    background: linear-gradient(135deg, var(--accent) 0%, #8AB52D 100%) !important;
    color: var(--primary) !important;
}
html[data-portal="offertehoescape"] .v2-search-btn i,
html[data-portal="offertehoescape"] .hoe-search-card .v2-search-btn i { color: var(--primary) !important; }

/* Filter chips + active state */
html[data-portal="offertehoescape"] .filter-icon-stars {
    background: rgba(156, 197, 60, 0.15) !important;
    color: var(--accent) !important;
}
html[data-portal="offertehoescape"] .filter-chip.active,
html[data-portal="offertehoescape"] .filter-pill.active {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
    color: var(--primary) !important;
}

/* Trust strip + scattered orange icons in search */
html[data-portal="offertehoescape"] .ads-trust-strip i { color: var(--accent) !important; }

/* Generic .btn-primary used by mobile filter offcanvas etc. */
html[data-portal="offertehoescape"] .btn-primary:not(.price):not([class*="price"]) {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
    color: var(--primary) !important;
}
html[data-portal="offertehoescape"] .btn-primary:not(.price):not([class*="price"]):hover {
    background: #8AB52D !important;
    border-color: #8AB52D !important;
    color: var(--primary) !important;
}
/* IMPORTANT: price displays are intentionally NOT recoloured. */

/* ─── /cerca search bar (rectangular) — overrides the inline page CSS ─── */
html[data-portal="offertehoescape"] .v2-search-btn {
    background: var(--accent) !important;
    color: var(--primary) !important;
}
html[data-portal="offertehoescape"] .v2-search-btn:hover {
    background: #8AB52D !important;
    color: var(--primary) !important;
}
/* Search bar field icons (📍, 📅, 👥) */
html[data-portal="offertehoescape"] .v2-search-field-icon { color: var(--accent) !important; }

/* "Vedi sulla mappa" outline button */
html[data-portal="offertehoescape"] .btn-outline-primary {
    color: var(--accent) !important;
    border-color: var(--accent) !important;
}
html[data-portal="offertehoescape"] .btn-outline-primary:hover {
    background: var(--accent) !important;
    color: var(--primary) !important;
    border-color: var(--accent) !important;
}

/* "Resetta" filter link (was red/danger) */
html[data-portal="offertehoescape"] .filters-sidebar .btn-link.text-danger {
    color: var(--accent) !important;
}

/* Location link/badge under hotel name (Mazara del Vallo etc.) */
html[data-portal="offertehoescape"] .v3-meta a,
html[data-portal="offertehoescape"] .hotel-location a,
html[data-portal="offertehoescape"] .text-accent { color: var(--accent) !important; }

/* Map link / geo button */
html[data-portal="offertehoescape"] [class*="geo-alt"] { color: inherit; }

/* Override .price-display-xl — used a var(--accent) tint, force orange
   so the price stays orange on Hoescape (per spec). */
html[data-portal="offertehoescape"] .price-display-xl { color: #f5a623 !important; }
