/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jan 19 2026 | 05:54:48 */
/* =========================================
   1. LOCAL FONT DEFINITIONS (OPTIMIZED)
   ========================================= */

/* Load only regular weight - browser will bold automatically */
@font-face {
    font-family: 'Assistant';
    src: url('https://www.francophilesanonymes.com/wp-content/uploads/2026/01/Assistant-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Heebo';
    src: url('https://www.francophilesanonymes.com/wp-content/uploads/2026/01/Heebo-Medium.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* =========================================
   2. VARIABLES & GLOBAL SETTINGS
   ========================================= */
:root {
    /* Colors & Spacing */
    --color-link: #4F64B0;
    --color-link-hover: #15399B;
    --color-quote-border: #4F64B0;
    --bg-quote: #F4F8FC;
    --color-code-text: #89E3E4;
    --bg-code: #0B0515;
    
    /* Fonts */
    --font-heading: 'Heebo', sans-serif;
    --font-body: 'Assistant', sans-serif;

    /* Extra Vars */
    --accent-red: #CF3834;
    --header-brand-blue: #0066cc;
    --sb-bg: #ffffff;
    --sb-border: #e0e0e0;
    --sb-scroll-thumb: #3b5998;
    --sb-scroll-track: #f1f1f1;
}

/* =========================================
   3. GLOBAL TYPOGRAPHY ENFORCEMENT
   ========================================= */

/* All body text - ASSISTANT only */
body, p, li, div, span, label, input, textarea, a, button, 
h5, h6, figcaption, summary, .wp-caption-text, .elementor-widget-text-editor {
    font-family: 'Assistant', sans-serif !important;
}

/* All headings - HEEBO only */
h1, h2, h3, h4, 
.entry-title, 
.elementor-heading-title, 
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4 {
    font-family: 'Heebo', sans-serif !important;
}

body, p, li, div, span, label, input, textarea {
    font-size: 19px;
    line-height: 1.7;
    color: #333;
}

/* Hyperlinks */
a, p a, .toc-grid a, .hotel-link-btn, a.cta-button, a.cta-button-small,
.zvi-top-link, .toc-link, .sb-toc-link, .footer-column ul li a {
    font-family: 'Assistant', sans-serif !important;
}

p a {
    font-size: inherit !important;
    color: var(--color-link);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 2px solid rgba(79, 100, 176, 0.3);
    transition: all 0.2s ease;
}
p a:hover {
    color: var(--color-link-hover);
    border-bottom-color: var(--color-link-hover);
    background-color: rgba(79, 100, 176, 0.1);
}

/* Headings Details */
h1, .entry-title {
    font-weight: 900 !important;
    font-size: 52px !important;
    line-height: 1.1 !important;
    color: var(--color-link);
    margin-bottom: 20px;
    letter-spacing: -1px;
}
h2 {
    font-weight: 800 !important;
    font-size: 40px !important;
    line-height: 1.2 !important;
    color: var(--color-link);
    margin-top: 60px !important;
    margin-bottom: 25px !important;
    text-align: center;
}
h3 {
    font-weight: 700 !important;
    font-size: 30px !important;
    line-height: 1.3 !important;
    color: var(--color-link);
    margin-top: 40px !important;
    margin-bottom: 15px !important;
    text-align: center;
}
h4 {
    font-weight: 700 !important;
    font-size: 24px !important;
    line-height: 1.4 !important;
    margin-top: 30px !important;
    margin-bottom: 10px !important;
}
h5 {
    font-family: 'Assistant', sans-serif !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    line-height: 1.5 !important;
    margin-top: 25px !important;
    margin-bottom: 10px !important;
}

/* Captions */
figcaption, .wp-caption-text, .wp-block-image figcaption {
    font-family: 'Assistant', sans-serif !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    line-height: 1.4;
    margin-top: 8px;
    color: #666;
    text-align: center;
}

ul, ol { margin-top: 20px !important; margin-bottom: 20px !important; }
li { margin-bottom: 10px; }

@media (max-width: 768px) {
    body, p, li { font-size: 18px; }
    h1, .entry-title { font-size: 42px !important; }
    h2 { font-size: 32px !important; margin-top: 50px !important; }
    h3 { font-size: 26px !important; margin-top: 35px !important; }
    h4 { font-size: 22px !important; margin-top: 30px !important; }
    h5 { font-size: 19px !important; margin-top: 20px !important; }
}

/* =========================================
   4. HEADER & LAYOUT
   ========================================= */
.entry-header, .ast-single-header-bar, header.entry-header {
    background-color: var(--bg-quote) !important;
    padding: 30px 20px; margin-bottom: 40px; border-bottom: 4px solid var(--color-link);
}
.main-container { max-width: 1100px; margin: 0 auto;
    padding: 0 20px 60px 20px; }
.intro-text { font-size: 1.2rem; margin-bottom: 50px; margin-top: 20px; text-align: center; max-width: 800px; margin-left: auto;
    margin-right: auto; line-height: 1.8; }
.menu-item-button a {
    display: inline-block; padding: 20px 35px !important;
    background-color: #CF3834;
    color: #ffffff !important;
    text-decoration: none; border-radius: 5px; transition: background-color 0.3s ease;
}
.menu-item-button a:hover { background-color: #FF002B !important; color: #ffffff !important; }

/* =========================================
   5. NEW ELEMENTS (TOP 3, CARDS, TOC)
   ========================================= */
/* Top 3 Hotels Box */
.family-top-3-box {
    background: #fff;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    padding: 25px;
    margin: 40px 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.family-top-3-box h3 { margin-top: 0 !important; border-bottom: 1px solid #eee; padding-bottom: 15px; margin-bottom: 20px !important; }
.hotel-row { display: flex;
    align-items: center; gap: 15px; padding: 15px 0; border-bottom: 1px solid #f0f0f0; }
.hotel-row:last-child { border-bottom: none; }
.hotel-icon { font-size: 2rem;
    min-width: 40px; text-align: center; }
.hotel-details { flex-grow: 1; }
.hotel-title { font-weight: bold; font-size: 1.1rem; color: var(--color-link); }
.hotel-desc { font-size: 0.95rem;
    color: #555; }
.hotel-btn {
    background: var(--color-link); color: white !important; text-decoration: none !important;
    padding: 8px 15px; border-radius: 50px;
    font-size: 0.9rem; white-space: nowrap; transition: background 0.2s;
}
.hotel-btn:hover { background: var(--color-link-hover); }

/* TOC */
.toc-container-box, .zvi-toc-container {
    background: #f4f8fc; padding: 30px; border-radius: 16px; margin: 40px auto 60px auto;
    border: 1px solid #dcebf7; max-width: 800px; box-shadow: 0 4px 15px rgba(79, 100, 176, 0.05); text-align: center;
}
.toc-title, .zvi-toc-title { margin-top: 0; margin-bottom: 20px; font-weight: bold; font-size: 1.2rem; }
.toc-grid, .zvi-toc-grid { display: flex; flex-wrap: wrap; justify-content: center;
    gap: 10px; }
.toc-grid a {
    display: inline-block; padding: 10px 15px; background-color: #fff;
    border: 1px solid #dcebf7;
    color: var(--color-link) !important;
    border-radius: 50px; text-decoration: none !important;
    font-size: 1rem; transition: all 0.3s ease;
}
.toc-grid a:hover { background-color: var(--color-link);
    color: #fff !important; transform: translateY(-2px); }

/* Hotel Card Container (Bullets List) */
.hotel-card-container {
    border: 1px solid #eee;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    border-radius: 12px; padding: 30px; margin-bottom: 50px; background-color: #fff; position: relative; overflow: hidden;
}
.hotel-card-container h3 { margin-top: 0 !important; color: var(--color-link); }

/* =========================================
   6. GUIDE ELEMENTS (Tables, Tips)
   ========================================= */
.comparison-table { width: 100%;
    border-collapse: collapse; margin: 40px 0; box-shadow: 0 4px 15px rgba(0,0,0,0.05); border-radius: 12px; overflow: hidden;
}
.comparison-table th, .comparison-table td { padding: 20px; text-align: center; border-bottom: 1px solid #eee; font-size: 1.15rem; }
.comparison-table th { background-color: var(--color-link);
    color: white !important; font-size: 1.4rem; }
.comparison-table tr:nth-child(even) { background-color: #f8f9fa; }

/* Tip Box */
.tip-box, .fr-tip-box {
    background-color: #fff9e6; border: 1px solid #ffeeba; border-right: 6px solid #fbc02d;
    border-radius: 8px; padding: 25px; margin: 40px 0; font-size: 1.15rem; line-height: 1.8; color: #333;
    display: block; box-shadow: 0 4px 10px rgba(0,0,0,0.03);
    position: relative;
    font-family: 'Assistant', sans-serif !important;
}
.fr-tip-title {
    font-weight: 800; color: #e65100; font-size: 1.3rem; display: block;
    margin-bottom: 15px;
    border-bottom: 1px dashed #ffe0b2; padding-bottom: 10px;
    font-family: 'Heebo', sans-serif !important;
}
.fr-tip-title::first-letter { font-size: 1.5rem; margin-left: 5px; }

/* Coupons & CTA */
.coupon-box { text-align: center;
    background: #f0f4ff; padding: 40px; border-radius: 12px; margin-top: 50px; border: 2px dashed var(--color-link);
}
.coupon-code { background: #fff; padding: 10px 20px;
    border: 1px solid #ccc; border-radius: 6px; 
    font-family: 'Heebo', sans-serif !important;
    font-size: 1.6em;
    color: var(--accent-red); letter-spacing: 1px; display: inline-block; margin: 15px 0;
    font-weight: bold; }
.hotels-rec-box { background: #fff; border: 2px solid #f0f0f0;
    border-radius: 12px; padding: 30px; margin-top: 60px; text-align: center;
}
.hotels-links-container { display: flex; justify-content: center; gap: 15px; flex-wrap: wrap; margin-top: 20px; }
.hotel-link-btn { background: #f4f8fc; color: var(--color-link) !important;
    padding: 10px 25px; border-radius: 50px; border: 1px solid #dcebf7; text-decoration: none !important;
    transition: all 0.2s; font-weight: 600;
}
.hotel-link-btn:hover { background: var(--color-link) !important; color: #fff !important; }
a.cta-button { background-color: var(--accent-red) !important;
    color: white !important; padding: 15px 40px;
    border-radius: 50px; font-size: 1.3rem; font-weight: 700; display: inline-flex !important; justify-content: center; align-items: center;
    text-decoration: none !important; transition: transform 0.2s;
}
a.cta-button:hover { background-color: #b02a27 !important; transform: translateY(-3px); }
a.cta-button-small { background-color: var(--color-link) !important;
    color: white !important; padding: 10px 25px; border-radius: 50px;
    font-size: 1.1rem; text-decoration: none !important; display: inline-block; margin-top: 15px; transition: background 0.2s;
}
a.cta-button-small:hover { background-color: var(--color-link-hover) !important; }

/* FAQ */
.zvi-faq-container { margin-bottom: 30px; }
.zvi-faq-item, .zvi-faq-clean details { background: #fff;
    border: 1px solid #e0e0e0; border-radius: 8px; margin-bottom: 15px;
    overflow: hidden; }
.zvi-faq-item summary, .zvi-faq-clean summary {
    padding: 20px;
    cursor: pointer; color: var(--color-link); font-size: 18px;
    background-color: #fcfcfc;
    font-family: 'Assistant', sans-serif; font-weight: 600 !important;
    list-style: none; outline: none; display: flex;
    justify-content: space-between; align-items: center;
}
.zvi-faq-item summary::-webkit-details-marker, .zvi-faq-clean summary::-webkit-details-marker { display: none; }
.zvi-faq-item summary::after, .zvi-faq-clean summary::after {
    content: '+'; color: var(--accent-red);
    font-size: 24px; font-weight: 400;
    margin-right: 15px;
    transition: transform 0.3s ease; line-height: 1;
}
.zvi-faq-item[open] summary::after, .zvi-faq-clean[open] summary::after { transform: rotate(45deg); }
.zvi-faq-content, .zvi-faq-clean .zvi-faq-content { padding: 25px;
    border-top: 1px solid #eee; color: #555; line-height: 1.6;
}

/* =========================================
   7. UNIFIED SLIDER SYSTEM & CARDS (UPDATED)
   ========================================= */
.zvi-hotels-scroller, .scroll-slider, .zvi-district-scroller {
    display: flex;
    overflow-x: auto;
    gap: 30px;
    padding: 15px 5px 40px 5px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    margin-top: 50px;
    scrollbar-color: var(--color-link) #f0f0f0;
    align-items: stretch !important;
}
.zvi-hotels-scroller::-webkit-scrollbar, .scroll-slider::-webkit-scrollbar { height: 8px; }
.zvi-hotels-scroller::-webkit-scrollbar-thumb, .scroll-slider::-webkit-scrollbar-thumb { background: var(--color-link); border-radius: 10px; }
.zvi-hotels-scroller::-webkit-scrollbar-track, .scroll-slider::-webkit-scrollbar-track { background: #f0f0f0;
    border-radius: 4px; }

/* Card Definitions */
.zvi-hotel-card, .scroll-card, .floor-card, .fa-product-card {
    flex: 0 0 320px;
    min-width: 300px;
    max-width: 320px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 16px;
    overflow: visible !important;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative !important;
    margin-bottom: 10px;
    height: 100% !important;
    min-height: 100% !important;
}

.zvi-hotel-card:hover, .scroll-card:hover, .fa-product-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

/* --- FIX START: IMAGE CONTAINER --- */
div.zvi-hotel-img, div.fa-card-img-elem {
    width: 100% !important;
    height: 220px !important; 
    min-height: 220px !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    flex-shrink: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    transition: transform 0.3s ease;
    border-radius: 16px 16px 0 0 !important; /* Top rounded corners */
}

.zvi-icon-container, .fa-card-image {
    width: 100%;
    height: 220px !important;
    position: relative;
    overflow: hidden;
    background-color: #f4f8fc;
    display: block !important;
    flex-shrink: 0 !important;
    min-height: 220px !important;
    border-radius: 16px 16px 0 0 !important; /* Top rounded corners */
}

.zvi-icon-container > a,
.zvi-icon-container > div,
.fa-card-image > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 16px 16px 0 0 !important;
}

.scroll-card img,
.zvi-icon-container img,
.zvi-icon-container iframe,
.fa-card-image img,
img.fa-card-img-elem {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border: none;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: transform 0.3s ease;
    opacity: 1 !important;
    border-radius: 16px 16px 0 0 !important; /* Top rounded corners */
}

.zvi-hotel-card:hover div.zvi-hotel-img, 
.zvi-hotel-card:hover img, 
.fa-product-card:hover .fa-card-img-elem {
    transform: scale(1.05);
}

.zvi-icon-placeholder {
    height: 220px !important; 
    width: 100%; 
    background-color: #f4f8fc;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 80px;
    color: var(--color-link);
    flex-shrink: 0 !important;
    border-radius: 16px 16px 0 0 !important;
}

/* --- Badges & Ribbons - FINAL FIX IMPLEMENTED --- */
.fa-badge-lived, 
.zvi-badge-bestseller, 
.zvi-badge-premium, 
.zvi-badge-warning, 
.zvi-badge-stayed {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 99 !important;
    margin: 0 !important;
    padding: 4px 12px;
    font-weight: bold;
    font-size: 0.85rem;
    border-radius: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    font-family: 'Heebo', sans-serif !important;
    letter-spacing: 0.5px;
    line-height: 1.2;
}

.zvi-badge-bestseller { background-color: #CF3834;
    color: #fff; }
.zvi-badge-premium { background-color: #2c3e50; color: #ffd700; border: 1px solid #ffd700; }
.zvi-badge-warning { background-color: #e67e22; color: #fff;
}

.fa-badge-lived {
    background: #FFD700; /* Gold */
    color: #000;
}

/* Specific red ribbon - lived here */
.zvi-badge-stayed {
    background-color: #CF3834 !important;
    color: #ffffff !important;
    /* WHITE TEXT */
    border: none !important;
}
/* --- END BADGES --- */

/* --- Content Section --- */
.zvi-hotel-content, .scroll-card-content, .fa-card-content {
    padding: 20px;
    text-align: right; 
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.zvi-hotel-title, .scroll-card h4, .fa-card-title {
    font-family: 'Heebo', sans-serif !important;
    font-size: 1.6rem !important; 
    margin: 0 0 10px 0;
    color: var(--color-link);
    line-height: 1.1;
    font-weight: 700 !important;
}

.zvi-hotel-desc, .fa-card-desc {
    font-size: 0.95rem;
    color: #555;
    margin-bottom: 15px;
    line-height: 1.5;
}

/* --- BUTTONS (FINAL FIX MERGED HERE) --- */
.zvi-btn-group, .fa-card-footer, .zvi-btns-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto;
    width: 100%;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
}

/* Secondary Button (More Info) - WHITE BG, BLUE BORDER, BLUE TEXT */
.zvi-secondary-btn, .fa-btn-outline, .zvi-outline-btn {
    display: block;
    width: 100%;
    background-color: #ffffff !important;
    color: var(--color-link) !important;
    border: 2px solid var(--color-link) !important;
    padding: 10px 0;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.3s;
    text-align: center;
}
.zvi-secondary-btn:hover, .fa-btn-outline:hover, .zvi-outline-btn:hover { 
    background-color: #f0f4ff !important;
}

/* Main Button (Tickets) - BLUE BG, BLUE BORDER, WHITE TEXT */
.zvi-ticket-btn, .fa-btn-book, a.zvi-ticket-btn, .zvi-ticket-btn:visited {
    display: block;
    width: 100%;
    background-color: var(--color-link) !important;
    color: #ffffff !important;
    border: 2px solid var(--color-link) !important;
    padding: 10px 0;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.3s;
    text-align: center;
    box-shadow: none;
    opacity: 1;
    white-space: nowrap;
}
.zvi-ticket-btn:hover, .fa-btn-book:hover, a.zvi-ticket-btn:hover {
    background-color: var(--color-link-hover) !important;
    border-color: var(--color-link-hover) !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(79, 100, 176, 0.3);
}

.fa-trust-text {
    display: block;
    font-size: 0.75rem;
    color: #7f8c8d;
    text-align: center;
    margin-top: 2px;
}

.zvi-btns-container { margin-top: 15px; width: 100%;
}

/* =========================================
   8. LISTS IN CARDS (Benefit Cards)
   ========================================= */
.hotel-card-container ul, .fa-pros-cons ul { 
    list-style: none !important;
    padding: 0 !important; 
    margin: 0 !important;
}

.fa-pros-cons {
    margin-bottom: 15px;
    background: #f9f9f9;
    padding: 10px;
    border-radius: 6px;
    flex-grow: 1;
}

.hotel-card-container li, .fa-pros-cons li {
    margin-bottom: 6px;
    position: relative;
    padding-right: 25px;
    font-family: 'Assistant', sans-serif;
    font-size: 0.9rem;
    line-height: 1.6;
    color: #444; 
    text-align: right;
}

.hotel-card-container li strong, .fa-pro {
    font-weight: normal !important;
}

/* Check & Cross Icons */
.hotel-card-container li strong::before, .fa-pro::before {
    content: '✓'; 
    color: #27ae60;
    position: absolute;
    right: 0; 
    font-weight: bold;
}

.fa-con::before {
    content: "✕"; 
    color: #c0392b; 
    position: absolute; 
    right: 0; 
    font-weight: bold;
}

/* =========================================
   9. DISNEY TICKETS & WIDGETS
   ========================================= */
.tickets-widget-wrapper { background-color: #F4F8FC; padding: 40px 20px;
    border-radius: 16px; margin: 40px 0; border-top: 4px solid var(--accent-red); box-shadow: 0 8px 20px rgba(0,0,0,0.05); }
.zvi-tickets-grid { display: grid;
    grid-template-columns: repeat(3, 1fr); gap: 25px; margin-top: 30px; }
@media (max-width: 900px) { .zvi-tickets-grid { display: flex; overflow-x: auto; gap: 20px;
    padding-bottom: 20px; scroll-snap-type: x mandatory; grid-template-columns: none; } }
.zvi-ticket-card {
    background: #fff; border: 1px solid #e0e0e0;
    border-radius: 12px; padding: 30px 20px;
    text-align: center; display: flex; flex-direction: column; justify-content: space-between;
    transition: transform 0.2s; height: 100%; min-width: 280px;
    scroll-snap-align: center;
}
.zvi-ticket-card:hover { transform: translateY(-5px); box-shadow: 0 12px 25px rgba(0,0,0,0.08); }
.zvi-ticket-icon { font-size: 3.5rem; margin-bottom: 15px;
}
.zvi-ticket-title { font-family: 'Heebo', sans-serif !important; font-size: 1.8rem !important; margin-bottom: 15px; color: var(--color-link); line-height: 1.1 !important; font-weight: 400 !important;
}
.zvi-ticket-desc { font-size: 1rem; color: #666; margin-bottom: 25px; font-weight: 400 !important; }
.zvi-coupon-box { background: #fff; border: 1px dashed #ccc;
    color: #333; padding: 10px; margin-bottom: 15px; font-size: 1rem; cursor: pointer; border-radius: 8px; width: 100%; display: flex; justify-content: center; align-items: center;
    gap: 8px; font-weight: 400 !important; transition: all 0.2s; }
.zvi-coupon-box:hover { background: #f9f9f9; border-color: var(--accent-red);
}

/* =========================================
   10. FIX ELEMENTOR BUTTONS & TABS
   ========================================= */
.elementor-button, .elementor-button span, .elementor-button .elementor-button-text, .elementor-button a { color: #ffffff !important;
}
.elementor-button:hover, .elementor-button:hover span, .elementor-button:focus, .elementor-button:visited { color: #ffffff !important; }
.elementor-tab-title, .elementor-tab-title a, .elementor-tab-title:hover, .elementor-tab-title.elementor-active { color: #ffffff !important;
}

/* =========================================
   11. UTILITIES & STICKY FOOTER
   ========================================= */
.sticky-mobile-cta { 
    display: none; 
    position: fixed; 
    bottom: 0; 
    left: 0; 
    width: 100%; 
    z-index: 9999; 
    background: white; 
    border-top: 3px solid var(--accent-red); 
    padding: 10px; 
    padding-bottom: calc(10px + env(safe-area-inset-bottom)); /* iPhone Support */
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .sticky-mobile-cta { display: block !important; }
}

.emoji-icon { font-size: 1.4em; vertical-align: middle;
    margin-left: 5px; display: inline-block; }
.comparison-table td .emoji-icon { font-size: 1.6em;
}

/* =========================================
   12. ZVI HEADER V63 - FIX FOR STICKY TOC
   ========================================= */
#zvi-header-root { all: initial; font-family: 'Assistant', sans-serif !important;
    display: block;
    position: relative !important; width: 100% !important; z-index: 99999 !important; background: #fff; opacity: 1 !important; visibility: visible !important;
    direction: rtl;
    box-sizing: border-box; }
#zvi-header-root * { box-sizing: border-box; font-family: 'Assistant', sans-serif !important; }
.zvi-top-bar { width: 100%; background-color: var(--color-link);
    position: relative; z-index: 10000002;
    height: 45px; display: flex; align-items: center; justify-content: flex-start; overflow: hidden; }
.zvi-top-links-container { width: 100%; max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; display: flex; justify-content: center; align-items: center; gap: 25px; height: 100%; overflow-x: auto;
}
.zvi-top-links-container::-webkit-scrollbar { display: none;
}
.zvi-top-link { color: #ffffff !important; text-decoration: none !important; font-size: 15px; font-weight: 400 !important; transition: opacity 0.2s;
    white-space: nowrap; flex-shrink: 0;
}
.zvi-top-link:hover { opacity: 0.8; }
.zvi-white-header { width: 100%; height: 70px; border-bottom: 1px solid #f0f0f0; display: flex;
    align-items: center; justify-content: center;
    background: #fff; position: relative; z-index: 10000001; }
.zvi-inner-container { width: 100%; max-width: none !important;
    padding: 0 10px !important; display: flex;
    align-items: center; justify-content: space-between; height: 100%;
}

/* Sticky TOC - FIXED OPACITY AND BG AND Z-INDEX */
#sticky-toc-wrapper { 
    background: #ffffff; /* FIX: Changed from variable to white */
    border-bottom: 1px solid #e0e0e0; width: 100%;
    display: none;
    height: 56px; position: relative; z-index: 99999; transition: box-shadow 0.3s ease; 
}

#sticky-toc-wrapper.is-locked-toc { 
    position: fixed !important;
    top: 0 !important;
    left: 0 !important; right: 0 !important; width: 100% !important; 
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    animation: slideDown 0.3s ease forwards;
    background-color: #ffffff !important;
    opacity: 1 !important;
    z-index: 999999; /* Increased Z-Index */
}

body.admin-bar #sticky-toc-wrapper.is-locked-toc { top: 32px !important; }
@media screen and (max-width: 782px) { body.admin-bar #sticky-toc-wrapper.is-locked-toc { top: 46px !important;
} }
@keyframes slideDown { from { transform: translateY(-100%); } to { transform: translateY(0); } }
#zvi-toc-placeholder { display: none; width: 100%;
    height: 56px; background: transparent; }
.toc-container { width: 100%; max-width: none; margin: 0; display: flex; align-items: center; height: 100%;
    padding: 0 10px !important; gap: 15px; }
#sticky-toc-slider { flex-grow: 1; display: flex; align-items: center; overflow-x: auto; white-space: nowrap; gap: 25px;
    scroll-behavior: smooth; -ms-overflow-style: none; scrollbar-width: none; height: 100%; padding: 0 5px; }
#sticky-toc-slider::-webkit-scrollbar { display: none; }
.toc-link { text-decoration: none !important;
    color: #333 !important; font-weight: 400 !important; font-size: 16px !important; height: 100%; display: flex; align-items: center; border-bottom: 3px solid transparent;
    transition: all 0.2s ease; flex-shrink: 0; cursor: pointer; box-sizing: border-box; padding-top: 3px; }
.toc-link:hover { color: #000 !important;
}
.toc-link.active { color: var(--header-brand-blue) !important; font-weight: 700 !important; border-bottom-color: var(--header-brand-blue); }
.toc-link.home-btn { font-weight: 800 !important; color: #000 !important; margin-left: 25px;
    position: relative; padding-left: 5px; }
.toc-link.home-btn::after { content: ""; position: absolute; left: -12px; height: 24px; width: 1px; background: #ccc; opacity: 0.6;
}
.slider-arrow { flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; background-color: var(--header-arrow-bg); border: none; cursor: pointer; display: flex; align-items: center;
    justify-content: center; color: #444; font-size: 14px; font-weight: bold; transition: all 0.2s ease; }
.slider-arrow:hover { background-color: var(--header-arrow-hover); color: #000;
}
@media (max-width: 768px) { .slider-arrow { display: none; } .toc-container { gap: 0; padding: 0 15px !important;
} .zvi-inner-container { padding: 0 15px !important; } #sticky-toc-slider { padding: 0 10px;
} }

/* Header Inner Elements */
.zvi-right-group { display: flex; align-items: center; gap: 15px; flex-shrink: 0; margin-right: 0 !important;
}
.zvi-left-group { display: flex; align-items: center; flex-shrink: 0; padding-left: 0 !important; margin-left: 0 !important; }
#zvi-logo-link { display: block;
    border: none !important; line-height: 0; margin: 0 !important; }
#zvi-logo-img { height: 50px !important; width: auto !important; display: block;
    margin: 0 !important; }
#zvi-main-hamburger { background: transparent !important; border: none !important; cursor: pointer !important; padding: 0 !important; margin: 0 !important;
    display: flex; align-items: center; justify-content: center; color: #333333 !important; width: 44px; height: 44px; }
#zvi-main-hamburger svg { width: 32px; height: 32px;
    fill: #333333 !important; }
.zvi-search-btn { background: transparent !important; border: none !important; cursor: pointer !important; padding: 0 !important; display: flex;
    align-items: center; justify-content: center; color: var(--color-link) !important; width: 40px; height: 40px; text-decoration: none !important; }
.zvi-search-btn svg { width: 26px;
    height: 26px; fill: currentColor; }
.zvi-gtranslate-area { display: flex; align-items: center; justify-content: center; margin: 0 10px; }
.zvi-action-btn { display: flex;
    align-items: center; justify-content: center; text-decoration: none !important; border: none !important; cursor: pointer; padding: 8px 18px; border-radius: 50px; font-size: 15px;
    font-weight: 400 !important; white-space: nowrap; transition: opacity 0.2s; height: 40px; color: #ffffff !important; }
.zvi-action-btn:hover { opacity: 0.9;
}
.zvi-action-btn svg { width: 18px; height: 18px; fill: #ffffff !important; margin-left: 6px; }
.zvi-action-btn span { color: #ffffff !important;
}
.zvi-bg-blue { background-color: var(--color-link) !important; }
.zvi-bg-red { background-color: var(--accent-red) !important;
}

@media (max-width: 1100px) {
    .zvi-top-bar { display: block; white-space: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch;
}
    .zvi-top-links-container { justify-content: flex-start; padding: 0; gap: 0; width: auto; display: inline-flex;
}
    .zvi-top-link { padding: 0 15px; height: 45px; display: flex; align-items: center; border-left: 1px solid rgba(255,255,255,0.2);
    font-size: 14px; }
    .desktop-only { display: none !important; }
    .zvi-white-header { height: 60px;
}
    .zvi-right-group { gap: 8px; }
    #zvi-logo-img { height: 40px !important;
}
}

/* Mobile Menu */
#zvi-drawer-overlay { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: rgba(255,255,255,0.98); z-index: 2147483646;
    display: none; opacity: 0; transition: opacity 0.3s; }
#zvi-drawer-wrapper { position: fixed; top: 0; right: 0; bottom: 0; left: 0;
    width: 100vw; height: 100vh; height: 100dvh; background: #ffffff !important; z-index: 2147483647; transform: translateY(-100%); transition: transform 0.3s ease-out; display: flex;
    flex-direction: column; visibility: hidden; }
body.zvi-menu-active { overflow: hidden !important; }
#zvi-drawer-wrapper.is-open { transform: translateY(0) !important; visibility: visible !important;
}
#zvi-drawer-overlay.is-open { display: block !important; opacity: 1 !important; }
body.zvi-menu-active .elementor-toc, body.zvi-menu-active .toc-list, body.zvi-menu-active #toc, body.zvi-menu-active .table-of-contents { display: none !important;
    visibility: hidden !important; z-index: -1 !important; }
.zvi-drawer-header { height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px;
    background-color: var(--color-link) !important; border-bottom: 1px solid #3e53a0; flex-shrink: 0; }
#zvi-drawer-title { font-size: 18px !important; color: #ffffff !important; font-weight: 700 !important;
    margin: 0; font-family: 'Heebo', sans-serif !important; }
.zvi-nav-icon-btn { background: rgba(255,255,255,0.1) !important; border: 1px solid rgba(255,255,255,0.3) !important; border-radius: 50% !important;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center; width: 36px !important; height: 36px !important; padding: 0 !important; color: #ffffff !important;
}
.zvi-nav-icon-btn svg { width: 20px; height: 20px; fill: #ffffff !important; }
#zvi-back-btn { visibility: hidden; }
#zvi-drawer-body { flex-grow: 1; overflow-y: auto;
    -webkit-overflow-scrolling: touch; background: #ffffff !important; width: 100%; max-width: 600px; margin: 0 auto; padding: 10px 0; display: block;
}
.zvi-level { display: none; flex-direction: column; width: 100%; animation: fadeIn 0.2s ease; }
.zvi-level.active { display: flex !important;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1;
} }
.zvi-level ul, .zvi-level li { padding: 0 !important; margin: 0 !important; list-style: none !important; width: 100%;
}
.zvi-unified-item { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 14px 20px !important; background-color: #ffffff !important; border: none !important;
    border-bottom: 1px solid #f5f5f5 !important; font-size: 16px !important; font-weight: 400 !important; text-align: right; cursor: pointer; margin: 0 !important;
    color: #333333 !important; line-height: 1.2 !important; min-height: 50px !important; text-decoration: none !important; }
.zvi-unified-item span { flex-grow: 1; text-align: right;
    color: #333333 !important; }
.zvi-unified-item:hover { background-color: #f9f9f9 !important; }
.zvi-unified-item:hover span { color: var(--color-link) !important; }
.zvi-unified-item svg { width: 16px;
    height: 16px; fill: #999999 !important; transform: rotate(90deg); margin-right: 10px; flex-shrink: 0; }
.zvi-unified-item:hover svg { fill: var(--color-link) !important;
}
.zvi-drawer-footer { flex-shrink: 0; padding: 15px 20px; padding-bottom: max(15px, env(safe-area-inset-bottom)); border-top: 1px solid #e0e0e0; background: #ffffff !important; display: flex;
    flex-direction: row; gap: 10px; width: 100%; max-width: 600px; margin: 0 auto; }
.zvi-drawer-full-btn { display: flex !important; align-items: center; justify-content: center;
    width: 100%; flex: 1; padding: 10px; border-radius: 6px; font-size: 15px !important; font-weight: 600 !important; text-decoration: none !important; border: none !important;
    gap: 6px; color: #ffffff !important; cursor: pointer; white-space: nowrap; }
.zvi-drawer-full-btn svg { width: 18px; height: 18px; fill: #ffffff !important;
}

/* =========================================
   13. STICKY BAR V3 & MOBILE FOOTER
   ========================================= */
#sticky-bar-v3 { display: none;
}
body > #sticky-bar-v3 { display: block !important; position: fixed !important; top: 0; left: 0; width: 100%; height: 70px; background: var(--sb-bg);
    z-index: 9999999; box-shadow: 0 2px 10px rgba(0,0,0,0.1); border-bottom: 1px solid var(--sb-border); transform: translateY(-100%); transition: transform 0.3s ease-in-out;
}
body > #sticky-bar-v3.show-bar { transform: translateY(0); }
.sb-container { max-width: 100%; height: 100%; display: flex !important; align-items: center; justify-content: space-between;
    padding: 0 10px; }
.sb-slider-wrapper { flex: 1; display: flex; align-items: center; overflow: hidden; margin-left: 15px; }
#sb-slider-content { flex-grow: 1;
    display: flex; align-items: center; overflow-x: auto; white-space: nowrap; gap: 25px; padding-bottom: 12px; margin-bottom: -5px; scrollbar-width: thin; scrollbar-color: var(--sb-scroll-thumb) var(--sb-scroll-track);
    cursor: grab; }
#sb-slider-content::-webkit-scrollbar { height: 6px; }
#sb-slider-content::-webkit-scrollbar-track { background: var(--sb-scroll-track); border-radius: 10px; margin: 0 5px; }
#sb-slider-content::-webkit-scrollbar-thumb { background: var(--sb-scroll-thumb);
    border-radius: 10px; }
#sb-slider-content::-webkit-scrollbar-thumb:hover { background: #2d4373; }
.sb-toc-link { text-decoration: none; color: #444; font-size: 15px; font-weight: 500; cursor: pointer;
    transition: all 0.2s; font-family: 'Assistant', sans-serif; flex-shrink: 0; position: relative; padding-top: 5px; }
.sb-toc-link:hover, .sb-toc-link.active { color: var(--sb-scroll-thumb); font-weight: 800;
}
.sb-home-btn { font-weight: 800 !important; }
.sb-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; padding-bottom: 5px;
}
.sb-btn { display: inline-flex !important; align-items: center; gap: 5px; padding: 5px 12px; border-radius: 50px; color: white !important; font-size: 13px;
    font-weight: bold; text-decoration: none !important; line-height: 1.2; white-space: nowrap; }
.sb-btn-red { background-color: #d32f2f; }
.sb-btn-blue { background-color: #3b5998;
}
.sb-btn:hover { opacity: 0.9; }
.sb-langs { display: flex; align-items: center; gap: 5px; padding-right: 10px; border-right: 1px solid #eee; margin-right: 5px;
}
.sb-langs img { width: 20px; height: 15px; display: block; cursor: pointer; }
@media (max-width: 850px) { .sb-actions { display: none !important;
} }

/* Mobile Sticky Footer */
.mobile-sticky-footer-bar { display: none; position: fixed; bottom: 0; left: 0; right: 0; background-color: #f5f5f5;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1); z-index: 9999; height: auto; min-height: 65px; padding-top: 8px; padding-bottom: 5px; padding-bottom: calc(5px + env(safe-area-inset-bottom));
    justify-content: space-around; align-items: flex-start; direction: rtl; border-top: 1px solid #e0e0e0; }
.sticky-item { flex: 1; display: flex; flex-direction: column; align-items: center;
    justify-content: center; text-decoration: none !important; color: inherit; padding: 0 5px; }
.sticky-icon { width: 24px; height: 24px; margin-bottom: 4px;
}
.sticky-icon svg { width: 100%; height: 100%; display: block; }
.sticky-text { font-family: 'Assistant', sans-serif; font-size: 13px; line-height: 1.2; text-align: center;
    font-weight: 600; }
.red-theme { color: var(--accent-red); fill: var(--accent-red); }
.blue-theme { color: var(--color-link); fill: var(--color-link);
}
@media (max-width: 768px) { .mobile-sticky-footer-bar { display: flex; } body { padding-bottom: 70px;
} }

/* =========================================
   14. CUSTOM SITE FOOTER
   ========================================= */
.custom-site-footer { background-color: #f9f9f9;
    color: #333333;
    font-family: 'Assistant', sans-serif; border-top: 5px solid var(--color-link); padding-top: 40px; direction: rtl; font-size: 16px; }
.footer-inner-container { max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; display: flex; flex-wrap: wrap; justify-content: space-between; }
.footer-column { flex: 1; min-width: 180px; margin-bottom: 30px;
    padding-left: 15px;
}
.footer-column h3 { color: var(--color-link); font-size: 22px; font-weight: 400; margin-bottom: 20px; margin-top: 0; font-family: 'Heebo', sans-serif;
    border-bottom: 2px solid #e0e0e0;
    padding-bottom: 10px; display: inline-block; }
.footer-column ul { list-style: none; padding: 0; margin: 0;
}
.footer-column ul li { margin-bottom: 10px;
    line-height: 1.5; }
.footer-column ul li a { color: #555555; text-decoration: none; font-size: 16px;
    font-weight: 400; transition: all 0.3s ease;
}
.footer-column ul li a:hover { color: var(--accent-red); padding-right: 5px; }
.contact-row { display: flex;
    align-items: center; margin-bottom: 15px; gap: 10px;
}
.contact-icon-box { width: 40px; height: 40px; background-color: var(--color-link); border-radius: 50%; display: flex; align-items: center;
    justify-content: center; transition: background-color 0.3s;
}
.contact-icon-box:hover { background-color: var(--accent-red); }
.contact-icon-box svg { width: 20px; height: 20px; fill: white;
}
.contact-text { color: #333; font-weight: 400;
}
.footer-bottom-section { background-color: #fff; padding: 40px 20px; text-align: center; margin-top: 20px;
    border-top: 1px solid #eee; }
.google-box { max-width: 600px;
    margin: 0 auto 40px auto; border: 1px solid #e0e0e0; border-radius: 8px;
    padding: 20px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); display: flex;
    flex-direction: column; align-items: center; }
.google-header { display: flex; align-items: center;
    gap: 10px; margin-bottom: 10px; }
.g-logo svg { width: 24px;
    height: 24px; }
.brand-name { font-weight: 400; font-size: 18px; color: #333;
}
.rating-display { margin-bottom: 5px; }
.rating-score { font-size: 20px; font-weight: bold;
    color: #333; }
.stars { color: #FFD700; font-size: 20px; letter-spacing: 2px;
}
.review-count { color: #777; font-size: 14px; margin-bottom: 20px;
}
.google-buttons { display: flex; gap: 15px; flex-wrap: wrap; justify-content: center;
}
.g-btn { background-color: var(--color-link); color: #ffffff !important; padding: 10px 30px;
    border-radius: 50px; text-decoration: none; font-weight: 400; font-size: 16px;
    transition: background-color 0.3s; border: 2px solid var(--color-link); }
.g-btn:hover { background-color: #384a8c;
    border-color: #384a8c; color: #ffffff !important; }
.g-btn.write-review { background-color: transparent;
    color: var(--color-link) !important; }
.g-btn.write-review:hover { background-color: var(--color-link); color: #ffffff !important;
}
.social-section { margin-bottom: 30px; }
.social-section h3 { font-size: 22px;
    color: #000; font-weight: 400; margin-bottom: 15px; font-family: 'Heebo', sans-serif;
}
.social-icons-list { display: flex; justify-content: center; gap: 15px; padding: 0;
    list-style: none; }
.social-icon-item a { display: block; transition: transform 0.2s;
}
.social-icon-item a:hover { transform: scale(1.1); }
.social-icon-item svg { width: 40px;
    height: 40px; }
.footer-disclaimer { max-width: 1000px; margin: 0 auto;
    font-size: 14px; color: #333; line-height: 1.6; text-align: center; padding-top: 20px;
    border-top: 1px solid #eee;
}
@media (max-width: 768px) { .footer-column { flex: 100%; text-align: center; border-bottom: 1px solid #eaeaea; padding-bottom: 20px;
    padding-left: 0;
} .contact-row { justify-content: center; } .footer-column h3 { border-bottom: none;
} }

/* =========================================
   15. RELATED POSTS PLUGIN
   ========================================= */
.franco-related-wrapper { margin-top: 50px; border-top: 1px solid #eee;
    padding-top: 30px; }
.franco-related-title { font-family: 'Heebo', sans-serif; color: var(--color-link); text-align: center; font-size: 32px !important; font-weight: 700 !important; margin-bottom: 25px !important;
}

/* =========================================
   16. MONUMENTS PAGE STYLES
   ========================================= */

.zvi-section-spacer { margin-bottom: 80px;
}
.wp-block-heading { margin-bottom: 30px !important;
    text-align: center !important; }

/* --- Product Card Container (Overrides) --- */
.fa-product-card {
    display: flex !important;
    flex-direction: column !important;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    transition: transform 0.2s ease;
    height: auto !important;
    min-height: 100% !important;
    min-width: 300px;
    max-width: 300px;
    position: relative;
}

.fa-product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* --- Image Section --- */
.fa-card-image {
    position: relative;
    overflow: hidden;
    height: 200px;
    flex-shrink: 0;
}

.fa-card-img-elem {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.fa-product-card:hover .fa-card-img-elem {
    transform: scale(1.05);
}

/* FIX: Placeholder height matches Image height exactly */
.zvi-icon-placeholder {
    height: 200px !important;
    width: 100%; background-color: #f4f8fc;
    display: flex; align-items: center; justify-content: center; font-size: 80px;
    flex-shrink: 0 !important;
}

/* --- Content Section --- */
.fa-card-content {
    padding: 20px;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important; /* This forces content to take up available space */
    text-align: right;
    justify-content: space-between !important; 
}

.fa-card-title {
    margin: 0 0 10px 0;
    font-size: 1.6rem !important;
    color: #4F64B0;
    font-weight: 700;
    font-family: 'Heebo', sans-serif !important;
    line-height: 1.1;
    /* FIX: Force minimum height to avoid jumping */
    min-height: 1.2em;
}

.fa-card-desc {
    font-size: 0.95rem;
    color: #555;
    margin-bottom: 15px;
    line-height: 1.5;
}

/* --- Pros & Cons List --- */
.fa-pros-cons {
    margin-bottom: 15px;
    background: #f9f9f9;
    padding: 10px;
    border-radius: 6px;
    flex-grow: 1; /* Helps push content down */
      
    /* NEW FIX: FIXED MIN HEIGHT TO ALIGN BUTTONS */
    min-height: 155px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.fa-pros-cons ul { list-style: none; padding: 0; margin: 0;
}

.fa-pros-cons li {
    margin-bottom: 6px;
    position: relative;
    padding-right: 25px;
    font-size: 0.9rem;
    color: #444;
    text-align: right;
}
.fa-pros-cons li:last-child { margin-bottom: 0; }

.fa-pro::before { content: "✓";
    color: #27ae60; position: absolute; right: 0; font-weight: bold;
}
.fa-con::before { content: "✕"; color: #c0392b; position: absolute; right: 0; font-weight: bold;
}

/* --- Footer & Button --- */
.fa-card-footer {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto !important;
    /* CRITICAL: Pushes button to bottom */
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
}

/* OVERRIDE FOR MORE INFO BTN TO BE WHITE/BLUE */
.fa-btn-outline {
    background-color: #ffffff !important;
    color: var(--color-link) !important;
    border: 2px solid var(--color-link) !important;
    text-decoration: none !important;
    padding: 8px 15px;
    border-radius: 50px;
    font-size: 0.9rem;
    text-align: center;
    display: block;
    transition: all 0.3s;
}
.fa-btn-outline:hover { background: #f0f4ff !important;
}

/* EXPLICIT BOOK BUTTON */
.fa-btn-book {
     background-color: var(--color-link) !important;
     color: #ffffff !important;
     border: 2px solid var(--color-link) !important;
}

/* --- Top 5 Section --- */
.fr-top-5-box {
    background-color: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 12px;
    padding: 30px; margin-bottom: 60px; box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.fr-top-5-box h3 {
    text-align: center; color: #4F64B0;
    margin-bottom: 35px;
    font-size: 42px !important; margin-top: 0; font-family: 'Heebo', sans-serif !important;
}
.fr-museum-row {
    display: flex; align-items: center;
    justify-content: space-between;
    background: #fff; padding: 20px; margin-bottom: 15px; border-radius: 8px;
    border-right: 4px solid #CF3834; transition: transform 0.2s; gap: 20px;
}
.fr-museum-row:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(0,0,0,0.08); }
.fr-att-icon { font-size: 36px; width: 50px; text-align: center; flex-shrink: 0;
}
.fr-att-details { flex-grow: 1; text-align: right; }
.fr-att-title { font-size: 32px; color: #4F64B0; display: block; margin-bottom: 6px; font-family: 'Heebo', sans-serif !important;
}
.fr-att-desc { font-size: 16px; color: #666; display: block; line-height: 1.5; }
.fr-att-btn {
    background-color: #CF3834; color: #fff !important;
    padding: 10px 25px;
    border-radius: 50px; font-size: 16px; font-weight: 700;
    text-decoration: none; transition: background 0.3s; white-space: nowrap;
}
.fr-att-btn:hover { background-color: #b02a27;
}
.att-sub-link { display: block; margin-top: 5px; font-size: 14px; color: #CF3834; text-decoration: underline !important;
}

/* --- Special Tip Box --- */
.zvi-special-tip-box {
    background-color: #f9f9f9; border: 2px solid #4F64B0; padding: 40px;
    margin: 60px 0; border-radius: 12px; position: relative; text-align: center;
}
.zvi-special-tip-title {
    color: #4F64B0; font-size: 2.2rem; display: block;
    margin-bottom: 20px;
    font-family: 'Heebo', sans-serif !important;
}
.zvi-ticket-btn-red {
    background-color: #CF3834 !important; color: #fff !important;
    padding: 12px 30px;
    border-radius: 50px; font-size: 18px;
    text-decoration: none; display: inline-block; transition: background 0.3s;
}

/* --- Pass Card --- */
.zvi-pass-card {
    background: linear-gradient(135deg, #ffffff 0%, #f4f8fc 100%);
    border: 2px solid #4F64B0;
    border-radius: 16px; padding: 35px;
    margin: 60px 0; box-shadow: 0 10px 30px rgba(79, 100, 176, 0.1);
    display: flex; align-items: center;
    gap: 30px; direction: rtl;
}
.zvi-pass-icon {
    font-size: 60px; background: #fff; width: 100px; height: 100px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08); flex-shrink: 0; border: 1px solid #e0e0e0;
}
.zvi-pass-content { flex-grow: 1; text-align: right; }
.zvi-pass-title { color: #4F64B0; font-size: 38px !important; margin-bottom: 10px; margin-top: 0;
    font-family: 'Heebo', sans-serif !important;
}

/* --- Sticky Footer --- */
.fa-sticky-footer {
    position: fixed; bottom: 0; left: 0;
    width: 100%;
    background-color: #ffffff;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    padding: 12px 15px; z-index: 9999; border-top: 3px solid #e74c3c;
    display: none;
    box-sizing: border-box;
}
.fa-sticky-content { display: flex; justify-content: space-between; align-items: center; max-width: 100%; }
.fa-sticky-info { display: flex; flex-direction: column; text-align: right;
}
.fa-sticky-title { font-weight: bold; font-size: 0.95rem; color: #333; }
.fa-sticky-price { font-size: 0.8rem; color: #7f8c8d;
}
.fa-sticky-btn {
    background-color: #e74c3c; color: white !important; text-decoration: none;
    padding: 8px 20px; border-radius: 4px; font-weight: bold;
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    .fa-sticky-footer { display: block;
}
    body { padding-bottom: 70px; }
    .fa-product-card { min-width: 85vw; max-width: 85vw;
}
    .fr-museum-row { flex-direction: column; text-align: center; border-right: none; border-top: 4px solid #CF3834;
}
    .fr-att-details { text-align: center; }
    .fr-att-btn { width: 100%;
}
    .zvi-pass-card { flex-direction: column; text-align: center; }
    .zvi-pass-content { text-align: center;
}
}

/* =========================================
   18. MIGRATED FROM PHP HEADER (UPDATED FIXES)
   ========================================= */

#wpadminbar {
    z-index: 9999999 !important;
    top: 0 !important;
    position: fixed !important;
    width: 100% !important;
}

body.admin-bar {
    margin-top: 32px !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar {
        margin-top: 46px !important;
}
}

#zvi-main-hamburger.in-sticky-toc {
    height: 45px !important;
    width: 70px !important; 
    padding: 0 10px !important;
    margin-left: 15px !important;
    margin-top: 0 !important; /* FIXED */
    background-color: #4b65a5 !important; 
    border: none !important; 
    box-shadow: none !important;
    border-radius: 0 !important;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    order: -1; /* Ensure it is first */
}

#zvi-main-hamburger.in-sticky-toc svg,
#zvi-main-hamburger.in-sticky-toc svg path {
    width: 30px !important;
    height: 30px !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

body.admin-bar #sticky-toc-wrapper.is-locked-toc {
    top: 32px !important;
}
@media screen and (max-width: 782px) {
    body.admin-bar #sticky-toc-wrapper.is-locked-toc {
        top: 46px !important;
}
}

/* =========================================
   19. SMART PAGE HEADER (Shortcode [zvi_header])
   ========================================= */

.zvi-header-wrapper-root {
    --z-bg-color: #15399B;
    --z-text-main: #ffffff;
    --z-border: rgba(255,255,255,0.3);
    --z-brand-blue: #4F64B0; 
}

.zvi-header-wrapper {
    font-family: 'Assistant', sans-serif !important;
    background-color: var(--z-bg-color);
    color: #ffffff !important;
    padding: 40px 30px;
    margin-bottom: 30px;
    direction: rtl;
    text-align: right;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    font-weight: 400 !important;
    overflow: hidden; 
}

.zvi-inner-content {
    max-width: 1200px; 
    margin: 0 auto;
    position: relative;
}

.zvi-flex-container {
    display: flex;
    align-items: center; 
    justify-content: space-between;
    gap: 50px;
}

.zvi-content-side {
    flex: 1;
    min-width: 0; 
}

.zvi-image-side {
    flex: 0 0 480px; 
    max-width: 50%;
}

.zvi-hero-img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/10; 
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.25); 
    border: 2px solid rgba(255,255,255,0.1); 
    display: block;
}

.zvi-breadcrumbs, .rank-math-breadcrumb, .rank-math-breadcrumb span, .rank-math-breadcrumb a {
    font-family: 'Assistant', sans-serif !important;
    color: #ffffff !important; 
    font-size: 14px;
    font-weight: 400 !important; 
    text-decoration: none; 
    margin-bottom: 15px; 
    display: inline-block;
}
.zvi-breadcrumbs a:hover, .rank-math-breadcrumb a:hover { text-decoration: underline;
}

.zvi-dynamic-h1, .zvi-sub-title { 
    font-family: 'Heebo', sans-serif !important;
    font-weight: 400 !important; 
    color: #ffffff !important;
    margin: 0 0 15px 0; 
    line-height: 1.2;
}
.zvi-dynamic-h1 { font-size: clamp(28px, 5vw, 46px); text-shadow: 0 2px 4px rgba(0,0,0,0.1);
} 
.zvi-sub-title { font-size: clamp(24px, 4vw, 32px);
}

.zvi-cat-description, .zvi-cat-description p { 
    font-family: 'Assistant', sans-serif !important;
    color: #ffffff !important; 
    font-size: 18px; 
    line-height: 1.6; 
    font-weight: 400 !important;
}

.zvi-meta-strip { 
    font-family: 'Assistant', sans-serif !important;
    display: flex;
    flex-wrap: wrap; 
    align-items: center; 
    gap: 15px; 
    font-size: 15px; 
    padding-top: 20px; 
    border-top: 1px solid var(--z-border); 
    margin-top: 25px;
    color: #ffffff !important;
}
.zvi-meta-strip span, .zvi-meta-strip div, .zvi-meta-strip a { color: #ffffff !important; text-decoration: none;
}
.zvi-meta-link { border-bottom: 1px solid transparent; transition: 0.2s;
} .zvi-meta-link:hover { border-bottom-color: #ffffff; }
.zvi-icon { width: 16px; height: 16px;
    fill: #ffffff !important; opacity: 0.9; margin-left: 5px; position: relative;
    top: 2px;}
.zvi-divider { color: #ffffff !important; opacity: 0.6;
}
.zvi-meta-item { display: flex; align-items: center;
}

a.zvi-tag { 
    font-family: 'Assistant', sans-serif !important;
    background: #fff !important;
    border: 1px solid #fff !important;
    color: var(--z-brand-blue) !important; 
    padding: 4px 14px; 
    border-radius: 20px; 
    font-size: 13px; 
    font-weight: 400 !important; 
    text-decoration: none;
    transition: 0.2s;
}
a.zvi-tag:hover { background: var(--z-brand-blue) !important; color: #ffffff !important; border-color: #ffffff !important;
}

@media (max-width: 900px) { 
    .zvi-header-wrapper { padding: 30px 20px;
}
    .zvi-flex-container { flex-direction: column; gap: 25px; }
    .zvi-image-side { width: 100%; max-width: 100%;
    flex: none; }
    .zvi-hero-img { aspect-ratio: 16/9; }
    .zvi-dynamic-h1 { font-size: 30px;
}
}

/* =========================================
   20. AIRPORT LIST FIX (NEW)
   ========================================= */

/* תיקון רשימת שדות התעופה - עיצוב ככרטיסים */
.hotel-card-container ul {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* עיצוב כל שורה ככרטיס נפרד */
.hotel-card-container li {
    background-color: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    padding: 20px !important; /* דורס את הריפוד הקודם */
    margin-bottom: 0 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* יישור לימין */
    transition: transform 0.2s ease;
}

.hotel-card-container li:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    border-color: #dcebf7;
}

/* ביטול ה-V הירוק הישן */
.hotel-card-container li strong::before {
    content: none !important;
}

/* עיצוב הכותרת (שם שדה התעופה) */
.hotel-card-container li strong {
    font-family: 'Heebo', sans-serif !important;
    font-size: 1.2rem;
    color: var(--color-link);
    margin-bottom: 10px;
    display: block;
    width: 100%;
    border-bottom: 1px solid #f5f5f5;
    padding-bottom: 10px;
}

/* עיצוב האימוג'י */
.hotel-card-container li strong .emoji-icon {
    font-size: 1.4rem;
    margin-left: 10px;
}

/* סידור הכפתור */
.hotel-card-container .hotel-link-btn {
    margin-top: 15px;
    align-self: flex-end;
    /* זורק את הכפתור לצד שמאל */
    font-size: 0.95rem;
    background-color: #f4f8fc !important;
    border: 1px solid #dcebf7;
}

.hotel-card-container .hotel-link-btn:hover {
    background-color: var(--color-link) !important;
    border-color: var(--color-link) !important;
}

/* =========================================
   22. EMERGENCY HEADER FIX (Force Icon Sizes)
   ========================================= */
#zvi-header-root img, 
#zvi-logo-img { 
    height: 50px !important; 
    width: auto !important; 
    max-width: none !important; 
}

#zvi-header-root svg,
#zvi-main-hamburger svg,
.zvi-search-btn svg,
.zvi-nav-icon-btn svg,
.zvi-action-btn svg { 
    width: 24px !important; 
    height: 24px !important; 
    max-width: 24px !important;
    max-height: 24px !important;
}

#zvi-main-hamburger svg { 
    width: 32px !important; 
    height: 32px !important; 
}

.zvi-search-btn svg { 
    width: 26px !important; 
    height: 26px !important; 
}

/* =========================================
   23. ICON NAV GRID FIX
   ========================================= */
.icon-nav-section { background-color: #f9f9f9; padding-top: 60px; padding-bottom: 60px; }
.icon-nav-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; /* חובה 3 עמודות */
    gap: 30px;
    max-width: 900px;
    margin: 0 auto;
    direction: rtl;
    justify-items: center; /* מרכוז האייקונים בתוך התא */
}

.icon-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none !important;
    padding: 20px;
    width: 100%; /* לוודא שתופס את רוחב התא */
    box-sizing: border-box;
    transition: transform 0.2s ease;
}
.icon-box:hover { transform: translateY(-5px); }
.icon-box img { width: 80px; height: 80px; margin-bottom: 15px; }
.icon-title { font-family: 'Heebo', sans-serif; font-size: 1.25rem; font-weight: 700; color: var(--color-link); margin: 0; text-align: center; }

@media (max-width: 768px) {
    .icon-nav-grid {
        grid-template-columns: repeat(2, 1fr) !important; /* במובייל 2 עמודות */
        gap: 15px;
    }
}

/* =========================================
   24. LECTURES GRID FIX
   ========================================= */
.lectures-section { padding: 80px 20px; background-color: #ffffff; width: 100%; box-sizing: border-box; }
.lectures-grid {
    display: flex !important;
    flex-direction: row !important; /* לוודא שזה שורה בדסקטופ */
    flex-wrap: nowrap !important; /* למנוע שבירת שורה */
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    max-width: 1150px;
    margin: 0 auto;
    direction: rtl;
}

.lectures-text-col { flex: 1; text-align: right; min-width: 0; /* מונע גלישה */ }
.lectures-img-col { flex: 1; min-width: 0; }
.lectures-img-col img { width: 100%; height: auto; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.15); display: block; }

@media (max-width: 900px) {
    .lectures-grid {
        flex-direction: column-reverse !important; /* במובייל - עמודה */
        text-align: center;
        gap: 30px;
    }
    .lectures-text-col { text-align: center; }
}

/* =========================================
   25. SLIDER MOBILE PEEK (85% Width)
   ========================================= */
/* תיקון סליידר למובייל עם אפקט הצצה */
@media (max-width: 768px) {
    .zvi-hotels-scroller, .scroll-slider, .zvi-district-scroller {
        padding-right: 20px !important;
        padding-left: 20px !important;
        gap: 15px !important;
    }
    
    /* UPDATED: Added all card classes to ensure they all get the peek effect */
    .zvi-hotel-card, .scroll-card, .floor-card, .fa-product-card {
        flex: 0 0 85% !important; /* רוחב הכרטיס 85% - משאיר מקום לכרטיס הבא */
        max-width: 85% !important;
        min-width: 85% !important;
        width: 85% !important;
        margin-left: 0 !important; /* Ensure no extra margin breaks the layout */
    }
}

/* =========================================
   26. UTILITIES FOR HTML CLEANUP
   ========================================= */
.section-gray-bg {
    background-color: #f9f9f9;
    padding-top: 60px;
    padding-bottom: 60px;
}

.facebook-card-custom {
    padding: 25px !important;
    text-decoration: none !important;
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* =========================================
   GTRANSLATE MOBILE FIX - V4 (COMPACT & FIT)
   ========================================= */
@media (max-width: 900px) {
    
    /* 1. צמצום המרווח הכללי בין האלמנטים בהדר (חיפוש, המבורגר, דגלים) */
    .zvi-right-group {
        gap: 2px !important; /* דוחס את כל הקבוצה הימנית */
    }

    /* 2. הגדרת איזור הדגלים */
    .zvi-right-group .zvi-gtranslate-area {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        margin: 0 !important; /* ביטול שוליים חיצוניים לגמרי */
        padding: 0 !important;
    }

    /* 3. עטיפה פנימית */
    .zvi-gtranslate-area .gtranslate_wrapper,
    .zvi-gtranslate-area > div {
        display: flex !important;
        align-items: center !important;
        gap: 0 !important; /* הצמדת הדגלים אחד לשני */
    }

    /* 4. הקטנת האייקונים ל-19px (הפשרה המושלמת) */
    .zvi-gtranslate-area img,
    .zvi-gtranslate-area svg,
    div.gtranslate_wrapper img {
        width: 19px !important;       /* הקטנה מ-24 ל-19 */
        height: 19px !important;      
        min-width: 19px !important;    
        max-width: 19px !important;
        margin: 0 2px !important;     /* רווח מזערי בין הדגלים */
        padding: 0 !important;
        object-fit: cover !important;
        display: block !important;
        border-radius: 2px;
    }

    /* 5. איפוס קישורים */
    .zvi-gtranslate-area a {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        font-size: 0 !important;
    }
}

/* --- Zvi Single Post Template Styles & Fixes --- */

/* 1. Text Readability Optimization */
.zvi-content-body {
    max-width: 800px !important; 
    margin: 0 auto;
}

/* 2. Mobile Horizontal Scroll Fix (Overflow) */
.site-main, .entry-content {
    overflow-x: hidden;
    max-width: 100vw;
}
.main-container {
    box-sizing: border-box;
}

/* 3. Author Box Fix - Centering & Width */
.zvi-author-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 40px auto;
}
/* Force internal div to be wider and centered - UPDATED to 1000px */
.zvi-author-wrapper > div {
    margin-right: auto !important;
    margin-left: auto !important;
    max-width: 1000px !important; /* הוגדל מ-800px כדי שהכותרת תכנס בשורה אחת */
    width: 100% !important;
}

/* 4. Paris Articles Module Styles */
.zvi-articles-wrapper {
    font-family: var(--font-body);
    margin-bottom: 50px;
    direction: rtl;
    width: 100%;
}
.zvi-articles-scroller {
    display: flex;
    overflow-x: auto;
    gap: 20px;
    padding: 10px 5px 30px 5px;
    scrollbar-width: thin;
    scrollbar-color: var(--color-link) #f0f0f0;
    -webkit-overflow-scrolling: touch;
}
.zvi-articles-scroller::-webkit-scrollbar { height: 8px; }
.zvi-articles-scroller::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 4px; }
.zvi-articles-scroller::-webkit-scrollbar-thumb { background: var(--color-link); border-radius: 4px; }

.zvi-article-card {
    flex: 0 0 260px;
    background: #fdfdfd;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: transform 0.2s;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-decoration: none !important;
}
.zvi-article-card:hover { transform: translateY(-3px); border-color: var(--color-link); }
.zvi-art-icon { font-size: 40px; margin-bottom: 10px; display: block; }
.zvi-art-title {
    font-family: var(--font-heading);
    font-size: 24px;
    color: var(--accent-red);
    margin-bottom: 10px;
    line-height: 1.1;
    font-weight: normal;
}
.zvi-art-desc {
    font-size: 15px;
    color: #000;
    margin-bottom: 15px;
    line-height: 1.3;
    flex-grow: 1;
    font-weight: 400;
}
.zvi-art-btn {
    background-color: #fff;
    color: var(--color-link) !important;
    border: 2px solid var(--color-link);
    padding: 8px 15px;
    border-radius: 50px;
    text-decoration: none !important;
    font-weight: 700;
    display: inline-block;
    transition: all 0.3s;
    font-size: 16px;
}
.zvi-article-card:hover .zvi-art-btn {
    background-color: var(--color-link);
    color: #fff !important;
}

/* 5. Social Module Styles */
#zvi-social-unique-wrapper {
    background-color: #f4f4f4;
    padding: 50px 20px;
    margin: 40px 0;
    text-align: center;
    direction: rtl;
    box-sizing: border-box;
    width: 100%;
    font-family: var(--font-body) !important;
}
#zvi-social-unique-wrapper .zvi-headers { margin-bottom: 30px; }
#zvi-social-unique-wrapper .zvi-sub-text {
    font-family: var(--font-heading) !important;
    font-size: 32px !important;
    color: #333 !important;
    margin: 0 0 5px 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    display: block !important;
    font-weight: 400 !important;
}
#zvi-social-unique-wrapper .zvi-main-text {
    font-family: var(--font-heading) !important;
    font-size: 50px !important;
    color: var(--color-link) !important;
    margin: 0 0 30px 0 !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    padding: 0 !important;
    text-align: center !important;
    display: block !important;
}
#zvi-social-unique-wrapper .zvi-flex-row {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    gap: 20px !important;
    max-width: 1140px;
    margin: 0 auto;
    width: 100%;
}
#zvi-social-unique-wrapper a.zvi-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #ffffff !important;
    padding: 30px 10px !important;
    border-radius: 4px !important;
    border: 1px solid #eee !important;
    text-decoration: none !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    flex: 1 1 0px !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}
