/* BBF Play Landing CSS (Vanilla CSS conversion from tailwind) */

.bbf-play-landing-wrapper {
    width: 100%;
    font-family: inherit;
    color: #4e342e;
    background-color: #fffaf7;
    line-height: 1.5;
}

.bbf-play-landing-wrapper * {
    box-sizing: border-box;
}

.bbf-ls-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 4rem 1.5rem;
}

@media (min-width: 1024px) {
    .bbf-ls-container {
        padding: 6rem 2.5rem;
    }
}

.flex-container {
    display: grid;
    gap: 2.5rem;
}

.gap-10 { gap: 2.5rem; }

@media (min-width: 1024px) {
    .flex-container.lg-grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .bbf-ls-hero .flex-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Common Components */
.bbf-ls-badge, .bbf-ls-section-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    font-weight: 600;
    font-size: 0.875rem;
}

.bbf-ls-badge {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 0.5rem 1rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.bbf-ls-section-badge {
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #ff7aa2;
}

.bbf-ls-section-header {
    max-width: 48rem;
    margin: 0 auto;
    text-align: center;
}

.bbf-ls-section-header h2 {
    margin-top: 0.75rem;
    font-size: 1.875rem;
    font-weight: 800;
}

@media (min-width: 768px) {
    .bbf-ls-section-header h2 { font-size: 2.25rem; }
}

.bbf-ls-section-header p {
    margin-top: 1rem;
    font-size: 1.125rem;
    line-height: 2rem;
    color: #6d4c41;
}

.bbf-ls-desc {
    margin-top: 1.25rem;
    font-size: 1.125rem;
    line-height: 2rem;
    color: #6d4c41;
}

.text-center { text-align: center; }

/* Hero Section */
.bbf-ls-hero {
    background: linear-gradient(to bottom right, #ffe7ef, #fff5d9, #fffaf7);
    overflow: hidden;
    position: relative;
}

.bbf-ls-hero-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.bbf-ls-title {
    max-width: 42rem;
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 768px) { .bbf-ls-title { font-size: 3rem; } }
@media (min-width: 1024px) { .bbf-ls-title { font-size: 3.75rem; } }

.bbf-ls-cta-group {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 2rem;
}

@media (min-width: 640px) {
    .bbf-ls-cta-group {
        flex-direction: row;
    }
}

.bbf-ls-btn-primary, .bbf-ls-btn-secondary {
    border-radius: 1rem;
    padding: 1rem 1.5rem;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    border: none;
    text-align: center;
}

.bbf-ls-btn-primary {
    background-color: #ff7aa2;
    color: white;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.bbf-ls-btn-primary:hover {
    transform: scale(1.02);
}

.bbf-ls-btn-secondary {
    background-color: white;
    color: #8d5c2f;
    border: 2px solid #ffb347;
}

.bbf-ls-btn-secondary:hover {
    transform: scale(1.02);
}

.bbf-ls-stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-top: 2rem;
}

@media (min-width: 640px) {
    .bbf-ls-stats { grid-template-columns: repeat(3, 1fr); }
}

.bbf-ls-stat-box {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.bbf-ls-stat-num {
    font-size: 1.5rem;
    font-weight: 700;
}

.bbf-ls-stat-text {
    font-size: 0.875rem;
    color: #6d4c41;
}

/* Hero Cards Grid */
.bbf-ls-hero-cards {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.bbf-ls-cards-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    width: 100%;
    max-width: 36rem;
}

.bbf-ls-feature-card {
    background-color: white;
    border-radius: 28px;
    padding: 1.25rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.mt-10 { margin-top: 2.5rem; }

.bbf-ls-icon {
    font-size: 1.875rem;
    margin-bottom: 0.75rem;
}

.bbf-ls-feature-card h3, .bbf-ls-journey-left h3 {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
}

.bbf-ls-feature-card p {
    font-size: 0.875rem;
    line-height: 1.5rem;
    color: #6d4c41;
    margin-top: 0.5rem;
}

/* Skills Section */
.bbf-ls-skills-grid {
    display: grid;
    gap: 1.5rem;
    margin-top: 3rem;
}

@media (min-width: 768px) { .bbf-ls-skills-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .bbf-ls-skills-grid { grid-template-columns: repeat(3, 1fr); } }

.bbf-ls-skill-card {
    background-color: white;
    border-radius: 28px;
    padding: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s, box-shadow 0.2s;
}

.bbf-ls-skill-card:hover {
    transform: translateY(-0.25rem);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

.bbf-ls-skill-icon { font-size: 2.25rem; }

.bbf-ls-skill-card h3 {
    margin-top: 1rem;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0;
}

.bbf-ls-skill-card p {
    margin-top: 0.75rem;
    font-size: 1rem;
    line-height: 1.75rem;
    color: #6d4c41;
}

.bbf-ls-skill-age {
    margin-top: 1rem;
    display: inline-flex;
    border-radius: 9999px;
    background-color: #fff3cc;
    padding: 0.25rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #8d5c2f;
}

/* Journey Section */
.bbf-ls-journey { background-color: white; }

.bbf-ls-journey h2 {
    margin-top: 0.75rem;
    font-size: 1.875rem;
    font-weight: 800;
    line-height: 1.2;
}

@media (min-width: 768px) { .bbf-ls-journey h2 { font-size: 2.25rem; } }

.bbf-ls-steps {
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.bbf-ls-step {
    border-radius: 1rem;
    border: 1px solid #f5e2da;
    background-color: #fffaf7;
    padding: 1.25rem;
}

.bbf-ls-step p {
    margin-top: 0.5rem;
    font-size: 1rem;
    line-height: 1.75rem;
    color: #6d4c41;
}

.bbf-ls-journey-right {
    border-radius: 32px;
    background: linear-gradient(to bottom right, #fff3cc, #ffe7ef, #ffffff);
    padding: 2rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.bbf-ls-journey-right h3 {
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
}

.bbf-ls-reasons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;
}

.bbf-ls-reason {
    border-radius: 1rem;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 1rem;
    font-size: 1rem;
    color: #6d4c41;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.bbf-ls-message-box {
    border-radius: 28px;
    background-color: #4e342e;
    color: white;
    padding: 1.5rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

.bbf-ls-message-badge {
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #ffd89e;
}

.bbf-ls-message-box p {
    margin-top: 0.75rem;
    font-size: 1.125rem;
    line-height: 2rem;
}

/* Pricing Section */
.bbf-ls-pricing-grid {
    display: grid;
    gap: 1.5rem;
    margin-top: 3rem;
}

@media (min-width: 1024px) { .bbf-ls-pricing-grid { grid-template-columns: repeat(3, 1fr); } }

.bbf-ls-price-card {
    border-radius: 30px;
    padding: 1.75rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    background-color: white;
    color: #4e342e;
}

.bbf-ls-price-card.highlight {
    background-color: #ff7aa2;
    color: white;
}

.bbf-ls-pkg-title { font-size: 1.25rem; font-weight: 700; }
.bbf-ls-pkg-price { margin-top: 1rem; font-size: 2.25rem; font-weight: 800; }
.bbf-ls-pkg-note { margin-top: 0.25rem; font-size: 0.875rem; color: #7d5c52; }
.bbf-ls-price-card.highlight .bbf-ls-pkg-note { color: rgba(255, 255, 255, 0.9); }

.bbf-ls-pkg-features {
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.bbf-ls-pkg-feature {
    border-radius: 1rem;
    padding: 0.75rem 1rem;
    background-color: #fff7f2;
}

.bbf-ls-price-card.highlight .bbf-ls-pkg-feature { background-color: rgba(255, 255, 255, 0.15); }

.bbf-ls-btn-package {
    margin-top: 1.75rem;
    width: 100%;
    border-radius: 1rem;
    padding: 1rem 1.25rem;
    font-size: 1rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: transform 0.2s;
    background-color: #4e342e;
    color: white;
}

.bbf-ls-price-card.highlight .bbf-ls-btn-package {
    background-color: white;
    color: #ff5c93;
}

.bbf-ls-btn-package:hover { transform: scale(1.01); }

/* Money Zone Section */
.bbf-ls-money {
    background: linear-gradient(to right, #fff3cc, #ffeef4, #fffaf7);
}

.bbf-ls-money-left h2 {
    margin-top: 0.75rem;
    font-size: 1.875rem;
    font-weight: 800;
}

.bbf-ls-money-grid {
    margin-top: 2rem;
    display: grid;
    gap: 1rem;
}

.bbf-ls-money-item {
    border-radius: 1rem;
    background-color: white;
    padding: 1.25rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.bbf-ls-money-item h4 { margin: 0; font-size: 1.125rem; font-weight: 700; }
.bbf-ls-money-item p { margin-top: 0.5rem; line-height: 1.75rem; color: #6d4c41; }

.bbf-ls-money-right {
    border-radius: 32px;
    background-color: white;
    padding: 2rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

.bbf-ls-offer-badge {
    display: inline-flex;
    border-radius: 9999px;
    background-color: #fff3cc;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: #8d5c2f;
}

.bbf-ls-money-right h3 {
    margin-top: 1rem;
    font-size: 1.875rem;
    font-weight: 800;
}

.bbf-ls-offer-box {
    margin-top: 1.5rem;
    border-radius: 1rem;
    background-color: #fff7f2;
    padding: 1.25rem;
}

.bbf-ls-offer-box h4 { margin: 0; font-size: 1.125rem; font-weight: 700; }
.bbf-ls-offer-box p { margin-top: 0.5rem; line-height: 1.75rem; color: #6d4c41; }

.bbf-ls-btn-offer {
    margin-top: 2rem;
    width: 100%;
    border-radius: 1rem;
    background-color: #ff7aa2;
    color: white;
    padding: 1rem 1.5rem;
    font-size: 1rem;
    font-weight: 700;
    border: none;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition: transform 0.2s;
}

.bbf-ls-btn-offer:hover { transform: scale(1.01); }

/* Booking Section */
.bbf-ls-booking-left h2 {
    margin-top: 0.75rem;
    font-size: 1.875rem;
    font-weight: 800;
}

.bbf-ls-testimonials {
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.bbf-ls-testimonial {
    border-radius: 1rem;
    border: 1px solid #f5e2da;
    background-color: white;
    padding: 1.25rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    font-size: 1.125rem;
    line-height: 2rem;
    color: #6d4c41;
}

.bbf-ls-booking-right {
    border-radius: 32px;
    background-color: #4e342e;
    color: white;
    padding: 2rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

.bbf-ls-booking-badge {
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #ffd89e;
}

.bbf-ls-booking-right h2 {
    margin-top: 0.75rem;
    font-size: 1.875rem;
    font-weight: 800;
    color: white;
}

.bbf-ls-booking-right p {
    margin-top: 1rem;
    font-size: 1.125rem;
    line-height: 2rem;
    color: rgba(255, 255, 255, 0.9);
}

.bbf-ls-form {
    margin-top: 2rem;
    display: grid;
    gap: 1rem;
}

.bbf-ls-form input, .bbf-ls-form select {
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background-color: rgba(255, 255, 255, 0.1);
    padding: 1rem;
    color: white;
    outline: none;
    font-size: 1rem;
    font-family: inherit;
    width: 100%;
}

.bbf-ls-form input::placeholder { color: rgba(255, 255, 255, 0.7); }
.bbf-ls-form select option { color: black; }

.bbf-ls-form button {
    margin-top: 0.5rem;
    border-radius: 1rem;
    background-color: #ffb347;
    color: #4e342e;
    padding: 1rem 1.5rem;
    font-size: 1rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: transform 0.2s;
}

.bbf-ls-form button:hover { transform: scale(1.01); }

/* FAQ Section */
.bbf-ls-faq {
    border-top: 1px solid #f5e2da;
    background-color: white;
}

.bbf-ls-faq-list {
    margin: 2.5rem auto 0;
    max-width: 56rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.bbf-ls-faq-item {
    border-radius: 1rem;
    background-color: #fffaf7;
    padding: 1.25rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.bbf-ls-faq-item h4 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
}

.bbf-ls-faq-item p {
    margin-top: 0.5rem;
    line-height: 1.75rem;
    color: #6d4c41;
}

/* 2-column grid layout (replaces flex-container + lg-grid-cols-2) */
.bbf-ls-2col {
    display: grid;
    gap: 2.5rem;
}

@media (min-width: 1024px) {
    .bbf-ls-2col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Link buttons (a tag styled as button) */
a.bbf-ls-btn-primary, a.bbf-ls-btn-secondary, a.bbf-ls-btn-offer {
    display: inline-block;
    text-decoration: none;
}

a.bbf-ls-btn-primary {
    background-color: #ff7aa2;
    color: white;
    border-radius: 1rem;
    padding: 1rem 1.5rem;
    font-size: 1rem;
    font-weight: 700;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}

a.bbf-ls-btn-primary:hover { transform: scale(1.02); color: white; }

a.bbf-ls-btn-secondary {
    background-color: white;
    color: #8d5c2f;
    border: 2px solid #ffb347;
    border-radius: 1rem;
    padding: 1rem 1.5rem;
    font-size: 1rem;
    font-weight: 700;
    transition: transform 0.2s;
}

a.bbf-ls-btn-secondary:hover { transform: scale(1.02); color: #8d5c2f; }

a.bbf-ls-btn-offer {
    display: block;
    width: 100%;
    margin-top: 2rem;
    border-radius: 1rem;
    background-color: #ff7aa2;
    color: white;
    padding: 1rem 1.5rem;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}

a.bbf-ls-btn-offer:hover { transform: scale(1.01); color: white; }

/* Link-styled package button */
a.bbf-ls-btn-package {
    display: block;
    margin-top: 1.75rem;
    border-radius: 1rem;
    padding: 1rem 1.25rem;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    background-color: #4e342e;
    color: white;
    transition: transform 0.2s;
}

.bbf-ls-price-card.highlight a.bbf-ls-btn-package {
    background-color: white;
    color: #ff5c93;
}

a.bbf-ls-btn-package:hover { transform: scale(1.01); }

/* Booking feedback */
.bbf-booking-feedback {
    border-radius: 1rem;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
    font-weight: 600;
}

.bbf-booking-feedback.success {
    background-color: rgba(92, 184, 92, 0.2);
    color: #2d7a2d;
    border: 1px solid rgba(92, 184, 92, 0.4);
}

.bbf-booking-feedback.error {
    background-color: rgba(255, 90, 90, 0.2);
    color: #c0392b;
    border: 1px solid rgba(255, 90, 90, 0.4);
}

/* Disabled submit btn */
#bbf-booking-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}
