/*
Theme Name: YouTube Nanny Child
Theme URI: https://youtubenanny.com
Description: YouTube Nanny public website built as a safe child theme of KidsLife.
Author: YouTube Nanny
Version: 5.1.11
Template: kidslife
Text Domain: youtubenanny
*/

:root{--ytn-blue:#2563eb;--ytn-blue-dark:#1d4ed8;--ytn-teal:#14b8a6;--ytn-navy:#0f172a;--ytn-slate:#475569;--ytn-soft:#f8fafc;--ytn-white:#fff;--ytn-border:#e2e8f0;--ytn-warning:#f59e0b;--ytn-danger:#ef4444;--ytn-safe:#22c55e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.ytn-site{margin:0;background:var(--ytn-white);color:var(--ytn-navy);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}.ytn-wrap{width:min(1180px,calc(100% - 36px));margin:auto}.ytn-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--ytn-border)}.ytn-nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.ytn-brand{display:flex;align-items:center;gap:12px;color:var(--ytn-navy)!important;text-decoration:none!important;font-weight:850;font-size:1.25rem}.ytn-logo-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--ytn-blue),var(--ytn-teal));display:grid;place-items:center;color:white;box-shadow:0 8px 24px rgba(37,99,235,.25)}.ytn-logo-mark svg{width:25px;height:25px}.ytn-menu{display:flex;align-items:center;gap:26px}.ytn-menu a{color:#334155;text-decoration:none;font-weight:650;font-size:.94rem}.ytn-menu a:hover{color:var(--ytn-blue)}.ytn-actions{display:flex;align-items:center;gap:10px}.ytn-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border-radius:11px;font-weight:750;text-decoration:none!important;border:1px solid transparent;transition:.2s ease}.ytn-btn-primary{background:var(--ytn-blue);color:#fff!important;box-shadow:0 10px 25px rgba(37,99,235,.22)}.ytn-btn-primary:hover{background:var(--ytn-blue-dark);transform:translateY(-1px)}.ytn-btn-secondary{background:#fff;color:var(--ytn-navy)!important;border-color:var(--ytn-border)}.ytn-mobile-toggle{display:none;background:none;border:0;font-size:25px}.ytn-hero{padding:92px 0 74px;background:radial-gradient(circle at 12% 10%,rgba(20,184,166,.13),transparent 28%),radial-gradient(circle at 88% 8%,rgba(37,99,235,.16),transparent 32%),linear-gradient(180deg,#fff,#f8fbff)}.ytn-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:64px}.ytn-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#eaf2ff;color:var(--ytn-blue-dark);font-weight:800;font-size:.82rem}.ytn-hero h1{font-size:clamp(2.7rem,5.4vw,5.1rem);line-height:1.01;letter-spacing:-.055em;margin:22px 0 23px}.ytn-gradient{background:linear-gradient(90deg,var(--ytn-blue),var(--ytn-teal));-webkit-background-clip:text;background-clip:text;color:transparent}.ytn-hero p{font-size:1.15rem;color:var(--ytn-slate);max-width:640px;margin:0 0 30px}.ytn-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.ytn-trust{display:flex;flex-wrap:wrap;gap:20px;margin-top:28px;color:#64748b;font-size:.91rem;font-weight:650}.ytn-trust span:before{content:'✓';color:var(--ytn-safe);font-weight:900;margin-right:7px}.ytn-dashboard{background:#fff;border:1px solid var(--ytn-border);border-radius:24px;box-shadow:0 32px 80px rgba(15,23,42,.14);overflow:hidden;transform:rotate(1deg)}.ytn-dash-top{height:55px;background:#0f172a;display:flex;align-items:center;padding:0 18px;gap:7px}.ytn-dot{width:10px;height:10px;border-radius:50%;background:#64748b}.ytn-dash-body{padding:24px;background:#f8fafc}.ytn-dash-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.ytn-avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#bfdbfe,#99f6e4)}.ytn-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ytn-stat{background:#fff;border:1px solid var(--ytn-border);border-radius:15px;padding:15px}.ytn-stat b{display:block;font-size:1.45rem}.ytn-stat small{color:#64748b}.ytn-video-list{margin-top:16px;background:#fff;border:1px solid var(--ytn-border);border-radius:16px;padding:16px}.ytn-video-row{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid #eef2f7}.ytn-video-row:last-child{border:0}.ytn-thumb{height:40px;border-radius:9px;background:linear-gradient(135deg,#dbeafe,#ccfbf1)}.ytn-pill{padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:850}.safe{background:#dcfce7;color:#15803d}.warn{background:#fef3c7;color:#b45309}.danger{background:#fee2e2;color:#b91c1c}.ytn-section{padding:88px 0}.ytn-section-soft{background:var(--ytn-soft)}.ytn-section-head{text-align:center;max-width:760px;margin:0 auto 48px}.ytn-section-head h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 15px}.ytn-section-head p{color:var(--ytn-slate);font-size:1.06rem}.ytn-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ytn-card{background:#fff;border:1px solid var(--ytn-border);border-radius:20px;padding:28px;box-shadow:0 12px 35px rgba(15,23,42,.045)}.ytn-card-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eaf2ff;color:var(--ytn-blue);font-size:1.4rem;margin-bottom:18px}.ytn-card h3{font-size:1.25rem;margin:0 0 9px}.ytn-card p{color:var(--ytn-slate);margin:0}.ytn-audience{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ytn-audience-card{border-radius:22px;padding:32px;background:linear-gradient(150deg,#fff,#f8fafc);border:1px solid var(--ytn-border)}.ytn-audience-card h3{font-size:1.45rem;margin:12px 0 8px}.ytn-audience-card p{color:var(--ytn-slate)}.ytn-audience-card a{color:var(--ytn-blue);font-weight:800;text-decoration:none}.ytn-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.ytn-step-num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ytn-navy);color:#fff;font-weight:900;margin-bottom:16px}.ytn-cta{padding:42px;border-radius:26px;background:linear-gradient(135deg,var(--ytn-navy),#1e3a8a);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px}.ytn-cta h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.1;margin:0 0 10px}.ytn-cta p{margin:0;color:#cbd5e1}.ytn-footer{background:#08111f;color:#cbd5e1;padding:58px 0 24px}.ytn-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:36px}.ytn-footer h4{color:white;margin:0 0 14px}.ytn-footer a{display:block;color:#cbd5e1;text-decoration:none;margin:8px 0}.ytn-disclaimer{border-top:1px solid #1e293b;margin-top:40px;padding-top:22px;font-size:.83rem;color:#94a3b8}.ytn-page-hero{padding:72px 0 48px;background:linear-gradient(180deg,#eff6ff,#fff);text-align:center}.ytn-page-hero h1{font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.04em;margin:0 0 12px}.ytn-page-content{padding:60px 0}.ytn-content{max-width:900px;margin:auto;font-size:1.04rem}.ytn-content h2{font-size:2rem;margin:42px 0 12px}.ytn-content h3{font-size:1.3rem;margin-top:28px}.ytn-content p,.ytn-content li{color:#475569}.ytn-content a{color:var(--ytn-blue)}.ytn-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ytn-price{border:1px solid var(--ytn-border);border-radius:22px;padding:30px;background:white}.ytn-price.featured{border:2px solid var(--ytn-blue);transform:translateY(-8px)}.ytn-price .price{font-size:2.5rem;font-weight:900}.ytn-price ul{padding-left:20px}.ytn-faq details{border:1px solid var(--ytn-border);border-radius:14px;padding:17px 19px;margin:12px 0;background:#fff}.ytn-faq summary{font-weight:800;cursor:pointer}.ytn-faq p{margin-bottom:0}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
@media(max-width:980px){.ytn-menu{display:none;position:absolute;top:74px;left:0;right:0;padding:20px;background:#fff;border-bottom:1px solid var(--ytn-border);flex-direction:column;align-items:flex-start}.ytn-menu.open{display:flex}.ytn-mobile-toggle{display:block}.ytn-actions .ytn-btn-secondary{display:none}.ytn-hero-grid,.ytn-grid-3,.ytn-audience,.ytn-steps,.ytn-price-grid,.ytn-footer-grid{grid-template-columns:1fr}.ytn-hero{padding-top:62px}.ytn-dashboard{transform:none}.ytn-cta{align-items:flex-start;flex-direction:column}.ytn-price.featured{transform:none}}
@media(max-width:620px){.ytn-actions .ytn-btn-primary{display:none}.ytn-stat-grid{grid-template-columns:1fr}.ytn-hero h1{font-size:2.65rem}.ytn-section{padding:64px 0}.ytn-wrap{width:min(100% - 24px,1180px)}}


/* v5.0.6: absolute CTA contrast override against KidsLife styles. */
body.ytn-site .ytn-cta h2.ytn-cta-title,
body.ytn-site .ytn-cta .ytn-cta-title,
html body .ytn-cta h2.ytn-cta-title {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: none !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    opacity: 1 !important;
    text-shadow: none !important;
}
body.ytn-site .ytn-cta .ytn-cta-copy {
    color: #e2e8f0 !important;
    -webkit-text-fill-color: #e2e8f0 !important;
}


/* Website v5.1 additions */
.ytn-status-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;font-size:.78rem;font-weight:850}
.ytn-status-live{background:#dcfce7;color:#166534}
.ytn-status-build{background:#fef3c7;color:#92400e}
.ytn-product-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:22px}
.ytn-product-card{background:#fff;border:1px solid var(--ytn-border);border-radius:22px;padding:30px;position:relative;overflow:hidden}
.ytn-product-card.live{border:2px solid var(--ytn-blue);box-shadow:0 18px 45px rgba(37,99,235,.10)}
.ytn-product-card h3{font-size:1.5rem;margin:16px 0 9px}
.ytn-product-card p{color:var(--ytn-slate)}
.ytn-plan-group{margin:0 0 48px}
.ytn-plan-group-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
.ytn-plan-group-title h2{margin:0}
.ytn-price-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.ytn-price-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ytn-price .audience{font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--ytn-blue)}
.ytn-price .price small{font-size:.95rem;font-weight:650;color:#64748b}
.ytn-price .plan-note{min-height:76px}
.ytn-price .ytn-btn{width:100%;margin-top:12px}
.ytn-coming-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:22px}
.ytn-coming-item{padding:22px;border:1px solid var(--ytn-border);border-radius:18px;background:#fff}
.ytn-coming-item h3{margin:10px 0 6px}
.ytn-home-pricing{padding-top:0}
.ytn-home-pricing .ytn-price{display:flex;flex-direction:column}
.ytn-home-pricing .ytn-price .ytn-btn{margin-top:auto}
@media(max-width:980px){.ytn-product-grid,.ytn-price-grid-2,.ytn-price-grid-3,.ytn-coming-list{grid-template-columns:1fr}}


/* v5.1.3 WooCommerce integration */
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button,
.ytn-buy-button{background:var(--ytn-blue)!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:13px 18px!important;font-weight:800!important;text-decoration:none!important;box-shadow:none!important}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button:hover,.ytn-buy-button:hover{filter:brightness(.94)}
.woocommerce form.checkout,.woocommerce-cart-form,.woocommerce .cart_totals,.woocommerce-checkout-review-order,.woocommerce form.login,.woocommerce form.register{background:#fff;border:1px solid var(--ytn-border);border-radius:20px;padding:24px}
.woocommerce input.input-text,.woocommerce select,.woocommerce textarea{border:1px solid #cbd5e1!important;border-radius:10px!important;padding:11px!important}
.woocommerce-message,.woocommerce-info{border-top-color:var(--ytn-blue)!important;background:#eff6ff!important;border-radius:12px}
.woocommerce-message:before,.woocommerce-info:before{color:var(--ytn-blue)!important}
.ytn-plan-features{margin:18px 0 8px;padding:0;list-style:none}.ytn-plan-features li{margin:8px 0;padding-left:24px;position:relative}.ytn-plan-features li:before{content:'✓';position:absolute;left:0;color:#16a34a;font-weight:900}
.ytn-checkout-note{font-size:.86rem;color:#64748b;margin-top:10px}
.ytn-order-next-step{margin:28px 0;padding:24px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:18px}


/* =========================================================
   v5.1.8 — YouTube Nanny WooCommerce checkout redesign
   ========================================================= */

/* Stop KidsLife from constraining WooCommerce pages. */
body.woocommerce-checkout main,
body.woocommerce-cart main,
body.woocommerce-account main {
    width: 100%;
    min-height: 70vh;
    overflow: visible;
}

body.woocommerce-checkout .ytn-page-hero {
    padding: 44px 0 28px;
}

body.woocommerce-checkout .ytn-page-hero h1 {
    font-size: clamp(2.15rem, 4vw, 3.35rem);
}

body.woocommerce-checkout .ytn-page-content {
    padding: 34px 0 80px;
}

body.woocommerce-checkout .ytn-page-content > .ytn-wrap,
body.woocommerce-checkout .ytn-content,
body.woocommerce-cart .ytn-page-content > .ytn-wrap,
body.woocommerce-cart .ytn-content,
body.woocommerce-account .ytn-page-content > .ytn-wrap,
body.woocommerce-account .ytn-content {
    width: min(1180px, calc(100% - 40px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Reset old theme floats and narrow widths. */
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review_heading {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
    grid-template-areas:
        "notices notices"
        "customer heading"
        "customer review";
    align-items: start;
    gap: 18px 32px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
body.woocommerce-checkout form.checkout > .woocommerce-error,
body.woocommerce-checkout form.checkout > .woocommerce-message {
    grid-area: notices;
}

body.woocommerce-checkout #customer_details {
    grid-area: customer;
    display: block !important;
    margin: 0 !important;
    padding: 30px !important;
    background: #ffffff !important;
    border: 1px solid var(--ytn-border) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .07);
}

body.woocommerce-checkout #order_review_heading {
    grid-area: heading;
    margin: 0 !important;
    padding: 25px 28px 0 !important;
    background: #ffffff !important;
    border: 1px solid var(--ytn-border) !important;
    border-bottom: 0 !important;
    border-radius: 22px 22px 0 0 !important;
    font-size: 1.35rem !important;
    line-height: 1.3 !important;
    color: var(--ytn-navy) !important;
}

body.woocommerce-checkout #order_review {
    grid-area: review;
    margin: 0 !important;
    padding: 18px 28px 28px !important;
    background: #ffffff !important;
    border: 1px solid var(--ytn-border) !important;
    border-top: 0 !important;
    border-radius: 0 0 22px 22px !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .07);
    overflow: visible !important;
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

body.woocommerce-checkout #customer_details .col-2 {
    margin-top: 28px !important;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3 {
    margin: 0 0 20px !important;
    font-size: 1.35rem !important;
    color: var(--ytn-navy) !important;
}

body.woocommerce-checkout .form-row {
    margin: 0 0 16px !important;
    padding: 0 !important;
}

body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last {
    width: calc(50% - 8px) !important;
}

body.woocommerce-checkout .form-row-first {
    float: left !important;
}

body.woocommerce-checkout .form-row-last {
    float: right !important;
}

body.woocommerce-checkout label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #334155 !important;
    font-size: .91rem !important;
    font-weight: 750 !important;
}

body.woocommerce-checkout .required {
    color: #dc2626 !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-selection {
    width: 100% !important;
    min-height: 48px !important;
    padding: 11px 13px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 11px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout textarea {
    min-height: 120px !important;
    resize: vertical;
}

body.woocommerce-checkout .select2-container {
    width: 100% !important;
}

body.woocommerce-checkout .select2-selection__rendered {
    line-height: 25px !important;
    padding-left: 0 !important;
}

body.woocommerce-checkout .select2-selection__arrow {
    height: 46px !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-info {
    max-width: 1180px;
    margin: 0 auto 22px !important;
}

body.woocommerce-checkout form.checkout_coupon {
    max-width: 680px !important;
    margin: 0 auto 25px !important;
    padding: 20px !important;
    border-radius: 16px !important;
}

/* Order summary */
body.woocommerce-checkout table.shop_table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin: 0 0 20px !important;
    border: 1px solid var(--ytn-border) !important;
    border-radius: 14px !important;
    overflow: hidden;
    font-size: .95rem !important;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
    padding: 13px 14px !important;
    border-color: #e8eef6 !important;
    color: #334155 !important;
    background: #ffffff !important;
}

body.woocommerce-checkout table.shop_table thead th {
    background: #eff6ff !important;
    color: #1e3a8a !important;
    font-size: .78rem !important;
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.woocommerce-checkout table.shop_table tfoot tr:last-child th,
body.woocommerce-checkout table.shop_table tfoot tr:last-child td {
    font-size: 1.08rem !important;
    font-weight: 900 !important;
    color: var(--ytn-navy) !important;
}

/* Payment area */
body.woocommerce-checkout #payment {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f8fafc !important;
    border: 1px solid var(--ytn-border) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 18px !important;
    border-bottom: 1px solid var(--ytn-border) !important;
    list-style: none !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 0 !important;
    float: none !important;
    clear: both !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    color: var(--ytn-navy) !important;
}

body.woocommerce-checkout #payment .payment_box {
    position: relative !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 16px !important;
    background: #ffffff !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 12px !important;
    color: #475569 !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout #payment .payment_box:before {
    display: none !important;
}

body.woocommerce-checkout #payment .form-row.place-order {
    width: 100% !important;
    margin: 0 !important;
    padding: 20px 18px !important;
    float: none !important;
    background: #ffffff !important;
}

body.woocommerce-checkout #payment #place_order {
    width: 100% !important;
    min-height: 52px !important;
    margin: 12px 0 0 !important;
    float: none !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, var(--ytn-blue), var(--ytn-blue-dark)) !important;
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    box-shadow: 0 12px 28px rgba(37, 99, 235, .24) !important;
}

body.woocommerce-checkout #payment #place_order:hover {
    filter: brightness(.96);
    transform: translateY(-1px);
}

body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    color: #64748b !important;
    font-size: .84rem !important;
    line-height: 1.55 !important;
}

body.woocommerce-checkout .wc_payment_method img {
    max-height: 28px !important;
    width: auto !important;
    float: none !important;
    vertical-align: middle !important;
}

/* Express payment buttons must remain inside their column. */
body.woocommerce-checkout .wcpay-express-checkout-wrapper,
body.woocommerce-checkout .wc-block-components-express-payment,
body.woocommerce-checkout .wc-stripe-checkout-banner,
body.woocommerce-checkout #express-payment-method-woocommerce_payments {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

/* Prevent footer overlap from inherited floats. */
body.woocommerce-checkout .ytn-page-content:after,
body.woocommerce-checkout .woocommerce:after,
body.woocommerce-checkout form.checkout:after {
    content: "";
    display: table;
    clear: both;
}

body.woocommerce-checkout .ytn-footer {
    position: relative !important;
    clear: both !important;
    width: 100% !important;
    margin-top: 0 !important;
}

/* Cart and account page polish. */
body.woocommerce-cart .woocommerce,
body.woocommerce-account .woocommerce {
    background: #ffffff;
    border: 1px solid var(--ytn-border);
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .06);
}

@media (max-width: 980px) {
    body.woocommerce-checkout form.checkout.woocommerce-checkout {
        grid-template-columns: 1fr;
        grid-template-areas:
            "notices"
            "customer"
            "heading"
            "review";
        gap: 18px;
    }

    body.woocommerce-checkout #customer_details,
    body.woocommerce-checkout #order_review_heading,
    body.woocommerce-checkout #order_review {
        width: 100% !important;
    }
}

@media (max-width: 620px) {
    body.woocommerce-checkout .ytn-page-content > .ytn-wrap,
    body.woocommerce-checkout .ytn-content {
        width: min(100% - 20px, 1180px) !important;
    }

    body.woocommerce-checkout #customer_details,
    body.woocommerce-checkout #order_review {
        padding: 20px !important;
        border-radius: 17px !important;
    }

    body.woocommerce-checkout #order_review_heading {
        padding: 20px 20px 0 !important;
        border-radius: 17px 17px 0 0 !important;
    }

    body.woocommerce-checkout .form-row-first,
    body.woocommerce-checkout .form-row-last {
        width: 100% !important;
        float: none !important;
    }
}