#zvi-social-unique-wrapper a.zvi-item:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1) !important;
    border-color: var(--color-link) !important;
}
#zvi-social-unique-wrapper .icon-box {
    width: 60px !important;
    height: 60px !important;
    margin-bottom: 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--color-link) !important;
    transition: color 0.3s ease !important;
}
#zvi-social-unique-wrapper svg {
    width: 45px !important;
    height: 45px !important;
    min-width: 45px !important;
    max-width: 45px !important;
    fill: currentColor !important;
    display: block !important;
}
#zvi-social-unique-wrapper a.zvi-item:hover .icon-box { color: var(--accent-red) !important; }
#zvi-social-unique-wrapper .text-label {
    font-family: var(--font-body) !important;
    font-size: 18px !important;
    color: var(--color-link) !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    width: 100% !important;
}
#zvi-social-unique-wrapper a.zvi-item:hover .text-label { color: var(--accent-red) !important; }

/* 6. Mobile & Responsive Adjustments */
@media (max-width: 768px) {
    /* Social */
    #zvi-social-unique-wrapper .zvi-flex-row { flex-direction: column !important; gap: 15px !important; }
    #zvi-social-unique-wrapper a.zvi-item { flex-direction: row !important; justify-content: flex-start !important; padding: 15px 20px !important; width: 100% !important; }
    #zvi-social-unique-wrapper .icon-box { margin-bottom: 0 !important; margin-left: 20px !important; width: 40px !important; height: 40px !important; }
    #zvi-social-unique-wrapper svg { width: 30px !important; height: 30px !important; min-width: 30px !important; }
    #zvi-social-unique-wrapper .text-label { text-align: right !important; font-size: 16px !important; width: auto !important; }

    /* Content Body Padding */
    .zvi-content-body {
        padding-right: 20px;
        padding-left: 20px;
        width: 100%;
        box-sizing: border-box;
    }

    /* Prevent author box overflow on mobile */
    .zvi-author-wrapper > div {
        width: 90% !important;
    }
}
/* =========================================
   BLOCKQUOTE STYLING (MATCHING SITE THEME)
   ========================================= */

