/* ============================================
   FROOB - Franchise Pages Stylesheet
   ============================================ */

/* ============================================
   CONTACT PAGE
   ============================================ */
.contact-page { 
    padding: 120px 0 4rem; 
    background: #f8fafc; 
    min-height: 100vh; 
}

.contact-header { 
    text-align: center; 
    margin-bottom: 3rem; 
}

.page-title { 
    font-size: 2.5rem; 
    font-weight: 900; 
    color: #1e1b4b; 
    margin-bottom: 1rem; 
}

.page-subtitle { 
    color: #6b7280; 
    font-size: 1.1rem; 
}

.contact-content { 
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 3rem; 
}

.contact-info { 
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 1.5rem; 
}

.info-card { 
    background: #ffffff; 
    padding: 2rem; 
    border-radius: 20px; 
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); 
    text-align: center; 
    transition: all 0.3s ease; 
}

.info-card:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); 
}

.info-icon { 
    width: 60px; 
    height: 60px; 
    background: #ede9fe; 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    margin: 0 auto 1rem; 
    font-size: 1.5rem; 
    color: #7c3aed; 
}

.info-card h3 { 
    font-size: 1.2rem; 
    font-weight: 700; 
    color: #1e1b4b; 
    margin-bottom: 0.75rem; 
}

.info-card p { 
    color: #374151; 
    line-height: 1.6; 
}

.info-card a { 
    color: #7c3aed; 
    font-weight: 600; 
}

.info-card a:hover { 
    text-decoration: underline; 
}

.contact-map { 
    background: #ffffff; 
    padding: 2rem; 
    border-radius: 20px; 
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); 
}

.map-title { 
    font-size: 1.5rem; 
    font-weight: 700; 
    color: #1e1b4b; 
    margin-bottom: 1.5rem; 
    text-align: center; 
}

/* ============================================
   POLICY PAGES
   ============================================ */
.policy-page { 
    padding: 120px 0 4rem; 
    background: #ffffff; 
    min-height: 100vh; 
}

.policy-header { 
    text-align: center; 
    margin-bottom: 3rem; 
    padding-bottom: 2rem; 
    border-bottom: 2px solid #e2e8f0; 
}

.policy-date { 
    color: #6b7280; 
    font-size: 0.9rem; 
    margin-top: 0.5rem; 
}

.policy-content { 
    max-width: 900px; 
    margin: 0 auto; 
}

.policy-section { 
    margin-bottom: 2.5rem; 
}

.policy-section h2 { 
    font-size: 1.5rem; 
    font-weight: 700; 
    color: #1e1b4b; 
    margin-bottom: 1rem; 
}

.policy-section h3 { 
    font-size: 1.2rem; 
    font-weight: 600; 
    color: #1e1b4b; 
    margin: 1.5rem 0 0.75rem; 
}

.policy-section p { 
    color: #374151; 
    line-height: 1.8; 
    margin-bottom: 1rem; 
}

.policy-section ul, 
.policy-section ol { 
    margin-left: 1.5rem; 
    margin-bottom: 1rem; 
}

.policy-section li { 
    color: #374151; 
    line-height: 1.8; 
    margin-bottom: 0.5rem; 
}

.policy-section strong { 
    color: #1e1b4b; 
    font-weight: 600; 
}

/* ============================================
   FRANCHISE LEAD PAGE
   ============================================ */
.franchise-lead-page { 
    padding: 100px 1rem 3rem; 
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%); 
    min-height: 100vh; 
}

.franchise-lead-header { 
    text-align: center; 
    margin-bottom: 2rem; 
    padding: 0 0.5rem;
}

.franchise-lead-content { 
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 2rem; 
    max-width: 100%;
    overflow-x: hidden;
}

.investment-models { 
    margin-bottom: 1rem; 
}

.section-title-small { 
    font-size: 1.4rem; 
    font-weight: 800; 
    color: #1e1b4b; 
    margin-bottom: 1.5rem; 
    text-align: center; 
    padding: 0 0.5rem;
    line-height: 1.3;
}

.model-cards { 
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 2rem; 
    margin-bottom: 2rem; 
    padding: 0 0.5rem;
}

.model-card { 
    background: #ffffff; 
    border-radius: 16px; 
    padding: 1.25rem; 
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); 
    transition: all 0.3s ease; 
    position: relative; 
    border: 2px solid #e2e8f0; 
    cursor: pointer;
    margin-top: 0.75rem;
}

