/**
 * Greco Theme - Franchise Page Styles
 * Transparent header support + SVG decorations
 */

/* ========================================
   Transparent header on franchise page
   ======================================== */

body.page-franczyza {
    padding-top: 0 !important;
}

body.page-franczyza .wp-site-blocks > * {
    margin-block-start: 0 !important;
}

body.page-franczyza .wp-site-blocks {
    gap: 0 !important;
}

body.page-franczyza .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.page-franczyza .site-main > * {
    margin-block-start: 0 !important;
}

body.page-franczyza .site-header:not(.header-scrolled) {
    background: transparent !important;
    box-shadow: none;
    border-bottom-color: transparent;
}

body.page-franczyza .site-header:not(.header-scrolled) .header-wrapper {
    background: transparent !important;
    background-color: transparent !important;
}

body.page-franczyza .site-header:not(.header-scrolled) .site-logo {
    filter: brightness(0) invert(1);
}

body.page-franczyza .site-header:not(.header-scrolled) .main-navigation .menu-item > a:not(.sub-menu a),
body.page-franczyza .site-header:not(.header-scrolled) .nav-menu > li > a,
body.page-franczyza .site-header:not(.header-scrolled) .nav-menu > li > .menu-item-label {
    color: #FFFFFF;
}

body.page-franczyza .site-header:not(.header-scrolled) .nav-menu > li > a:hover,
body.page-franczyza .site-header:not(.header-scrolled) .nav-menu > li > .menu-item-label:hover {
    color: rgba(255, 255, 255, 0.7);
}

body.page-franczyza .site-header:not(.header-scrolled) .dropdown-trigger {
    color: #FFFFFF;
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.25);
}

body.page-franczyza .site-header:not(.header-scrolled) .dropdown-icon,
body.page-franczyza .site-header:not(.header-scrolled) .dropdown-chevron {
    color: #FFFFFF;
}

body.page-franczyza .site-header:not(.header-scrolled) .dropdown-text {
    color: #FFFFFF;
}

body.page-franczyza .site-header:not(.header-scrolled) .theme-toggle {
    color: #FFFFFF;
    border-color: rgba(255, 255, 255, 0.25);
}

body.page-franczyza .site-header:not(.header-scrolled) .mobile-menu-toggle {
    color: #FFFFFF;
}

/* ========================================
   Franchise Hero — layout & SVG decorations
   ======================================== */

.franchise-hero {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    display: flex;
    align-items: center;
}

/* Force white text in hero regardless of dark mode */
.franchise-hero .has-white-color {
    color: #FFFFFF !important;
}

.franchise-hero .has-gold-color {
    color: #C9A227 !important;
}

/* Title strong — blue like locations hero */
.franchise-hero h1 strong {
    color: #1A8CFF;
    font-weight: 700;
}

