@charset "UTF-8";
        /* ═══════════════════════════════════════════════════════════════════
           PREMIUM SINGLE COURSE CARD (cw namespace, unique to course pages)
           Vertical enrolment card: landscape photo on top, clean content
           below, prominent sale price, primary CTA, trust row.
           ═══════════════════════════════════════════════════════════════════ */
        .cwCardSection{ width:100%; box-sizing:border-box; display:flex; justify-content:center; margin:clamp(10px, 1.6vw, 18px) 0 clamp(26px, 3.6vw, 46px); }
        /* Family row: two cards per row on desktop, one per row on mobile. */
        .cwCardsRow{ display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:28px; width:100%; max-width:1080px; margin:0 auto; padding:0 14px; box-sizing:border-box; }
        .cwCardsRow .cwCardWrapper{ margin:0; }
        @media (max-width:1120px){ .cwCardsRow{ gap:20px; } }
        @media (max-width:767.98px){ .cwCardsRow{ gap:22px; padding:0; } }
        /* Per course value bands: blue theory variant plus short labels on tiny screens.
           The base green band is declared later in this sheet, so the blue
           variant needs the important flag to win, same as the reference site. */
        .cwComboBadge__short{ display:none; }
        @media (max-width:360px){ .cwComboBadge__full{ display:none; } .cwComboBadge__short{ display:inline; } }
        .cwComboBadge--blue{ background:linear-gradient(90deg,#1e40af 0%,#2563eb 52%,#3b82f6 100%) !important; }
        .cwComboBadge--blue .cwComboBadge__tag{ color:#1e3a8a !important; }
        .cwCardWrapper, .cwCardWrapper *{ font-family:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; box-sizing:border-box; }
        .cwCardWrapper{
            position:relative;
            display:flex; flex-direction:column;
            width:min(500px, 100% - 28px);
            margin:0 auto; padding:0;
            border-radius:24px;
            border:1px solid rgba(15,23,42,.08);
            background:#ffffff;
            box-shadow:0 1px 2px rgba(2,6,23,.05), 0 22px 48px -24px rgba(13,71,161,.28), 0 10px 26px -18px rgba(2,6,23,.12);
            overflow:hidden;
        }
        .cwCardImg{ position:relative; width:100%; height:232px; overflow:hidden; flex:0 0 auto; }
        .cwCardImg img{ width:100%; height:100%; object-fit:cover; object-position:center 32%; display:block; }
        .cwCardImg::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:42%; background:linear-gradient(to top, rgba(8,15,30,.30), rgba(8,15,30,0)); pointer-events:none; }
        .cwCardInfo{ width:100%; padding:26px 28px 28px; display:flex; flex-direction:column; align-items:stretch; }
        .cwCardText{ width:100%; display:flex; flex-direction:column; align-items:flex-start; row-gap:12px; }
        .cwCardTitle, .cwCardTitle .cwTitleFull, .cwCardTitle .cwTitleMobile{
            margin:0; padding:0;
            font-family:'Inter','Poppins',system-ui,-apple-system,sans-serif;
            font-weight:800; letter-spacing:-.015em; line-height:1.1;
            color:#0f1b34; text-align:left; text-transform:none;
            font-size:clamp(26px, 1vw + 21px, 31px);
        }
        .cwCardTitle .cwTitleMobile{ display:none; }
        .cwCardTitle{ text-wrap:balance; overflow-wrap:break-word; }
        /* Adaptive sizing keeps long admin managed course names premium on two balanced lines */
        .cwCardTitle.cwTitle--long, .cwCardTitle.cwTitle--long .cwTitleFull, .cwCardTitle.cwTitle--long .cwTitleMobile{ font-size:clamp(22px, .8vw + 18px, 26px); line-height:1.2; }
        .cwCardTitle.cwTitle--xl, .cwCardTitle.cwTitle--xl .cwTitleFull, .cwCardTitle.cwTitle--xl .cwTitleMobile{ font-size:clamp(18.5px, .6vw + 15px, 22px); line-height:1.3; letter-spacing:-.01em; }
        .cwComboBadge{ align-self:stretch; display:flex; align-items:center; gap:11px; margin:3px -28px; padding:12px 28px; border-radius:0; background:linear-gradient(90deg,#047857 0%,#059669 52%,#10b981 100%); }
        .cwComboBadge__tag{ flex-shrink:0; font-size:14px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#065f46; background:#ffffff; padding:5px 9px; border-radius:7px; box-shadow:0 1px 3px rgba(2,6,23,.14); }
        .cwComboBadge__txt{ flex:1 1 auto; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:14.5px; font-weight:700; color:#ffffff; letter-spacing:.005em; line-height:1.25; }
        .cwComboBadge__check{ flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.22); color:#ffffff; }
        .cwComboBadge__check svg{ width:14px; height:14px; }
        .cwCardText .isa-accrow{ margin-top:7px; align-self:flex-start; }
        .cwCardDivider{ width:100%; margin:4px 0 2px; border:0; border-top:1px solid rgba(15,23,42,.10); }
        .cwCardFacts{ width:100%; display:flex; flex-direction:column; gap:11px; margin:0; padding:0; }
        .cwCardFact{ display:flex; align-items:center; gap:13px; padding:0; margin:0; }
        .cwCardFactIcon{ width:40px; height:40px; flex:0 0 40px; display:flex; align-items:center; justify-content:center; border-radius:11px; background:linear-gradient(135deg,#f3f8ff,#e9f1ff); border:1px solid rgba(99,170,255,.30); }
        .cwCardFactIcon img{ width:52%; height:52%; object-fit:contain; }
        .cwCardFactBody{ display:flex; flex-wrap:wrap; align-items:baseline; gap:7px; font-size:17.5px; font-weight:600; line-height:1.6; color:#1f2b40; }
        .cwFactLabel{ font-weight:700; color:#0f1b34; }
        .cwFactLabel::after{ content:":"; }
        .cwFactValue{ font-weight:600; color:#334155; }
        .cwCardFact--price{ margin-top:4px; }
        .cwCardFact--price .cwCardFactBody{ align-items:baseline; gap:11px; font-variant-numeric:tabular-nums; }
        .cwPriceWas{ position:relative; font-weight:700; font-size:21px; color:#94a3b8; line-height:1; letter-spacing:-.01em; text-decoration:none; }
        .cwPriceWas::before{ content:""; position:absolute; left:-9%; right:-9%; top:52%; height:2.5px; background:#ef4444; transform:translateY(-50%) rotate(-9deg); border-radius:2px; box-shadow:0 0 3px rgba(239,68,68,.25); }
        .cwPriceNow{ font-weight:800; font-size:37px; color:#dc2626; line-height:1.1; letter-spacing:-.02em; }
        .cwPriceIncl{ display:inline-flex; flex-direction:column; justify-content:center; align-self:center; line-height:1.16; margin-left:1px; min-width:0; }
        .cwPriceIncl__a{ font-size:14px; font-weight:600; color:#64748b; letter-spacing:.02em; white-space:nowrap; }
        .cwPriceIncl__b{ font-size:14px; font-weight:800; color:#047857; letter-spacing:.02em; white-space:nowrap; }
        .cwCardBtns{ display:flex !important; flex-direction:column-reverse !important; width:100% !important; gap:11px !important; margin:20px 0 0 !important; padding:0 !important; }
        .cwCardBtns .cwBtnInfo, .cwCardBtns .cwBtnBuy{
            width:100% !important; height:54px !important; flex:0 0 auto !important;
            box-sizing:border-box !important; margin:0 !important; padding:0 18px !important;
            display:inline-flex !important; align-items:center !important; justify-content:center !important;
            text-align:center !important; line-height:1 !important;
            border-radius:13px !important; font-size:16px !important; font-weight:700 !important; letter-spacing:.01em !important;
            text-transform:none !important; text-decoration:none !important; cursor:pointer !important;
            transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s ease, filter .25s ease !important;
        }
        .cwCardBtns .cwBtnBuy{
            position:relative !important; isolation:isolate !important; overflow:hidden !important;
            background:linear-gradient(135deg,#ffe53d 0%,#ffd400 50%,#ffc400 100%) !important;
            color:#1a1500 !important; border:none !important;
            box-shadow:0 12px 24px -10px rgba(255,196,0,.6), inset 0 1px 0 rgba(255,255,255,.65) !important;
        }
        .cwCardBtns .cwBtnBuy:hover{ transform:translateY(-2px) !important; box-shadow:0 16px 30px -12px rgba(255,196,0,.72), inset 0 1px 0 rgba(255,255,255,.75) !important; filter:saturate(1.05) !important; color:#1a1500 !important; text-decoration:none !important; }
        .cwCardBtns .cwBtnBuy::before{ content:""; position:absolute; inset:0; background:linear-gradient(120deg, rgba(255,255,255,0) 20%, rgba(255,255,255,.85) 50%, rgba(255,255,255,0) 80%); transform:translateX(-130%) skewX(-14deg); opacity:0; pointer-events:none; }
        .cwCardBtns .cwBtnBuy:hover::before{ animation:cwBtnShine 1.15s cubic-bezier(.25,.7,.3,1) forwards; }
        @keyframes cwBtnShine{ 0%{ transform:translateX(-130%) skewX(-14deg); opacity:0; } 15%{ opacity:1; } 55%{ opacity:1; } 100%{ transform:translateX(130%) skewX(-14deg); opacity:0; } }
        .cwCardBtns .cwBtnInfo{ background:#ffffff !important; color:#0f1b34 !important; border:1.5px solid rgba(15,23,42,.16) !important; box-shadow:0 4px 12px -8px rgba(2,6,23,.18) !important; }
        .cwCardBtns .cwBtnInfo:hover{ transform:translateY(-2px) !important; border-color:rgba(15,23,42,.28) !important; box-shadow:0 8px 18px -10px rgba(2,6,23,.24) !important; color:#0f1b34 !important; text-decoration:none !important; }
        .cwCardTrust{ width:100%; margin:16px 0 0; padding:13px 0 0; border-top:1px solid rgba(15,23,42,.08); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:9px 14px; font-size:14px; font-weight:600; color:#5b6b82; text-align:center; }
        .cwCardTrust span{ display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
        .cwCardTrust span::before{
            content:""; width:15px; height:15px; flex:0 0 15px; background:#10b981;
            -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M9 16.2l-3.5-3.5-1.4 1.4L9 19 20.3 7.7l-1.4-1.4z'/></svg>") center/contain no-repeat;
            mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M9 16.2l-3.5-3.5-1.4 1.4L9 19 20.3 7.7l-1.4-1.4z'/></svg>") center/contain no-repeat;
        }
        @media (prefers-reduced-motion: reduce){
            .cwCardBtns .cwBtnInfo, .cwCardBtns .cwBtnBuy{ transition:none !important; }
            .cwCardBtns .cwBtnInfo:hover, .cwCardBtns .cwBtnBuy:hover{ transform:none !important; }
            .cwCardBtns .cwBtnBuy:hover::before{ animation:none; opacity:0; }
        }
        @media (max-width: 768px){
            .cwCardWrapper{ width:min(500px, 100% - 24px); }
            .cwCardImg{ height:216px; }
            .cwCardInfo{ padding:22px 22px 24px; }
            .cwComboBadge{ margin:3px -22px; padding:12px 22px; }
        }
        @media (max-width: 520px){
            .cwPriceIncl__a{ font-size:14px; }
            .cwPriceIncl__b{ font-size:14px; }
            .cwComboBadge{ gap:9px; }
            .cwComboBadge__tag{ font-size:14px; padding:4px 7px; }
            .cwComboBadge__txt{ font-size:14px; }
            .cwComboBadge__check{ width:22px; height:22px; }
            .cwCardTrust{ gap:9px 13px; font-size:14px; }
            .cwCardTrust span{ gap:5px; }
            .cwCardTrust span::before{ width:13px; height:13px; flex:0 0 13px; }
        }
        @media (max-width: 420px){
            .cwCardWrapper{ width:min(500px, 100% - 20px); border-radius:20px; }
            .cwCardImg{ height:186px; }
            .cwCardInfo{ padding:18px 18px 22px; }
            .cwComboBadge{ margin:3px -18px; padding:11px 18px; }
            .cwCardFactBody{ font-size:16.5px; }
            .cwPriceWas{ font-size:19px; }
            .cwPriceNow{ font-size:33px; }
            .cwCardFactIcon{ width:38px; height:38px; flex:0 0 38px; }
        }
        @media (max-width: 360px){
            .cwCardTrust{ gap:8px 11px; font-size:14px; }
        }
        