.model-card:hover,
.model-card:active { 
    transform: translateY(-3px); 
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.15); 
    border-color: #7c3aed; 
}

.model-card.featured { 
    border-color: #7c3aed; 
    background: linear-gradient(135deg, #ede9fe 0%, #ffffff 100%); 
}

.model-card.selected { 
    border-color: #7c3aed; 
    box-shadow: 0 0 0 3px #ede9fe; 
}

.model-badge { 
    position: absolute; 
    top: -10px; 
    right: 15px; 
    background: #fbbf24; 
    color: #1e1b4b; 
    padding: 0.35rem 0.85rem; 
    border-radius: 16px; 
    font-size: 0.7rem; 
    font-weight: 700; 
    text-transform: uppercase; 
    white-space: nowrap;
}

.featured-badge { 
    background: #7c3aed; 
    color: #ffffff; 
}

.model-title { 
    font-size: 1rem; 
    font-weight: 700; 
    color: #1e1b4b; 
    margin-bottom: 0.75rem; 
    line-height: 1.3;
    padding-right: 0.5rem;
}

.model-price { 
    font-size: 1.6rem; 
    font-weight: 900; 
    color: #7c3aed; 
    margin-bottom: 1rem; 
}

.model-features { 
    list-style: none; 
    margin-bottom: 1rem; 
    padding: 0;
}

.model-features li { 
    display: flex; 
    align-items: flex-start; 
    gap: 0.6rem; 
    padding: 0.4rem 0; 
    color: #374151; 
    font-size: 0.85rem; 
    line-height: 1.4;
}

.model-features i { 
    color: #7c3aed; 
    font-size: 0.9rem; 
    flex-shrink: 0; 
    margin-top: 0.15rem;
}

.model-features .fa-star { 
    color: #fbbf24; 
}

.model-suitable { 
    font-size: 0.8rem; 
    color: #6b7280; 
    font-style: italic; 
    padding-top: 0.85rem; 
    border-top: 1px solid #e2e8f0; 
    line-height: 1.4;
}

.franchise-lead-form-wrapper { 
    background: #ffffff; 
    padding: 1.5rem; 
    border-radius: 16px; 
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); 
    margin: 0 0.5rem;
}

.form-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #1e1b4b;
    margin-bottom: 1rem;
    text-align: center;
    line-height: 1.3;
}

.form-subtitle { 
    text-align: center; 
    color: #6b7280; 
    margin-bottom: 1.5rem; 
    font-size: 0.9rem; 
    line-height: 1.5;
    padding: 0 0.5rem;
}

.franchise-lead-form { 
    display: flex; 
    flex-direction: column; 
    gap: 1.25rem; 
}

.form-row { 
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 1.25rem; 
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.form-group label {
    font-weight: 600;
    font-size: 0.85rem;
    color: #1e1b4b;
}

.form-group select { 
    padding: 0.85rem 0.9rem; 
    border: 2px solid #e2e8f0; 
    border-radius: 10px; 
    font-size: 0.9rem; 
    transition: all 0.3s ease; 
    background: #ffffff; 
    width: 100%; 
    font-family: 'Poppins', sans-serif;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231e1b4b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    padding-right: 2.5rem;
}

.form-group input,
.form-group textarea {
    padding: 0.85rem 0.9rem;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    background: #ffffff;
    font-family: 'Poppins', sans-serif;
    width: 100%;
    box-sizing: border-box;
}

.form-group select:focus,
.form-group input:focus,
.form-group textarea:focus { 
    border-color: #7c3aed; 
    box-shadow: 0 0 0 3px #ede9fe; 
    outline: none;
}

.form-group textarea {
    resize: vertical;
    min-height: 90px;
}

.required { 
    color: #ef4444; 
}

.btn-large { 
    padding: 1rem 1.75rem; 
    font-size: 1rem; 
}

/* ============================================
   FRANCHISE DETAILS PAGE
   ============================================ */
.franchise-details-page { 
    padding: 120px 0 4rem; 
    background: #f8fafc; 
}

.franchise-details-header { 
    text-align: center; 
    margin-bottom: 3rem; 
    max-width: 800px; 
    margin-left: auto; 
    margin-right: auto; 
    padding: 0 1rem; 
}

.franchise-models-detailed { 
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 2rem; 
    margin-bottom: 3rem; 
}

.detailed-model-card { 
    background: #ffffff; 
    border-radius: 20px; 
    padding: 1.5rem; 
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); 
    transition: all 0.3s ease; 
    position: relative; 
}

.detailed-model-card:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1); 
}