/* איפוס ועיצוב כללי לבלוק הציטוט */
blockquote, .wp-block-quote {
    /* שימוש במשתנים הקיימים שלך */
    background-color: var(--bg-quote, #F4F8FC); 
    border-right: 5px solid var(--color-link, #4F64B0);
    
    /* עיצוב התיבה */
    margin: 40px auto;
    padding: 30px 40px 30px 30px;
    border-radius: 8px 0 0 8px; /* פינות עגולות רק בצד שמאל */
    position: relative;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03); /* צל עדין תואם לשאר הכרטיסים באתר */
    
    /* טיפוגרפיה */
    font-family: 'Assistant', sans-serif !important;
    font-size: 1.25rem; /* מעט גדול יותר מהטקסט הרגיל (שהוא 19px) */
    font-weight: 600;
    font-style: italic;
    line-height: 1.6;
    color: #2c3e50; /* כחול-אפור כהה לקריאות */
}

/* אלמנט הגרשיים הדקורטיבי */
blockquote::before, .wp-block-quote::before {
    content: "\201D"; /* סימן גרשיים */
    font-family: 'Heebo', sans-serif; /* שימוש בפונט הכותרות לאייקון */
    font-size: 120px;
    line-height: 1;
    position: absolute;
    top: -20px;
    right: 10px;
    color: var(--color-link, #4F64B0);
    opacity: 0.15; /* שקיפות כדי שזה יהיה רקע עדין */
    pointer-events: none;
}

/* טיפול בפסקאות בתוך הציטוט */
blockquote p, .wp-block-quote p {
    font-size: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: inherit !important;
}

/* קרדיט למי שאמר את הציטוט (cite) */
blockquote cite, .wp-block-quote cite, .wp-block-quote__citation {
    display: block;
    margin-top: 15px;
    font-family: 'Heebo', sans-serif !important; /* פונט כותרות */
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--color-link, #4F64B0);
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 1px;
}

blockquote cite::before, .wp-block-quote__citation::before {
    content: "— ";
    color: var(--accent-red, #CF3834); /* שימוש באדום המותג */
    font-weight: bold;
}

/* =========================================
   MOBILE ADJUSTMENTS
   ========================================= */
@media (max-width: 768px) {
    blockquote, .wp-block-quote {
        padding: 25px 25px 25px 20px; /* צמצום ריווחים */
        margin: 30px 0;
        font-size: 1.15rem; /* הקטנה קלה של הפונט */
        border-right-width: 4px; /* הקטנת עובי הפס הצידי */
    }

    blockquote::before, .wp-block-quote::before {
        font-size: 100px; /* הקטנת הגרשיים */
        top: -15px;
        right: 5px;
    }
}