/*
Theme Name: TwentyTwentyFive Lander
Theme URI: https://example.com/twentytwentyfive-lander
Description: High-converting landing page child theme for WooCommerce vitality products.
Author: Lander
Author URI: https://example.com
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive-lander
*/

/* ==========================================================================
   COLORS
   ==========================================================================
   White:       #ffffff     Off-white:    #f7f9fc     Mint:       #f0faf6
   Green:       #0d8a6f     Green hover:  #0a7260     Green bg:   #e6f7f1
   Blue:        #1a5d8c     Blue deep:    #0f3d5c     Mint text:  #6ee7b7
   Text dark:   #1e293b     Text mid:     #475569     Text light: #64748b
   Border:      #e2e8f0     Star gold:    #f59e0b     Red warn:   #ef4444
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* === BASE === */
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body.page-template-page-landing{margin:0;padding:0;background:#fff;color:#1e293b;font-family:'Inter',-apple-system,sans-serif;line-height:1.6;overflow-x:hidden}
body.page-template-page-landing *,body.page-template-page-landing *::before,body.page-template-page-landing *::after{box-sizing:border-box}
body.page-template-page-landing .wp-site-blocks{padding:0!important;margin:0!important}
body.page-template-page-landing .wp-block-group{margin-top:0!important;margin-bottom:0!important}
body.page-template-page-landing .wp-block-post-content,
body.page-template-page-landing .lp-wrapper,
body.page-template-page-landing main{gap:0!important;--wp--style--block-gap:0!important;max-width:none!important}

/* === TOP BAR (animated gradient) === */
.wp-block-group.top-bar,.top-bar{margin-top:0!important;margin-bottom:0!important;padding-bottom:11px!important}
.top-bar{
    background:linear-gradient(90deg,#0f766e,#22c55e,#0f766e);
    background-size:200% 100%;animation:shiftGrad 4s ease infinite;
    color:#fff;text-align:center;padding:11px 16px;
    font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
}
@keyframes shiftGrad{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

/* === HERO === */
.wp-block-group.lp-hero,.lp-hero{margin-top:0!important;margin-bottom:0!important;padding-top:24px!important;padding-bottom:32px!important;padding-left:24px!important;padding-right:24px!important;display:flex!important;flex-direction:column!important;align-items:center!important}
.lp-hero{
    background:linear-gradient(170deg,#0b3a56 0%,#15567d 40%,#1d6fa3 100%);
    text-align:center;position:relative;overflow:hidden;
}
.lp-hero::before{content:'';position:absolute;top:-60%;left:-30%;width:160%;height:200%;background:radial-gradient(ellipse at 40% 40%,rgba(110,231,183,.08) 0%,transparent 55%);pointer-events:none}
/* lp-hero::after removed — eliminates white gap between hero and trust strip */
.lp-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(110,231,183,.14);color:#6ee7b7;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;padding:7px 20px;border-radius:50px;border:1px solid rgba(110,231,183,.28);margin-bottom:22px}
.lp-badge .pulse-dot{width:8px;height:8px;background:#6ee7b7;border-radius:50%;animation:pulseDot 1.5s ease-in-out infinite}
@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.6)}}

.lp-hero h1,.lp-hero .wp-block-heading{font-size:clamp(26px,6vw,46px);font-weight:900;line-height:1.1;color:#fff;margin-bottom:14px;position:relative}
.lp-hero h1 .accent,.lp-hero .wp-block-heading .accent{background:linear-gradient(135deg,#6ee7b7,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.lp-hero h1 span{color:#6ee7b7}
.hero-sub,.lp-hero>p{font-size:clamp(15px,3vw,18px);color:rgba(255,255,255,.78);max-width:500px;margin:0 auto 24px;line-height:1.55}
.hero-specs-list{
    list-style:none;padding:0;
    margin:0 auto 18px;max-width:520px;
    display:flex;flex-wrap:wrap;gap:8px 10px;
    justify-content:center;text-align:center;
}
.hero-specs-list li{
    font-size:12px;color:rgba(255,255,255,.95);
    padding:6px 12px;font-weight:700;line-height:1.3;
    border-radius:999px;background:rgba(148,163,184,.18);
    border:1px solid rgba(226,232,240,.6);
    display:inline-flex;align-items:center;gap:6px;
    flex:1 1 calc(50% - 10px);
    justify-content:center;
    backdrop-filter:blur(10px);
    white-space:nowrap;
}
.lp-hero .wp-block-html{width:100%!important;max-width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important}
.product-img-wrap,.lp-hero .wp-block-image{max-width:360px!important;margin:20px 0!important;display:inline-block!important;vertical-align:middle}
.product-img-wrap img,.lp-hero .wp-block-image img{border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.25),0 0 0 3px rgba(255,255,255,.1)}
@keyframes floatUp{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Price block */
.price-block{margin-bottom:8px}
.price-old{font-size:19px;color:rgba(255,255,255,.4);text-decoration:line-through;font-weight:500}
.price-new{font-size:48px;font-weight:900;color:#ff4757;margin:0 10px;text-shadow:0 0 24px rgba(255,71,87,.5),0 0 60px rgba(255,71,87,.2)}
.price-save{display:inline-block;background:rgba(110,231,183,.18);color:#6ee7b7;font-size:13px;font-weight:700;padding:4px 12px;border-radius:8px;vertical-align:middle}
.price-per-pill{font-size:14px;color:rgba(255,255,255,.55);margin-bottom:20px}
.shipping-line{font-size:14px;color:rgba(255,255,255,.68);margin-top:12px}

/* === HERO STAR RATING === */
.hero-stars{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0 6px}
.hero-star-icons{font-size:18px;letter-spacing:2px}
.hero-star-text{font-size:14px;color:rgba(255,255,255,.85)}
.hero-star-text strong{color:#fff}

/* === HERO PRODUCT ROW — pills flanking image === */
.hero-product-row{display:flex;align-items:center;justify-content:center;gap:20px;margin:18px auto 0;max-width:740px;width:100%}
.hero-pills-col{display:flex;flex-direction:column;gap:12px;flex-shrink:0}
.hero-spec-pill{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:50px;padding:10px 18px;font-size:13px;font-weight:600;color:#fff;white-space:nowrap}
.hero-spec-pill .dot{width:7px;height:7px;background:#6ee7b7;border-radius:50%;flex-shrink:0}

/* === HERO LIVE COUNTER (inside hero) === */
.hero-live-bar{
    display:flex;align-items:center;justify-content:center;gap:6px;
    font-size:11px;color:rgba(255,255,255,.88);font-weight:600;
    margin:10px auto 8px;width:fit-content;
    background:rgba(15,23,42,.32);border:1px solid rgba(148,163,184,.5);
    border-radius:40px;padding:5px 14px;
}

/* === LIVE BAR === */
.live-bar{background:#fff;border-bottom:1px solid #e2e8f0;padding:12px 24px;text-align:center;font-size:14px;color:#475569;font-weight:600;display:flex;justify-content:center;align-items:center;gap:8px}
.live-dot{width:10px;height:10px;background:#ef4444;border-radius:50%;animation:pulseDot 1.5s ease-in-out infinite;box-shadow:0 0 0 3px rgba(239,68,68,.2)}

/* === TRUST STRIP (horizontal ticker) === */
.trust-strip{overflow:hidden;padding:14px 0;background:#f7f9fc;border-bottom:1px solid #e2e8f0;position:relative}
.trust-strip-track{display:flex;width:max-content;animation:trustTicker 35s linear infinite}
.trust-strip-inner{display:flex;gap:40px;padding-right:40px;white-space:nowrap}
@keyframes trustTicker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.trust-item{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#475569;flex-shrink:0}
.trust-item .t-icon,.trust-item .icon{width:34px;height:34px;background:#e6f7f1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px}

/* === SPEC PILLS === */
.specs-section{padding:36px 24px;background:#fff;text-align:center;border-bottom:1px solid #e2e8f0}
.specs-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;max-width:600px;margin:0 auto}
.spec-pill{display:inline-flex;align-items:center;gap:8px;background:#f0faf6;border:1px solid #d1fae5;border-radius:50px;padding:10px 22px;font-size:14px;font-weight:600;color:#1e293b}
.spec-pill .dot{width:8px;height:8px;background:#0d8a6f;border-radius:50%}

/* === BENEFITS === */
.benefits,.lp-benefits{background:#f0faf6;padding:56px 24px;text-align:center}
.benefits h2,.lp-benefits h2,.lp-benefits .wp-block-heading{font-size:clamp(22px,4vw,30px);font-weight:800;color:#1a5d8c;margin-bottom:36px}
.benefits-grid,.lp-benefits .wp-block-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:920px;margin:0 auto}
.b-card,.lp-benefits .wp-block-column{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:32px 22px;text-align:center;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}
.b-card::before,.lp-benefits .wp-block-column::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#0d8a6f,#1a5d8c);opacity:0;transition:opacity .3s}
.b-card:hover,.lp-benefits .wp-block-column:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(13,138,111,.12)}
.b-card:hover::before,.lp-benefits .wp-block-column:hover::before{opacity:1}
.b-icon,.benefit-icon{width:64px;height:64px;line-height:64px;font-size:28px;background:#e6f7f1;border-radius:50%;margin:0 auto 14px}
.b-card h3{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:6px}
.b-card p{font-size:14px;color:#475569;line-height:1.5}

/* === SOCIAL PROOF / REVIEWS === */
.social-proof,.rating-section{padding:56px 24px;background:#fff;text-align:center;border-top:1px solid #e2e8f0}
.rating-big{font-size:60px;font-weight:900;color:#1e293b;line-height:1}
.rating-big span{font-size:30px;color:#94a3b8;font-weight:600}
.rating-stars{font-size:30px;margin:6px 0}
.rating-sub{font-size:15px;color:#64748b;margin-bottom:36px}
.faces-strip{margin:20px auto 32px;max-width:520px;text-align:center}
.faces-avatars{display:flex;justify-content:center;gap:10px;margin-bottom:10px}
.faces-avatars img{width:54px;height:54px;border-radius:999px;object-fit:cover;border:2px solid #e2e8f0;box-shadow:0 4px 10px rgba(15,61,92,.15)}
.faces-caption{font-size:12px;color:#94a3b8}
.reviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:960px;margin:0 auto}
.r-card,.review-card{background:#f7f9fc;border:1px solid #e2e8f0;border-radius:14px;padding:20px 16px;text-align:left;transition:transform .3s,box-shadow .3s}
.r-card:hover,.review-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.06)}
.r-head,.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.r-name,.review-name{font-size:14px;font-weight:700;color:#1e293b}
.r-stars,.review-stars{font-size:12px;color:#f59e0b}
.r-text,.review-text{font-size:13px;color:#475569;line-height:1.5;margin-bottom:10px}
.r-meta,.review-meta{font-size:11px;color:#94a3b8;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.r-badge,.review-badge{background:#e6f7f1;color:#0d8a6f;font-weight:600;padding:2px 8px;border-radius:4px;font-size:11px}

/* === URGENCY / COUNTDOWN === */
.urgency-section,.countdown-section{background:linear-gradient(135deg,#0f3d5c,#1a5d8c);padding:48px 24px;text-align:center;color:#fff;position:relative;overflow:hidden}
.urgency-section::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 50% 50%,rgba(110,231,183,.06) 0%,transparent 70%);pointer-events:none}
.stock-warning{display:inline-flex;align-items:center;gap:8px;background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:#fca5a5;font-size:13px;font-weight:700;padding:6px 18px;border-radius:50px;margin-bottom:16px;text-transform:uppercase;letter-spacing:1px}
.stock-warning .warn-dot{width:8px;height:8px;background:#ef4444;border-radius:50%;animation:pulseDot 1.2s ease-in-out infinite}
.urgency-section h2{font-size:clamp(22px,5vw,32px);font-weight:800;margin-bottom:6px}
.urgency-sub{font-size:16px;color:rgba(255,255,255,.75);margin-bottom:24px}
.countdown,.countdown-timer{display:flex;justify-content:center;gap:12px;margin-bottom:24px}
.cd-box,.countdown-box{
    background:rgba(250,204,21,.16);border:1px solid rgba(250,204,21,.7);
    border-radius:14px;padding:16px 20px;min-width:76px;text-align:center;
    backdrop-filter:blur(4px);
}
.cd-box .num,.countdown-box .number{font-size:34px;font-weight:900;color:#facc15;line-height:1;display:block}
.cd-box .lbl,.countdown-box .label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#fef9c3;margin-top:4px}
.urgency-cta{display:inline-block;background:#fff;color:#0d8a6f;font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;padding:20px 56px;border-radius:14px;cursor:pointer;transition:all .3s;box-shadow:0 8px 30px rgba(0,0,0,.2);border:none}
.urgency-cta:hover{background:#f0faf6;transform:translateY(-3px);box-shadow:0 14px 40px rgba(0,0,0,.28)}

/* === PRODUCT INFO === */
.info-section{padding:56px 24px;max-width:720px;margin:0 auto;text-align:center}
.info-section.alt{background:#f7f9fc;max-width:100%}
.info-section.alt .info-inner{max-width:720px;margin:0 auto}
.info-section h2,.info-section .wp-block-heading{font-size:26px;font-weight:800;color:#1a5d8c;margin-bottom:16px}
.info-section-img{margin:20px auto 24px;text-align:center}
.info-section-img img{max-width:100%;width:400px;height:auto;border-radius:14px;box-shadow:0 8px 24px rgba(13,138,111,.12);object-fit:cover}
.info-section p{font-size:16px;color:#475569;line-height:1.7;max-width:600px;margin:0 auto}

/* === MODO D'USO === */
.usage,.usage-section{padding:56px 24px;text-align:center;background:#fff;border-top:1px solid #e2e8f0}
.usage h2,.usage-section h2,.usage-section .wp-block-heading{font-size:26px;font-weight:800;color:#1a5d8c;margin-bottom:28px}
.usage-circle,.usage-icon{width:88px;height:88px;background:#e6f7f1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:38px;margin:0 auto 16px;border:3px solid #0d8a6f;box-shadow:0 8px 20px rgba(13,138,111,.1)}
.usage-title,.usage-label{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:8px}
.usage-text,.usage-desc{font-size:15px;color:#475569;max-width:480px;margin:0 auto;line-height:1.6}

/* === GUARANTEE === */
.guarantee,.guarantee-section{background:linear-gradient(135deg,#0f3d5c,#1a5d8c);padding:60px 24px;text-align:center;color:#fff}
.guarantee-badge,.guarantee-icon{width:88px;height:88px;border:3px solid #6ee7b7;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:38px;margin:0 auto 20px;background:rgba(110,231,183,.08);box-shadow:0 0 30px rgba(110,231,183,.15)}
.guarantee h2,.guarantee-section h2,.guarantee-section .wp-block-heading{font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#6ee7b7;margin-bottom:12px}
.guarantee p,.guarantee-section p{font-size:15px;color:rgba(255,255,255,.78);max-width:520px;margin:0 auto;line-height:1.65}

/* === FAQ === */
.faq,.faq-section{padding:56px 24px;background:#f7f9fc;border-top:1px solid #e2e8f0}
.faq h2,.faq-section h2,.faq-section .wp-block-heading{font-size:26px;font-weight:800;color:#1a5d8c;text-align:center;margin-bottom:28px}
.faq-list{max-width:660px;margin:0 auto}
.faq-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:12px;overflow:hidden;transition:box-shadow .3s}
.faq-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.04)}
.faq-q,.faq-question{width:100%;background:none;border:none;padding:18px 20px;font-size:15px;font-weight:600;color:#1e293b;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:inherit;transition:color .3s}
.faq-q::after,.faq-question::after{content:'+';font-size:22px;font-weight:700;color:#0d8a6f;transition:transform .3s;flex-shrink:0;width:24px;text-align:center}
.faq-item.open .faq-q,.faq-item.open .faq-question{color:#0d8a6f}
.faq-item.open .faq-q::after,.faq-item.open .faq-question::after{content:'\2212'}
.faq-a,.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;font-size:14px;color:#475569;line-height:1.65;padding:0 20px}
.faq-item.open .faq-a,.faq-item.open .faq-answer{max-height:200px;padding:0 20px 18px}

/* === FOOTER === */
.lp-footer{background:#0f2b3d;padding:28px 24px;text-align:center}
.lp-footer .trust-text,.lp-footer .lp-trust-text{font-size:13px!important;color:rgba(255,255,255,.6)!important;line-height:1.6;margin-bottom:16px}
.lp-footer .partners-line{font-size:13px;color:rgba(255,255,255,.4);padding-top:16px;border-top:1px solid rgba(255,255,255,.08);margin-bottom:12px}
.lp-footer .partners-line strong{color:rgba(255,255,255,.55)}
.lp-footer .copyright,.lp-footer .lp-copyright{font-size:12px!important;color:rgba(255,255,255,.3)!important;margin-top:12px}

/* === PARTNERS === */
.partners-section{padding:40px 24px;text-align:center;background:#fff;border-top:1px solid #e2e8f0}
.cert-bar{background:#e6f7f1;border:1px solid #a7f3d0;border-radius:10px;padding:12px 24px;margin:0 auto 24px;max-width:600px;font-size:12px;font-weight:600;color:#0d8a6f;text-transform:uppercase;letter-spacing:.5px}

/* === WOOCOMMERCE BUTTONS === */
body.page-template-page-landing .add_to_cart_button,
body.page-template-page-landing .single_add_to_cart_button,
body.page-template-page-landing .wp-block-button__link,
.cta-primary,.cta-button,.lp-cta-button{
    display:inline-block;
    background:linear-gradient(135deg,#ff6b00,#e85d00)!important;
    color:#fff!important;font-family:'Inter',sans-serif;
    font-size:19px!important;font-weight:800!important;
    text-transform:uppercase;letter-spacing:.8px;
    padding:20px 56px!important;border:none!important;border-radius:14px!important;
    cursor:pointer;transition:all .3s;
    box-shadow:0 8px 28px rgba(255,107,0,.45);
    text-decoration:none!important;min-width:280px;text-align:center;
    position:relative;overflow:hidden;
    animation:ctaPulse 2.5s ease-in-out infinite;
}
body.page-template-page-landing .add_to_cart_button::after,
.cta-primary::after{
    content:'';position:absolute;top:-50%;left:-60%;width:40%;height:200%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
    transform:skewX(-20deg);transition:left .8s ease;
}
body.page-template-page-landing .add_to_cart_button:hover::after,
.cta-primary:hover::after{left:120%}
body.page-template-page-landing .add_to_cart_button:hover,
body.page-template-page-landing .single_add_to_cart_button:hover,
.cta-primary:hover,.cta-button:hover{
    transform:translateY(-3px)!important;
    box-shadow:0 14px 40px rgba(255,107,0,.55)!important;
    animation:none;
}
@keyframes ctaPulse{0%,100%{box-shadow:0 8px 28px rgba(255,107,0,.45)}50%{box-shadow:0 10px 40px rgba(255,107,0,.7)}}

/* WooCommerce overrides */
body.page-template-page-landing .quantity{display:none!important}
body.page-template-page-landing .product_meta,
body.page-template-page-landing .woocommerce-product-rating,
body.page-template-page-landing .woocommerce-tabs{display:none!important}
body.page-template-page-landing .woocommerce .price{font-size:34px!important;font-weight:900;color:#0d8a6f!important}
body.page-template-page-landing .woocommerce .price del{color:#94a3b8!important;font-size:20px!important;opacity:.8}
body.page-template-page-landing .woocommerce .price ins{text-decoration:none;color:#0d8a6f!important}
body.page-template-page-landing .woocommerce-message{background:#f0faf6;border-left:4px solid #0d8a6f;color:#1e293b;padding:12px 20px;border-radius:8px;margin-bottom:20px}

/* Inverted CTA for green/blue sections */
.lp-mid-cta .add_to_cart_button,.urgency-section .add_to_cart_button,
.lp-mid-cta .wp-block-button__link,.urgency-section .wp-block-button__link{
    background:#fff!important;color:#0d8a6f!important;
    box-shadow:0 8px 30px rgba(0,0,0,.2)!important;
}
.lp-mid-cta .add_to_cart_button:hover,.urgency-section .add_to_cart_button:hover{
    background:#f0faf6!important;transform:translateY(-3px);
    box-shadow:0 14px 40px rgba(0,0,0,.28)!important;
}

/* === ANIMATIONS === */
@keyframes fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* === STICKY MOBILE CTA === */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;width:100%;background:#fff;border-top:2px solid #ff6b00;padding:12px 16px;z-index:9999;box-shadow:0 -4px 20px rgba(0,0,0,.1);text-align:center;transform:translateY(100%);transition:transform .4s ease}
.sticky-cta.visible{transform:translateY(0)}
.sticky-cta .sticky-btn{display:block;width:100%;background:linear-gradient(135deg,#ff6b00,#e85d00);color:#fff;font-size:16px;font-weight:800;text-transform:uppercase;padding:16px;border:none;border-radius:12px;cursor:pointer;letter-spacing:.5px;text-decoration:none}
.sticky-cta .sticky-price{font-size:12px;color:#64748b;margin-top:4px}

/* === RESPONSIVE === */
@media(max-width:767px){
    .lp-hero{padding:24px 20px 32px!important}
    .product-img-wrap,.lp-hero .wp-block-image{max-width:280px}
    .price-new{font-size:34px}
    body.page-template-page-landing .add_to_cart_button,
    body.page-template-page-landing .single_add_to_cart_button,
    .cta-primary,.urgency-cta,.cta-button{width:100%!important;min-width:unset;padding:18px 24px!important;font-size:16px!important}
    .benefits-grid,.lp-benefits .wp-block-columns{grid-template-columns:1fr!important;max-width:400px;margin:0 auto}
    .reviews-grid{grid-template-columns:1fr!important;max-width:400px;margin:0 auto}
    .hero-specs-list{max-width:360px}
    .hero-specs-list li{font-size:11px;padding:5px 10px}
    .specs-row{flex-direction:column;align-items:center}
    .cd-box,.countdown-box{min-width:64px;padding:12px 14px}
    .cd-box .num,.countdown-box .number{font-size:26px}
    .rating-big{font-size:48px}
    .stock-warning{font-size:10px;padding:3px 8px}
    .stock-warning .warn-dot{width:6px;height:6px}
    .shipping-line{font-size:11px}
    .top-bar{font-size:11px;padding:9px 12px}
    .faces-avatars img{width:48px;height:48px}
    .sticky-cta{display:block}
}
@media(min-width:768px) and (max-width:1023px){
    .reviews-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
    .lp-hero{padding:24px 40px 40px!important}
    .product-img-wrap,.lp-hero .wp-block-image{max-width:400px}
}

/* ===================================================================
   EMBEDDED ORDER FORM
   =================================================================== */
.order-form-section{padding:56px 24px;background:#f0faf6;border-top:1px solid #e2e8f0}
.order-form-section>h2{text-align:center;font-size:clamp(22px,4vw,28px);font-weight:800;color:#1a5d8c;margin-bottom:8px}
.order-form-section>.of-sub{text-align:center;font-size:15px;color:#475569;margin-bottom:28px}
.order-form-card{max-width:480px;margin:0 auto;background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 8px 32px rgba(0,0,0,.08);overflow:hidden}
.of-header{background:#0f3d5c;color:#fff;text-align:center;padding:14px 20px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}
/* Summary */
.of-summary{padding:16px 20px;border-bottom:1px solid #e2e8f0}
.of-item{display:flex;align-items:center;gap:12px;margin-bottom:14px;position:relative}
.of-item-badge{position:absolute;top:-6px;left:28px;width:18px;height:18px;background:#1a5d8c;color:#fff;border-radius:50%;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center}
.of-item img{width:48px;height:48px;border-radius:8px;object-fit:cover;border:1px solid #e2e8f0}
.of-item-name{flex:1;font-size:14px;font-weight:600;color:#1e293b}
.of-item-price{font-size:14px;font-weight:700;color:#1e293b}
.of-totals{display:flex;flex-direction:column;gap:6px}
.of-total-row{display:flex;justify-content:space-between;font-size:14px;color:#475569}
.of-total-row.grand{font-weight:800;color:#1e293b;font-size:15px;padding-top:8px;border-top:1px solid #e2e8f0;margin-top:4px}
/* Shipping options */
.of-shipping-opts{padding:14px 20px;border-bottom:1px solid #e2e8f0}
.of-shipping-opts>p{font-size:13px;font-weight:700;color:#1e293b;margin-bottom:10px}
.of-radio-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569;margin-bottom:8px;cursor:pointer}
.of-radio-label input[type="radio"]{accent-color:#1a5d8c;width:16px;height:16px;flex-shrink:0}
.of-radio-price{margin-left:auto;font-weight:700;color:#1e293b}
/* Discount code */
.of-discount-row{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid #e2e8f0}
.of-discount-input{flex:1;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px;font-size:14px;font-family:inherit;outline:none;color:#475569;transition:border-color .2s}
.of-discount-input:focus{border-color:#1a5d8c}
.of-apply-btn{background:#1e293b;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .2s}
.of-apply-btn:hover{background:#0f3d5c}
/* Form fields */
.of-fields{padding:14px 20px 0;display:flex;flex-direction:column;gap:10px}
.of-field{position:relative}
.of-field-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none;color:#94a3b8;line-height:1}
.of-input,.of-select{width:100%;border:1px solid #e2e8f0;border-radius:8px;padding:11px 14px 11px 38px;font-size:14px;font-family:inherit;color:#1e293b;outline:none;appearance:none;-webkit-appearance:none;background:#fff;transition:border-color .2s,box-shadow .2s}
.of-input:focus,.of-select:focus{border-color:#1a5d8c;box-shadow:0 0 0 3px rgba(26,93,140,.08)}
.of-input::placeholder{color:#94a3b8}
.of-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='none' stroke='%2394a3b8' stroke-width='2' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
/* Newsletter */
.of-newsletter{display:flex;align-items:center;gap:8px;padding:14px 20px 6px;font-size:13px;color:#475569;cursor:pointer}
.of-newsletter input[type="checkbox"]{accent-color:#1a5d8c;width:16px;height:16px;flex-shrink:0}
/* Upsell */
.of-upsell{margin:6px 20px 16px;border:2px dashed #0d8a6f;border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:10px;background:rgba(13,138,111,.04);cursor:pointer;transition:background .2s}
.of-upsell:hover{background:rgba(13,138,111,.08)}
.of-upsell input[type="checkbox"]{accent-color:#0d8a6f;width:18px;height:18px;flex-shrink:0}
.of-upsell-img{width:40px;height:40px;border-radius:6px;object-fit:cover}
.of-upsell-text{font-size:13px;font-weight:700;color:#1e293b}
/* Messages */
.of-message{margin:0 20px 12px;padding:10px 14px;border-radius:8px;font-size:14px;font-weight:600;display:none}
.of-message.success{color:#0d8a6f;background:#f0faf6;border:1px solid #a7f3d0}
.of-message.error{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5}
/* Complete button */
.of-complete-btn{display:block;width:calc(100% - 40px);margin:0 20px 20px;background:#e02020;color:#fff;border:none;border-radius:10px;padding:18px;font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;font-family:inherit;transition:background .2s,transform .2s;box-shadow:0 6px 20px rgba(224,32,32,.3)}
.of-complete-btn:hover{background:#c91a1a;transform:translateY(-2px);box-shadow:0 10px 28px rgba(224,32,32,.4)}
.of-complete-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}
/* Responsive */
@media(max-width:767px){
    .of-radio-label{font-size:12px}
    .of-complete-btn{font-size:14px;padding:16px}
}

/* ===================================================================
   THANK YOU PAGE
   =================================================================== */

/* Body override — reuses page-template-page-landing base styles */
body.page-template-page-thankyou{background:#f7f9fc}

/* Logo bar */
.ty-logo-bar{background:#fff;text-align:center;padding:16px 24px;border-bottom:1px solid #e2e8f0}
.ty-logo-bar img{max-height:56px;width:auto}

/* ── Hero ── */
.ty-hero{
	background:linear-gradient(170deg,#0b3a56 0%,#15567d 40%,#1d6fa3 100%);
	padding:60px 24px 56px;text-align:center;position:relative;overflow:hidden;
}
.ty-hero::before{content:'';position:absolute;top:-60%;left:-30%;width:160%;height:200%;background:radial-gradient(ellipse at 40% 40%,rgba(110,231,183,.09) 0%,transparent 55%);pointer-events:none}
.ty-hero-inner{position:relative;max-width:600px;margin:0 auto}

/* Animated checkmark */
.ty-checkmark-wrap{position:relative;width:100px;height:100px;margin:0 auto 28px;display:flex;align-items:center;justify-content:center}
.ty-checkmark{
	width:90px;height:90px;border-radius:50%;
	background:linear-gradient(135deg,#0d8a6f,#1a5d8c);
	display:flex;align-items:center;justify-content:center;
	color:#fff;position:relative;z-index:2;
	box-shadow:0 0 0 0 rgba(13,138,111,.4);
	animation:tyCheckPulse 2.2s ease-out forwards,tyCheckBounce .6s cubic-bezier(.36,.07,.19,.97) both;
}
@keyframes tyCheckBounce{
	0%{opacity:0;transform:scale(.5)}
	60%{opacity:1;transform:scale(1.1)}
	80%{transform:scale(.95)}
	100%{transform:scale(1)}
}
@keyframes tyCheckPulse{
	0%{box-shadow:0 0 0 0 rgba(13,138,111,.45)}
	70%{box-shadow:0 0 0 28px rgba(13,138,111,0)}
	100%{box-shadow:0 0 0 0 rgba(13,138,111,0)}
}
.ty-check-ring{
	position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
	border-radius:50%;border:2px solid rgba(110,231,183,.35);
	animation:tyRingExpand 2.2s ease-out forwards;
}
.ty-check-ring-1{width:90px;height:90px;animation-delay:.2s}
.ty-check-ring-2{width:90px;height:90px;animation-delay:.5s}
@keyframes tyRingExpand{
	0%{width:90px;height:90px;opacity:.7}
	100%{width:150px;height:150px;opacity:0}
}

.ty-hero h1{font-size:clamp(26px,5vw,40px);font-weight:900;color:#fff;margin-bottom:14px;line-height:1.15;animation:fadeInUp .7s ease both;animation-delay:.3s}
.ty-hero-sub{font-size:clamp(15px,3vw,18px);color:rgba(255,255,255,.78);max-width:480px;margin:0 auto 24px;line-height:1.55;animation:fadeInUp .7s ease both;animation-delay:.45s}
.ty-order-badge{
	display:inline-flex;align-items:center;gap:8px;
	background:rgba(110,231,183,.14);border:1px solid rgba(110,231,183,.3);
	color:#6ee7b7;font-size:14px;font-weight:700;
	padding:9px 22px;border-radius:50px;
	animation:fadeInUp .7s ease both;animation-delay:.6s;
}
.ty-order-badge svg{opacity:.7}

/* ── Section containers ── */
.ty-summary-section{padding:52px 24px;background:#f7f9fc}
.ty-steps-section{padding:52px 24px;background:#fff;border-top:1px solid #e2e8f0}
.ty-container{max-width:880px;margin:0 auto}
.ty-section-title{
	font-size:clamp(20px,4vw,26px);font-weight:800;color:#1a5d8c;
	text-align:center;margin-bottom:32px;
}

/* ── Two-column layout (order card + delivery) ── */
.ty-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}

/* ── Shared card styles ── */
.ty-order-card,.ty-delivery-card{
	background:#fff;border:1px solid #e2e8f0;
	border-radius:16px;overflow:hidden;
	box-shadow:0 4px 20px rgba(0,0,0,.05);
}
.ty-card-header{
	background:#0f3d5c;color:#fff;
	padding:13px 20px;font-size:13px;font-weight:800;
	text-transform:uppercase;letter-spacing:1.5px;
	display:flex;align-items:center;gap:8px;
}

/* ── Order items ── */
.ty-order-items{padding:0 20px}
.ty-item{
	display:flex;align-items:center;gap:12px;
	padding:14px 0;border-bottom:1px solid #f1f5f9;
}
.ty-item:last-child{border-bottom:none}
.ty-item-img{width:48px;height:48px;border-radius:8px;object-fit:cover;border:1px solid #e2e8f0;flex-shrink:0}
.ty-item-info{flex:1;min-width:0}
.ty-item-name{font-size:14px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ty-item-qty{font-size:12px;color:#94a3b8;margin-top:2px}
.ty-item-price{font-size:14px;font-weight:700;color:#1e293b;white-space:nowrap}
.ty-shipping-row{opacity:.85}
.ty-shipping-icon{font-size:22px;flex-shrink:0;width:48px;text-align:center}
.ty-free{color:#0d8a6f;font-weight:700}

/* Grand total row */
.ty-order-total-row{
	display:flex;justify-content:space-between;align-items:center;
	padding:14px 20px;border-top:2px solid #e2e8f0;
	font-weight:700;font-size:15px;color:#1e293b;
	background:#f7f9fc;
}
.ty-total-amount{font-size:20px;font-weight:900;color:#1a5d8c}

/* Payment badge */
.ty-payment-badge{
	display:flex;align-items:center;gap:8px;
	padding:12px 20px;font-size:13px;color:#475569;
	border-top:1px solid #f1f5f9;
}
.ty-payment-badge svg{flex-shrink:0;color:#0d8a6f}

/* ── Delivery card ── */
.ty-delivery-info{padding:16px 20px;display:flex;flex-direction:column;gap:10px}
.ty-delivery-row{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#475569;line-height:1.5}
.ty-delivery-icon{flex-shrink:0;font-size:16px;width:22px;text-align:center;margin-top:1px}

.ty-discreet-note{
	margin:0 20px 16px;padding:10px 14px;
	background:#f0faf6;border:1px solid #a7f3d0;
	border-radius:8px;font-size:12px;font-weight:600;color:#0d8a6f;
	display:flex;align-items:center;gap:7px;
}
.ty-discreet-note svg{flex-shrink:0}

/* ── Steps ── */
.ty-steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:820px;margin:0 auto}
.ty-step{
	background:#f0faf6;border:1px solid #d1fae5;
	border-radius:16px;padding:28px 20px;text-align:center;
	position:relative;transition:transform .3s,box-shadow .3s;
}
.ty-step::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#0d8a6f,#1a5d8c);border-radius:16px 16px 0 0}
.ty-step:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(13,138,111,.1)}
.ty-step-num{
	position:absolute;top:-14px;left:50%;transform:translateX(-50%);
	width:28px;height:28px;border-radius:50%;
	background:linear-gradient(135deg,#0d8a6f,#1a5d8c);
	color:#fff;font-size:13px;font-weight:800;
	display:flex;align-items:center;justify-content:center;
	box-shadow:0 3px 10px rgba(13,138,111,.3);
}
.ty-step-emoji{font-size:34px;margin:12px 0 10px;display:block}
.ty-step h3{font-size:15px;font-weight:700;color:#1e293b;margin-bottom:8px}
.ty-step p{font-size:13px;color:#475569;line-height:1.55}

/* ── Responsive ── */
@media(max-width:767px){
	.ty-hero{padding:48px 20px 44px}
	.ty-checkmark-wrap{width:80px;height:80px}
	.ty-checkmark{width:72px;height:72px}
	.ty-checkmark svg{width:40px;height:40px}
	.ty-two-col{grid-template-columns:1fr}
	.ty-steps-grid{grid-template-columns:1fr;max-width:360px}
	.ty-order-total-row{flex-direction:column;align-items:flex-start;gap:4px}
	.ty-total-amount{font-size:18px}
}
@media(min-width:768px) and (max-width:1023px){
	.ty-two-col{grid-template-columns:1fr}
}

/* ===================================================================
   ORDER FORM MODAL
   =================================================================== */
.of-modal-overlay{
    display:none;position:fixed;top:0;left:0;width:100%;height:100%;
    background:rgba(0,0,0,.65);z-index:999999;
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    padding:16px;align-items:flex-start;justify-content:center;overflow-y:auto;
}
.of-modal-overlay.active{display:flex}
.of-modal-inner{
    position:relative;width:100%;max-width:480px;
    border-radius:16px;overflow:hidden;
    animation:modalIn .3s cubic-bezier(.4,0,.2,1);
    margin:auto;
}
@keyframes modalIn{from{opacity:0;transform:scale(.94) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
.of-modal-close{
    position:absolute;top:10px;right:10px;
    width:30px;height:30px;background:rgba(255,255,255,.2);
    border:none;border-radius:50%;color:#fff;font-size:20px;font-weight:700;
    cursor:pointer;display:flex;align-items:center;justify-content:center;
    z-index:2;transition:background .2s;line-height:1;font-family:inherit;
}
.of-modal-close:hover{background:rgba(255,255,255,.35)}