.detailed-model-card.featured { 
    border: 3px solid #7c3aed; 
}

.featured-badge-large { 
    position: absolute; 
    top: -15px; 
    right: 30px; 
    background: #7c3aed; 
    color: #ffffff; 
    padding: 0.6rem 1.5rem; 
    border-radius: 25px; 
    font-size: 0.85rem; 
    font-weight: 700; 
    text-transform: uppercase; 
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); 
}

.model-header { 
    border-bottom: 2px solid #e2e8f0; 
    padding-bottom: 1.5rem; 
    margin-bottom: 2rem; 
}

.model-header h2 { 
    font-size: 1.4rem; 
    font-weight: 800; 
    color: #1e1b4b; 
    margin-bottom: 1rem; 
}

.model-investment { 
    font-size: 2rem; 
    font-weight: 900; 
    color: #7c3aed; 
}

.model-body { 
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 1.5rem; 
}

.model-info-section h3 { 
    font-size: 1.1rem; 
    font-weight: 700; 
    color: #1e1b4b; 
    margin-bottom: 1rem; 
    display: flex; 
    align-items: center; 
    gap: 0.5rem; 
}

.model-info-section h3 i { 
    color: #7c3aed; 
}

.model-info-section ul { 
    list-style: none; 
    margin-left: 0; 
    padding: 0;
}

.model-info-section li { 
    padding: 0.5rem 0; 
    color: #374151; 
    padding-left: 1.5rem; 
    position: relative; 
    font-size: 0.95rem; 
}

.model-info-section li::before { 
    content: '•'; 
    position: absolute; 
    left: 0; 
    color: #7c3aed; 
    font-weight: 900; 
    font-size: 1.2rem; 
}

.revenue-highlight { 
    background: #ede9fe; 
    padding: 1rem; 
    border-radius: 12px; 
    color: #1e1b4b; 
    font-size: 1rem; 
}

.revenue-highlight strong { 
    color: #7c3aed; 
    font-size: 1.2rem; 
}

.why-froob-section { 
    background: #ffffff; 
    padding: 2rem; 
    border-radius: 20px; 
    margin-bottom: 3rem; 
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); 
}

.why-froob-grid { 
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 1.5rem; 
    margin: 2rem 0; 
}

.why-card { 
    background: #f8fafc; 
    padding: 1.5rem; 
    border-radius: 12px; 
    text-align: center; 
    transition: all 0.3s ease; 
}

.why-card:hover { 
    background: #ede9fe; 
    transform: translateY(-3px); 
}

.why-card i { 
    font-size: 2rem; 
    color: #7c3aed; 
    margin-bottom: 1rem; 
}

.why-card h3 { 
    font-size: 0.95rem; 
    font-weight: 600; 
    color: #1e1b4b; 
    line-height: 1.5; 
}

.expansion-note { 
    text-align: center; 
    color: #374151; 
    font-style: italic; 
    margin-top: 2rem; 
    line-height: 1.7; 
    font-size: 0.95rem; 
}

.franchise-cta { 
    background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%); 
    padding: 2.5rem 1.5rem; 
    border-radius: 20px; 
    text-align: center; 
    color: #ffffff; 
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1); 
}

.franchise-cta h2 { 
    font-size: 1.75rem; 
    font-weight: 800; 
    margin-bottom: 1rem; 
}

.franchise-cta p { 
    font-size: 1rem; 
    margin-bottom: 2rem; 
    opacity: 0.9; 
}

.franchise-cta .btn { 
    background: #ffffff; 
    color: #7c3aed; 
}