/* =========================================================
   v5.1.10 — Friendlier YouTube Nanny icons
   ========================================================= */
.ytn-card-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    padding: 12px;
    margin-bottom: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #eff6ff, #ecfeff);
    color: #2563eb;
    box-shadow: 0 10px 24px rgba(37, 99, 235, .10);
    border: 1px solid rgba(37, 99, 235, .10);
    transition: transform .2s ease, box-shadow .2s ease;
}

.ytn-card-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ytn-card:hover .ytn-card-icon,
.ytn-audience-card:hover .ytn-card-icon {
    transform: translateY(-3px) rotate(-1deg);
    box-shadow: 0 14px 30px rgba(37, 99, 235, .16);
}

.ytn-icon-parent {
    background: linear-gradient(145deg, #fff7ed, #fef3c7);
    color: #ea580c;
    border-color: rgba(234, 88, 12, .12);
}

.ytn-icon-school {
    background: linear-gradient(145deg, #ecfeff, #dbeafe);
    color: #0f766e;
    border-color: rgba(15, 118, 110, .12);
}

.ytn-icon-therapist {
    background: linear-gradient(145deg, #fdf2f8, #f5f3ff);
    color: #c026d3;
    border-color: rgba(192, 38, 211, .12);
}

.ytn-icon-ai {
    background: linear-gradient(145deg, #eef2ff, #e0f2fe);
    color: #4f46e5;
}

.ytn-icon-alert {
    background: linear-gradient(145deg, #fff7ed, #fef2f2);
    color: #dc2626;
}

.ytn-icon-dashboard {
    background: linear-gradient(145deg, #ecfdf5, #ecfeff);
    color: #059669;
}

@media (max-width: 640px) {
    .ytn-card-icon {
        width: 54px;
        height: 54px;
        border-radius: 16px;
        padding: 11px;
    }
}


/* =========================================================
   v5.1.11 — WooCommerce order summary cleanup
   Digital YTN plans do not need product thumbnails.
   Supports both Checkout Block and classic checkout.
   ========================================================= */

/* WooCommerce Checkout Block: hide service-plan product thumbnails. */
body.woocommerce-checkout .wc-block-components-order-summary-item__image,
body.woocommerce-checkout .wc-block-components-product-image {
    display: none !important;
}

/* Let the plan information use the full row width after image removal. */
body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 16px;
    align-items: center;
}

/* Keep product name and price clean and readable. */
body.woocommerce-checkout .wc-block-components-product-name {
    color: #0f172a !important;
    font-size: .98rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
    margin-top: 4px !important;
    color: #64748b !important;
    font-size: .82rem !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    align-self: center !important;
    color: #0f172a !important;
    font-size: .98rem !important;
    font-weight: 800 !important;
    white-space: nowrap;
}

/* Remove the overlapping circular quantity badge. */
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    position: static !important;
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 4px 0 0 8px !important;
    padding: 2px 7px !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #eef2ff !important;
    color: #4338ca !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    vertical-align: middle;
}

/* Hide quantity completely when it is simply one service plan. */
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity[aria-label*="1"],
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity:has(span:first-child:last-child) {
    display: none !important;
}

/* Clean row spacing and separator. */
body.woocommerce-checkout .wc-block-components-order-summary-item {
    grid-template-columns: 1fr !important;
    padding: 16px 0 20px !important;
    border-bottom: 1px dashed #d7dee8 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
    border-bottom: 0 !important;
}

/* Classic checkout fallback: hide product thumbnails there too. */
body.woocommerce-checkout table.shop_table .product-thumbnail,
body.woocommerce-checkout table.shop_table img {
    display: none !important;
}

/* Prevent broken-image alt text from ever appearing in the summary. */
body.woocommerce-checkout .wc-block-components-order-summary-item img[alt*="Placeholder"],
body.woocommerce-checkout img.woocommerce-placeholder {
    display: none !important;
}

/* Mobile keeps the same clean text-only summary. */
@media (max-width: 640px) {
    body.woocommerce-checkout .wc-block-components-order-summary-item__description {
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 10px;
    }

    body.woocommerce-checkout .wc-block-components-product-name,
    body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
        font-size: .94rem !important;
    }
}