/* Greek meander pattern — top-right corner */
.franchise-hero::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 550px;
    height: 550px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 550 550'%3E%3C!-- Greek key / meander — row 1 --%3E%3Cpath d='M550 0 L550 50 L500 50 L500 15 L450 15 L450 50 L400 50 L400 0' fill='none' stroke='rgba(201,162,39,0.35)' stroke-width='2'/%3E%3Cpath d='M400 0 L400 50 L350 50 L350 15 L300 15 L300 50 L250 50 L250 0' fill='none' stroke='rgba(201,162,39,0.25)' stroke-width='2'/%3E%3C!-- Greek key — row 2 --%3E%3Cpath d='M550 70 L550 120 L500 120 L500 85 L450 85 L450 120 L400 120 L400 70' fill='none' stroke='rgba(201,162,39,0.25)' stroke-width='2'/%3E%3Cpath d='M400 70 L400 120 L350 120 L350 85 L300 85 L300 120 L250 120 L250 70' fill='none' stroke='rgba(201,162,39,0.15)' stroke-width='2'/%3E%3C!-- Decorative arches --%3E%3Cpath d='M450 220 Q450 140 550 140' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='1.5'/%3E%3Cpath d='M400 280 Q400 150 550 150' fill='none' stroke='rgba(255,255,255,0.08)' stroke-width='1.5'/%3E%3Cpath d='M350 340 Q350 160 550 160' fill='none' stroke='rgba(255,255,255,0.05)' stroke-width='1.5'/%3E%3C!-- Olive wreath arc with leaves --%3E%3Cpath d='M540 350 Q480 320 450 260 Q430 210 450 150' fill='none' stroke='rgba(201,162,39,0.22)' stroke-width='2' stroke-linecap='round'/%3E%3Cellipse cx='520' cy='340' rx='16' ry='8' transform='rotate(-55 520 340)' fill='rgba(201,162,39,0.18)'/%3E%3Cellipse cx='490' cy='300' rx='16' ry='8' transform='rotate(-45 490 300)' fill='rgba(201,162,39,0.15)'/%3E%3Cellipse cx='468' cy='265' rx='15' ry='7.5' transform='rotate(-30 468 265)' fill='rgba(201,162,39,0.13)'/%3E%3Cellipse cx='452' cy='228' rx='15' ry='7.5' transform='rotate(-10 452 228)' fill='rgba(201,162,39,0.11)'/%3E%3Cellipse cx='448' cy='190' rx='14' ry='7' transform='rotate(10 448 190)' fill='rgba(201,162,39,0.10)'/%3E%3Cellipse cx='450' cy='155' rx='13' ry='6.5' transform='rotate(25 450 155)' fill='rgba(201,162,39,0.09)'/%3E%3C!-- Olives --%3E%3Ccircle cx='505' cy='318' r='4' fill='rgba(201,162,39,0.20)'/%3E%3Ccircle cx='460' cy='245' r='3.5' fill='rgba(201,162,39,0.16)'/%3E%3Ccircle cx='452' cy='170' r='3' fill='rgba(201,162,39,0.12)'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    z-index: 0;
}

/* Greek column + olive branch — bottom-left */
.franchise-hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 450px;
    height: 450px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 450 450'%3E%3C!-- Column --%3E%3Crect x='35' y='140' width='60' height='310' rx='3' fill='rgba(255,255,255,0.07)'/%3E%3Crect x='25' y='126' width='80' height='18' rx='3' fill='rgba(255,255,255,0.10)'/%3E%3Crect x='20' y='112' width='90' height='16' rx='3' fill='rgba(255,255,255,0.08)'/%3E%3C!-- Capital (Ionic scroll) --%3E%3Cpath d='M20 112 Q15 100 25 92 Q35 84 45 92' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='1.5'/%3E%3Cpath d='M110 112 Q115 100 105 92 Q95 84 85 92' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='1.5'/%3E%3C!-- Column fluting --%3E%3Cline x1='48' y1='145' x2='48' y2='445' stroke='rgba(255,255,255,0.05)' stroke-width='1'/%3E%3Cline x1='58' y1='145' x2='58' y2='445' stroke='rgba(255,255,255,0.05)' stroke-width='1'/%3E%3Cline x1='68' y1='145' x2='68' y2='445' stroke='rgba(255,255,255,0.05)' stroke-width='1'/%3E%3Cline x1='78' y1='145' x2='78' y2='445' stroke='rgba(255,255,255,0.05)' stroke-width='1'/%3E%3Cline x1='88' y1='145' x2='88' y2='445' stroke='rgba(255,255,255,0.05)' stroke-width='1'/%3E%3C!-- Olive branch --%3E%3Cpath d='M120 420 Q180 390 240 370 Q310 345 370 310 Q410 290 440 260' fill='none' stroke='rgba(201,162,39,0.28)' stroke-width='2.5' stroke-linecap='round'/%3E%3C!-- Leaves (paired) --%3E%3Cellipse cx='155' cy='405' rx='18' ry='8' transform='rotate(-20 155 405)' fill='rgba(201,162,39,0.20)'/%3E%3Cellipse cx='145' cy='415' rx='14' ry='6' transform='rotate(15 145 415)' fill='rgba(201,162,39,0.16)'/%3E%3Cellipse cx='210' cy='382' rx='18' ry='8' transform='rotate(-15 210 382)' fill='rgba(201,162,39,0.18)'/%3E%3Cellipse cx='198' cy='392' rx='14' ry='6' transform='rotate(20 198 392)' fill='rgba(201,162,39,0.14)'/%3E%3Cellipse cx='275' cy='358' rx='18' ry='8' transform='rotate(-22 275 358)' fill='rgba(201,162,39,0.16)'/%3E%3Cellipse cx='262' cy='368' rx='14' ry='6' transform='rotate(12 262 368)' fill='rgba(201,162,39,0.12)'/%3E%3Cellipse cx='340' cy='325' rx='17' ry='7.5' transform='rotate(-30 340 325)' fill='rgba(201,162,39,0.14)'/%3E%3Cellipse cx='328' cy='336' rx='13' ry='5.5' transform='rotate(5 328 336)' fill='rgba(201,162,39,0.11)'/%3E%3Cellipse cx='400' cy='285' rx='16' ry='7' transform='rotate(-35 400 285)' fill='rgba(201,162,39,0.12)'/%3E%3C!-- Olives --%3E%3Ccircle cx='180' cy='395' r='5' fill='rgba(201,162,39,0.25)'/%3E%3Ccircle cx='240' cy='372' r='4.5' fill='rgba(201,162,39,0.22)'/%3E%3Ccircle cx='310' cy='340' r='4' fill='rgba(201,162,39,0.18)'/%3E%3Ccircle cx='375' cy='303' r='3.5' fill='rgba(201,162,39,0.15)'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    z-index: 0;
}