.franchise-cta .btn:hover { 
    background: #fbbf24; 
    color: #1e1b4b; 
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */
@media (max-width: 374px) {
    .franchise-lead-page,
    .franchise-details-page { 
        padding: 85px 0.75rem 2rem; 
    }
    
    .franchise-lead-header,
    .franchise-details-header {
        margin-bottom: 1.5rem;
        padding: 0 0.25rem;
    }
    
    .page-title {
        font-size: 1.75rem;
        line-height: 1.2;
    }
    
    .page-subtitle {
        font-size: 0.85rem;
        line-height: 1.4;
    }
    
    .section-title-small {
        font-size: 1.25rem;
        margin-bottom: 1.25rem;
    }
    
    .model-cards {
        gap: 1.5rem;
        padding: 0 0.25rem;
    }
    
    .model-card { 
        padding: 1rem; 
        border-radius: 14px;
        margin-top: 0.5rem;
    }
    
    .model-badge {
        top: -8px;
        right: 12px;
        padding: 0.3rem 0.7rem;
        font-size: 0.65rem;
    }
    
    .model-title { 
        font-size: 0.95rem; 
        margin-bottom: 0.65rem;
    }
    
    .model-price { 
        font-size: 1.4rem; 
        margin-bottom: 0.85rem;
    }
    
    .model-features {
        margin-bottom: 0.85rem;
    }
    
    .model-features li { 
        font-size: 0.8rem; 
        padding: 0.35rem 0;
        gap: 0.5rem;
    }
    
    .model-features i {
        font-size: 0.85rem;
    }
    
    .model-suitable { 
        font-size: 0.75rem; 
        padding-top: 0.75rem;
    }
    
    .franchise-lead-form-wrapper { 
        padding: 1.25rem; 
        margin: 0 0.25rem;
        border-radius: 14px;
    }
    
    .form-title { 
        font-size: 1.2rem; 
        margin-bottom: 0.85rem;
    }
    
    .form-subtitle {
        font-size: 0.85rem;
        margin-bottom: 1.25rem;
    }
    
    .franchise-lead-form {
        gap: 1rem;
    }
    
    .form-row {
        gap: 1rem;
    }
    
    .form-group label {
        font-size: 0.8rem;
    }
    
    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 0.75rem 0.8rem;
        font-size: 0.85rem;
        border-radius: 8px;
    }
    
    .form-group textarea {
        min-height: 80px;
    }
    
    .btn-large {
        padding: 0.9rem 1.5rem;
        font-size: 0.95rem;
    }
    
    .detailed-model-card { 
        padding: 1rem; 
        border-radius: 14px;
    }
    
    .model-header h2 { 
        font-size: 1.1rem; 
    }
    
    .model-investment { 
        font-size: 1.6rem; 
    }
    
    .model-info-section h3 { 
        font-size: 0.95rem; 
    }
    
    .model-info-section li { 
        font-size: 0.8rem; 
    }
    
    .revenue-highlight { 
        font-size: 0.85rem; 
        padding: 0.7rem; 
    }
    
    .revenue-highlight strong { 
        font-size: 1rem; 
    }
    
    .why-froob-section { 
        padding: 1.25rem; 
        border-radius: 14px;
    }
    
    .why-card { 
        padding: 1rem; 
    }
    
    .why-card i { 
        font-size: 1.4rem; 
    }
    
    .why-card h3 { 
        font-size: 0.8rem; 
    }
    
    .franchise-cta { 
        padding: 1.75rem 1rem; 
        border-radius: 14px;
    }
    
    .franchise-cta h2 { 
        font-size: 1.4rem; 
    }
    
    .franchise-cta p { 
        font-size: 0.85rem; 
    }
}

/* Mobile landscape and small tablets */
@media (min-width: 375px) and (max-width: 639px) {
    .franchise-lead-page,
    .franchise-details-page { 
        padding: 95px 1rem 2.5rem; 
    }
    
    .franchise-lead-header {
        margin-bottom: 2rem;
    }
    
    .page-title {
        font-size: 2rem;
    }
    
    .page-subtitle {
        font-size: 0.95rem;
    }
    
    .section-title-small {
        font-size: 1.5rem;
    }
    
    .model-cards {
        gap: 1.75rem;
    }
    
    .model-card {
        padding: 1.35rem;
    }
    
    .model-title {
        font-size: 1.05rem;
    }
    
    .model-price {
        font-size: 1.7rem;
    }
    
    .model-features li {
        font-size: 0.88rem;
    }
    
    .franchise-lead-form-wrapper {
        padding: 1.75rem;
    }
    
    .form-title {
        font-size: 1.4rem;
    }
}

/* ============================================
   RESPONSIVE - TABLET (640px+)
   ============================================ */
