/*
 Theme Name:   I Love to Model
 Theme URI:    https://ilovetomodel.com
 Description:  Custom child theme for I Love to Model.
 Author:       ILTM
 Author URI:   https://ilovetomodel.com
 Template:     generatepress
 Version:      1.0.0
 Text Domain:  ilovetomodel
*/

:root {
    --iltm-bg: #0f0f1a;
    --iltm-card: #1a1a2e;
    --iltm-accent: #e94560;
    --iltm-text: #ffffff;
    --iltm-text-secondary: #8892b0;
    --iltm-border: #2a2a3e;
    --iltm-accent-hover: #d63d56;
    --iltm-success: #4caf50;
    --iltm-gold: #ffd700;
    --iltm-radius: 8px;
    --iltm-radius-lg: 12px;
    --iltm-shadow: 0 4px 20px rgba(0,0,0,0.3);
    --iltm-transition: 0.2s ease;
}
body { background-color: var(--iltm-bg); color: var(--iltm-text); font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; line-height: 1.6; }
h1,h2,h3,h4,h5,h6 { font-family: 'Playfair Display', Georgia, serif; color: var(--iltm-text); font-weight: 700; }
a { color: var(--iltm-accent); text-decoration: none; transition: color var(--iltm-transition); }
a:hover { color: var(--iltm-accent-hover); }
.iltm-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.iltm-grid { display: grid; gap: 24px; }
.iltm-grid-2 { grid-template-columns: repeat(2,1fr); }
.iltm-grid-3 { grid-template-columns: repeat(3,1fr); }
.iltm-grid-4 { grid-template-columns: repeat(4,1fr); }
@media(max-width:768px){.iltm-grid-2,.iltm-grid-3,.iltm-grid-4{grid-template-columns:1fr;}}
@media(max-width:1024px)and(min-width:769px){.iltm-grid-3,.iltm-grid-4{grid-template-columns:repeat(2,1fr);}}
.iltm-card { background: var(--iltm-card); border-radius: var(--iltm-radius-lg); padding: 24px; border: 1px solid var(--iltm-border); transition: transform var(--iltm-transition), box-shadow var(--iltm-transition); }
.iltm-card:hover { transform: translateY(-2px); box-shadow: var(--iltm-shadow); }
.iltm-btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 28px; border-radius: var(--iltm-radius); font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px; cursor: pointer; border: none; transition: all var(--iltm-transition); font-family: 'Inter', sans-serif; text-decoration: none; }
.iltm-btn-primary { background: var(--iltm-accent); color: #fff; }
.iltm-btn-primary:hover { background: var(--iltm-accent-hover); color: #fff; }
.iltm-btn-outline { background: transparent; color: var(--iltm-accent); border: 2px solid var(--iltm-accent); }
.iltm-btn-outline:hover { background: var(--iltm-accent); color: #fff; }
.iltm-btn-sm { padding: 8px 16px; font-size: 12px; }
.iltm-btn-lg { padding: 16px 36px; font-size: 16px; }
.iltm-badge { display: inline-block; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
.iltm-badge-vip { background: linear-gradient(135deg, #ffd700, #f0c000); color: #1a1a2e; }
.iltm-badge-pro { background: var(--iltm-accent); color: #fff; }
.iltm-badge-category { background: rgba(233,69,96,0.15); color: var(--iltm-accent); }
.iltm-input,.iltm-select,.iltm-textarea { width: 100%; padding: 12px 16px; background: var(--iltm-bg); border: 1px solid var(--iltm-border); border-radius: var(--iltm-radius); color: var(--iltm-text); font-family: 'Inter', sans-serif; font-size: 14px; transition: border-color var(--iltm-transition); box-sizing: border-box; }
.iltm-input:focus,.iltm-select:focus,.iltm-textarea:focus { outline: none; border-color: var(--iltm-accent); }
.iltm-label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--iltm-text-secondary); text-transform: uppercase; letter-spacing: 0.5px; }
.iltm-paywall { position: relative; border-radius: var(--iltm-radius-lg); overflow: hidden; margin: 32px 0; }
.iltm-paywall-blur { filter: blur(8px); pointer-events: none; user-select: none; }
.iltm-paywall-overlay { position: absolute; top:0;left:0;right:0;bottom:0; background: rgba(15,15,26,0.85); backdrop-filter: blur(4px); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px; z-index: 10; }
.iltm-filter-bar { display: flex; gap: 12px; flex-wrap: wrap; padding: 20px; background: var(--iltm-card); border-radius: var(--iltm-radius-lg); margin-bottom: 24px; border: 1px solid var(--iltm-border); }
.iltm-filter-bar .iltm-select,.iltm-filter-bar .iltm-input { flex: 1; min-width: 150px; }
.iltm-section { padding: 60px 0; }
.iltm-section-title { text-align: center; margin-bottom: 40px; font-size: 32px; }
.iltm-text-center { text-align: center; }
.iltm-mt-3 { margin-top: 24px; }
.iltm-hero { text-align: center; padding: 100px 20px 80px; background: linear-gradient(135deg, var(--iltm-bg), var(--iltm-card)); }
.iltm-hero h1 { font-size: 48px; margin-bottom: 20px; line-height: 1.2; }
.iltm-hero p { font-size: 18px; color: var(--iltm-text-secondary); margin-bottom: 32px; max-width: 600px; margin-left: auto; margin-right: auto; }
@media(max-width:768px){.iltm-hero h1{font-size:32px;}.iltm-hero{padding:60px 20px 40px;}}
.iltm-stats-bar { display: flex; justify-content: center; gap: 48px; padding: 32px 0; border-top: 1px solid var(--iltm-border); border-bottom: 1px solid var(--iltm-border); }
.iltm-stat-number { font-size: 32px; font-weight: 700; color: var(--iltm-accent); font-family: 'Playfair Display', serif; }
.iltm-stat-label { font-size: 13px; color: var(--iltm-text-secondary); text-transform: uppercase; letter-spacing: 1px; }
@media(max-width:768px){.iltm-stats-bar{flex-direction:column;gap:16px;text-align:center;}}
.iltm-pricing-card { text-align: center; position: relative; }
.iltm-pricing-card.featured { border-color: var(--iltm-accent); transform: scale(1.05); }
.iltm-pricing-card .price { font-size: 42px; font-weight: 700; font-family: 'Playfair Display', serif; color: var(--iltm-accent); margin: 16px 0; }
.iltm-pricing-card ul { list-style: none; padding: 0; margin: 24px 0; text-align: left; }
.iltm-pricing-card li { padding: 8px 0; color: var(--iltm-text-secondary); font-size: 14px; border-bottom: 1px solid var(--iltm-border); }
.iltm-gallery { columns: 3; column-gap: 16px; }
.iltm-gallery img { width: 100%; border-radius: var(--iltm-radius); margin-bottom: 16px; cursor: pointer; transition: opacity var(--iltm-transition); }
@media(max-width:768px){.iltm-gallery{columns:2;}}
.iltm-lightbox { display: none; position: fixed; top:0;left:0;right:0;bottom:0; background: rgba(0,0,0,0.95); z-index: 9999; align-items: center; justify-content: center; }
.iltm-lightbox.active { display: flex; }
.iltm-lightbox img { max-width: 90vw; max-height: 90vh; border-radius: var(--iltm-radius); }
.iltm-lightbox-close { position: absolute; top: 20px; right: 20px; color: #fff; font-size: 32px; cursor: pointer; background: none; border: none; }
.iltm-progress { height: 8px; background: var(--iltm-border); border-radius: 4px; overflow: hidden; margin: 16px 0; }
.iltm-progress-fill { height: 100%; background: linear-gradient(90deg, var(--iltm-accent), #ff6b81); border-radius: 4px; transition: width 0.4s ease; }
.iltm-accordion details { background: var(--iltm-card); border: 1px solid var(--iltm-border); border-radius: var(--iltm-radius); margin-bottom: 12px; overflow: hidden; }
.iltm-accordion summary { padding: 16px 20px; cursor: pointer; font-weight: 600; font-size: 15px; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.iltm-accordion summary::-webkit-details-marker { display: none; }
.iltm-accordion summary::after { content: '+'; font-size: 20px; color: var(--iltm-accent); }
.iltm-accordion details[open] summary::after { content: '-'; }
.iltm-accordion .accordion-content { padding: 0 20px 16px; color: var(--iltm-text-secondary); font-size: 14px; line-height: 1.7; }
.iltm-load-more { text-align: center; margin-top: 32px; }
.iltm-model-card { text-align: center; }
.iltm-model-card img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: var(--iltm-radius); margin-bottom: 12px; }
.iltm-model-card h3 { font-size: 16px; margin: 0 0 4px; font-family: 'Inter', sans-serif; font-weight: 600; }
.iltm-model-card .location { font-size: 13px; color: var(--iltm-text-secondary); margin-bottom: 8px; }
.iltm-casting-card h3 { font-size: 18px; margin: 0 0 8px; font-family: 'Inter', sans-serif; font-weight: 600; }
.iltm-casting-meta { display: flex; gap: 12px; flex-wrap: wrap; font-size: 13px; color: var(--iltm-text-secondary); margin-bottom: 12px; }
.site-header { background: var(--iltm-bg) !important; border-bottom: 1px solid var(--iltm-border); }
.main-navigation a,.site-title a { color: var(--iltm-text) !important; }
.main-navigation a:hover { color: var(--iltm-accent) !important; }
.site-footer { background: var(--iltm-card) !important; color: var(--iltm-text-secondary) !important; border-top: 1px solid var(--iltm-border); }


/* ── Footer Navigation ── */
.iltm-footer-nav .menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1.5rem;
}
.iltm-footer-nav .menu li a {
    color: #8a8a9a;
    text-decoration: none;
    font-size: 0.85rem;
    transition: color 0.2s;
}
.iltm-footer-nav .menu li a:hover {
    color: var(--iltm-accent, #e85d75);
}

/* ── Static Page Content ── */
.iltm-content {
    color: var(--iltm-text-secondary);
    font-size: 15px;
    line-height: 1.8;
}
.iltm-content h1,.iltm-content h2,.iltm-content h3 {
    color: var(--iltm-text);
    margin-top: 2rem;
}
.iltm-content p {
    margin-bottom: 1.2rem;
}
.iltm-content a {
    color: var(--iltm-accent);
}
.iltm-content ul,.iltm-content ol {
    padding-left: 1.5rem;
    margin-bottom: 1.2rem;
}

/* ── WPForms Dark Theme ── */
.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field-sublabel {
    color: var(--iltm-text) !important;
}
.wpforms-container .wpforms-field-sublabel {
    color: var(--iltm-text-secondary) !important;
}
.wpforms-container .wpforms-required-label {
    color: var(--iltm-accent) !important;
}
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="url"],
.wpforms-container input[type="number"],
.wpforms-container select,
.wpforms-container textarea {
    background: var(--iltm-bg) !important;
    border: 1px solid var(--iltm-border) !important;
    border-radius: var(--iltm-radius) !important;
    color: var(--iltm-text) !important;
    padding: 12px 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    transition: border-color 0.2s ease !important;
}
.wpforms-container input:focus,
.wpforms-container textarea:focus,
.wpforms-container select:focus {
    border-color: var(--iltm-accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(233,69,96,0.15) !important;
}
.wpforms-container .wpforms-submit-container .wpforms-submit {
    background: var(--iltm-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--iltm-radius) !important;
    padding: 14px 36px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}
.wpforms-container .wpforms-submit:hover {
    background: var(--iltm-accent-hover) !important;
}

/* Hide Stripe branding and card logos on checkout */
.mepr-payment-methods-icons,
.mepr-payment-methods-wrapper,
.mepr-payment-methods-radios {
  display: none !important;
}