.franchise-hero > .wp-block-columns {
    position: relative;
    z-index: 1;
}

/* ========================================
   Franchise Hero Stats
   ======================================== */

.franchise-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.franchise-stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5rem 1rem;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.franchise-stat-item:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(201, 162, 39, 0.3);
    transform: translateY(-2px);
}

.franchise-stat-number {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 600;
    color: #C9A227;
    line-height: 1.1;
}

.franchise-stat-label {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 0.35rem;
    letter-spacing: 0.02em;
}

/* ========================================
   Franchise Advantages Grid
   ======================================== */

.franchise-advantages-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    max-width: var(--wp--style--global--wide-size);
    margin: 0 auto;
}

.franchise-advantage-card {
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    padding: 2rem 1.5rem;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.franchise-advantage-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(30, 77, 107, 0.12);
    border-color: rgba(201, 162, 39, 0.2);
}

.franchise-advantage-icon {
    font-size: 2.25rem;
    display: block;
    margin-bottom: 1rem;
}

.franchise-advantage-title {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--wp--preset--color--dark);
    margin: 0 0 0.5rem;
}

.franchise-advantage-desc {
    font-size: 0.9rem;
    color: var(--wp--preset--color--gray);
    line-height: 1.6;
    margin: 0;
}

/* ========================================
   Franchise Costs Section
   ======================================== */

.franchise-costs-list {
    margin-top: 2rem;
}

.franchise-cost-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.franchise-cost-item:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.franchise-cost-item--note {
    border-bottom: none;
    padding: 0.5rem 0 1rem;
}

.franchise-cost-item--note p {
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.85rem;
    margin: 0;
    font-style: italic;
}

.franchise-cost-label {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1rem;
    font-weight: 400;
}

.franchise-cost-value {
    font-family: var(--wp--preset--font-family--heading);
    color: #C9A227;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: right;
}

/* Requirements list */
.franchise-requirements-list {
    list-style: none;
    padding: 0;
    margin: 2rem 0 0;
}

.franchise-requirements-list li {
    position: relative;
    padding: 0.75rem 0 0.75rem 2rem;
    color: rgba(255, 255, 255, 0.85);
    font-size: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.franchise-requirements-list li:last-child {
    border-bottom: none;
}

.franchise-requirements-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #C9A227;
    font-weight: 600;
    font-size: 1.1rem;
}