@media (min-width: 640px) {
    .franchise-lead-page,
    .franchise-details-page {
        padding: 110px 1.5rem 3rem;
    }
    
    .franchise-lead-header {
        margin-bottom: 2.5rem;
    }
    
    .page-title {
        font-size: 2.5rem;
    }
    
    .section-title-small {
        font-size: 1.85rem;
    }
    
    .contact-info { 
        grid-template-columns: repeat(2, 1fr); 
    }
    
    .model-cards { 
        grid-template-columns: repeat(2, 1fr); 
        gap: 1.75rem;
        padding: 0;
    }
    
    .model-card { 
        padding: 1.65rem; 
    }
    
    .model-title { 
        font-size: 1.15rem; 
    }
    
    .model-price { 
        font-size: 1.85rem; 
    }
    
    .model-features li {
        font-size: 0.9rem;
    }
    
    .form-row { 
        grid-template-columns: repeat(2, 1fr); 
    }
    
    .why-froob-grid { 
        grid-template-columns: repeat(2, 1fr); 
    }
    
    .franchise-lead-form-wrapper { 
        padding: 2.25rem; 
        margin: 0;
    }
    
    .form-title {
        font-size: 1.5rem;
    }
    
    .detailed-model-card { 
        padding: 1.85rem; 
    }
    
    .model-header h2 { 
        font-size: 1.45rem; 
    }
    
    .model-investment { 
        font-size: 2.15rem; 
    }
    
    .why-froob-section { 
        padding: 2.25rem; 
    }
    
    .franchise-cta { 
        padding: 2.75rem 2rem; 
    }
    
    .franchise-cta h2 { 
        font-size: 1.85rem; 
    }
}

/* ============================================
   RESPONSIVE - DESKTOP (768px+)
   ============================================ */
@media (min-width: 768px) {
    .franchise-lead-page,
    .franchise-details-page {
        padding: 120px 2rem 4rem;
    }
    
    .franchise-lead-header {
        margin-bottom: 3rem;
    }
    
    .franchise-lead-content {
        gap: 3rem;
    }
    
    .page-title { 
        font-size: 3rem; 
    }
    
    .section-title-small {
        font-size: 2rem;
        margin-bottom: 2rem;
    }
    
    .contact-info { 
        grid-template-columns: repeat(3, 1fr); 
    }
    
    .model-cards { 
        grid-template-columns: repeat(3, 1fr); 
        gap: 2rem;
        margin-bottom: 3rem;
    }
    
    .model-card { 
        padding: 1.85rem; 
    }
    
    .model-title { 
        font-size: 1.2rem; 
    }
    
    .model-price { 
        font-size: 1.95rem; 
    }
    
    .model-features li { 
        font-size: 0.92rem; 
    }
    
    .franchise-lead-form-wrapper { 
        padding: 2.5rem; 
    }
    
    .form-title {
        font-size: 1.65rem;
    }
    
    .form-subtitle {
        font-size: 1rem;
    }
    
    .why-froob-grid { 
        grid-template-columns: repeat(3, 1fr); 
    }
    
    .franchise-details-header { 
        margin-bottom: 4rem; 
    }
    
    .franchise-models-detailed { 
        gap: 2.5rem; 
        margin-bottom: 4rem; 
    }
    
    .detailed-model-card { 
        padding: 2.35rem; 
    }
    
    .model-header h2 { 
        font-size: 1.7rem; 
    }
    
    .model-investment { 
        font-size: 2.4rem; 
    }
    
    .model-info-section li { 
        font-size: 0.95rem; 
    }
    
    .revenue-highlight { 
        font-size: 1.08rem; 
    }
    
    .revenue-highlight strong { 
        font-size: 1.28rem; 
    }
    
    .why-froob-section { 
        padding: 2.85rem; 
    }
    
    .why-card h3 { 
        font-size: 0.98rem; 
    }
    
    .franchise-cta { 
        padding: 3rem 2.5rem; 
    }
    
    .franchise-cta h2 { 
        font-size: 2rem; 
    }
    
    .franchise-cta p { 
        font-size: 1.08rem; 
    }
}

/* ============================================
   RESPONSIVE - LARGE DESKTOP (1024px+)
   ============================================ */
@media (min-width: 1024px) {
    .model-cards { 
        gap: 2rem; 
    }
    
    .franchise-lead-form-wrapper { 
        padding: 3rem; 
    }
    
    .franchise-models-detailed { 
        gap: 3rem; 
    }
    
    .model-body { 
        grid-template-columns: repeat(3, 1fr); 
        gap: 2rem; 
    }
}

/* ============================================
   EXTRA LARGE SCREENS (1280px+)
   ============================================ */
@media (min-width: 1280px) {
    .franchise-lead-header { 
        margin-bottom: 4rem; 
    }
    
    .franchise-details-header { 
        margin-bottom: 4.5rem; 
    }
    
    .model-card { 
        padding: 2.25rem; 
    }
    
    .detailed-model-card { 
        padding: 3rem; 
    }
    
    .why-froob-section { 
        padding: 3.5rem; 
    }
    
    .franchise-cta { 
        padding: 3.5rem 3rem; 
    }
}