/* ========================================
   Franchise Location Cards
   ======================================== */

.franchise-location-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    max-width: 800px;
    margin: 0 auto;
}

.franchise-location-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    padding: 2.5rem 2rem;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.franchise-location-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(30, 77, 107, 0.12);
}

.franchise-location-card-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.franchise-location-card-title {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--wp--preset--color--dark);
    margin: 0 0 0.75rem;
}

.franchise-location-card-size {
    display: inline-block;
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1.5rem;
    font-weight: 600;
    color: #C9A227;
    padding: 0.25rem 1rem;
    border: 1px solid rgba(201, 162, 39, 0.3);
    border-radius: 8px;
    margin-bottom: 1rem;
    background: rgba(201, 162, 39, 0.05);
}

.franchise-location-card-desc {
    font-size: 0.95rem;
    color: var(--wp--preset--color--gray);
    line-height: 1.6;
    margin: 0;
}

.franchise-location-note {
    text-align: center;
    color: var(--wp--preset--color--gray);
    font-size: 0.9rem;
    font-style: italic;
    margin-top: 2rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* ========================================
   Franchise CTA Section
   ======================================== */

.franchise-cta-section .wp-block-button__link[href^="mailto"] {
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.franchise-cta-section .wp-block-button__link[href^="mailto"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

/* ========================================
   Responsive
   ======================================== */

@media (max-width: 1024px) {
    .franchise-advantages-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .franchise-hero .wp-block-columns {
        flex-direction: column;
    }

    .franchise-hero-content,
    .franchise-hero-stats {
        flex-basis: 100% !important;
    }

    .franchise-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .franchise-advantages-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .franchise-advantage-card {
        padding: 1.5rem 1.25rem;
    }

    .franchise-costs-section .wp-block-columns {
        flex-direction: column;
        gap: 3rem;
    }

    .franchise-location-grid {
        grid-template-columns: 1fr;
    }

    .franchise-cost-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }

    .franchise-cost-value {
        text-align: left;
    }

    .franchise-brand-section .wp-block-columns {
        flex-direction: column;
    }

    .franchise-hero::before {
        width: 300px;
        height: 300px;
        opacity: 0.7;
    }

    .franchise-hero::after {
        width: 250px;
        height: 250px;
        opacity: 0.6;
    }
}

/* ========================================
   Dark mode — franchise sections
   ======================================== */

.dark-mode .franchise-hero {
    background: var(--greco-bg-gradient) !important;
}

.dark-mode .franchise-hero .has-white-color {
    color: var(--greco-text) !important;
}

.dark-mode .franchise-hero .has-gold-color {
    color: var(--greco-accent) !important;
}

.dark-mode .franchise-hero .has-medium-font-size {
    color: var(--greco-text-muted) !important;
}

.dark-mode .franchise-stat-item {
    background: var(--greco-card-bg);
    border-color: var(--greco-card-border);
}

.dark-mode .franchise-costs-section {
    background: var(--greco-bg-gradient) !important;
}

.dark-mode .franchise-costs-section .has-white-color {
    color: var(--greco-text) !important;
}

.dark-mode .franchise-costs-section .has-gold-color {
    color: var(--greco-accent) !important;
}

.dark-mode .franchise-advantage-card {
    background: var(--greco-card-bg);
    border-color: var(--greco-card-border);
}

.dark-mode .franchise-advantage-title {
    color: var(--greco-text);
}

.dark-mode .franchise-advantage-desc {
    color: var(--greco-text-muted);
}

.dark-mode .franchise-location-card {
    background: var(--greco-card-bg);
    border-color: var(--greco-card-border);
}

.dark-mode .franchise-location-card-title {
    color: var(--greco-text);
}

.dark-mode .franchise-location-card-desc {
    color: var(--greco-text-muted);
}

.dark-mode .franchise-location-note {
    color: var(--greco-text-muted);
}