/* Chinese with Nicole — site styles (scoped to .cwn-page / header / footer) */
:root{
  --cwn-red:#B5172F; --cwn-red-dark:#8F1126; --cwn-red-soft:#FBE6E8; --cwn-pink:#F6D7D9;
  --cwn-cream:#F6EFE6; --cwn-cream-2:#FBF7F2; --cwn-ink:#1C1717; --cwn-text:#3A3232; --cwn-muted:#6E6464;
  --cwn-line:#E9DED3; --cwn-white:#fff;
  --cwn-serif:"Playfair Display", Georgia, "Times New Roman", serif;
  --cwn-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --cwn-radius:16px; --cwn-shadow:0 10px 30px rgba(60,20,20,.08);
}

/* hide Blocksy's own header/footer; ours are synced patterns */
body #header, body #footer, body .ct-header, body footer.ct-footer{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--cwn-white)}

.cwn-page, .cwn-header, .cwn-footer{font-family:var(--cwn-sans); color:var(--cwn-text); font-size:17px; line-height:1.65}
.cwn-page *, .cwn-header *, .cwn-footer *{box-sizing:border-box}
.cwn-page p, .cwn-footer p{margin:0 0 1em}
.cwn-page a{color:var(--cwn-red)}
.cwn-page h1,.cwn-page h2,.cwn-page h3,.cwn-footer h3{font-family:var(--cwn-serif); color:var(--cwn-ink); line-height:1.15; margin:0 0 .5em; font-weight:700; letter-spacing:-.01em}

/* sections */
.cwn-sec{padding:84px 20px; margin:0!important}
.cwn-wrap{max-width:1180px; margin:0 auto!important}
.cwn-cream{background:var(--cwn-cream)}
.cwn-red{background:var(--cwn-red); color:#fff}
.cwn-red h2,.cwn-red h3,.cwn-red p,.cwn-red a:not(.wp-block-button__link){color:#fff}
.cwn-center{text-align:center}
.cwn-narrow{max-width:760px; margin-left:auto!important; margin-right:auto!important}
.cwn-muted{color:var(--cwn-muted)}
.cwn-red-text{color:var(--cwn-red)}

.cwn-eyebrow{font-size:13px!important; letter-spacing:.18em; text-transform:uppercase; color:var(--cwn-red)!important; font-weight:700; margin-bottom:.8em!important}
.cwn-sec > .cwn-wrap > .cwn-eyebrow{text-align:center}
.cwn-display{font-size:clamp(44px,6.2vw,80px)!important; line-height:1.02!important; margin-bottom:.35em!important}
.cwn-display-sm{font-size:clamp(36px,4.6vw,58px)!important; line-height:1.05!important}
.cwn-h2{font-size:clamp(32px,3.8vw,48px)!important}
.cwn-h3{font-size:24px!important}
.cwn-lead{font-size:clamp(18px,1.6vw,21px); color:var(--cwn-text)}
.cwn-sec > .cwn-wrap > .cwn-lead.cwn-center{max-width:720px; margin:0 auto 40px!important}
.cwn-note{font-size:14px; font-style:italic; color:var(--cwn-muted)}
.cwn-meta{font-weight:700; color:var(--cwn-red)!important; letter-spacing:.02em}
.cwn-offer{font-size:15px; color:var(--cwn-muted); margin-top:14px!important}
.cwn-red .cwn-offer{color:#ffe1e4!important}

/* buttons */
.cwn-page .wp-block-buttons, .cwn-footer .wp-block-buttons{gap:12px; margin:8px 0 0}
.cwn-btns.cwn-center{justify-content:center}
.cwn-page .wp-block-button__link, .cwn-header .wp-block-button__link, .cwn-footer .wp-block-button__link{
  background:var(--cwn-red)!important; color:#fff!important; border:2px solid var(--cwn-red)!important; border-radius:8px!important;
  padding:13px 28px!important; font-family:var(--cwn-sans)!important; font-weight:700!important; font-size:16px!important; letter-spacing:.01em;
  text-decoration:none!important; line-height:1.2!important; transition:background .2s, color .2s, transform .2s; box-shadow:none!important}
.cwn-page .wp-block-button__link:hover, .cwn-header .wp-block-button__link:hover, .cwn-footer .wp-block-button__link:hover{background:var(--cwn-red-dark)!important; border-color:var(--cwn-red-dark)!important; transform:translateY(-1px)}
.cwn-btn-lg .wp-block-button__link{padding:16px 34px!important; font-size:17px!important}
.cwn-btn-sm .wp-block-button__link{padding:10px 18px!important; font-size:14px!important}
.cwn-btn-light .wp-block-button__link{background:#fff!important; color:var(--cwn-red)!important; border-color:#fff!important}
.cwn-btn-light .wp-block-button__link:hover{background:var(--cwn-red-soft)!important; border-color:var(--cwn-red-soft)!important}
.cwn-btn-outline .wp-block-button__link{background:transparent!important; color:var(--cwn-red)!important}
.cwn-btn-outline .wp-block-button__link:hover{background:var(--cwn-red)!important; color:#fff!important}
.cwn-mini-btn{display:inline-block; background:var(--cwn-red); color:#fff!important; padding:10px 20px; border-radius:8px; font-weight:700; text-decoration:none}

/* images */
.cwn-page .wp-block-image{margin:0}
.cwn-page .wp-block-image img{display:block; max-width:100%; height:auto}
.cwn-photo-rounded img{width:100%; aspect-ratio:4/5; object-fit:cover; object-position:50% 25%; border-radius:var(--cwn-radius); box-shadow:var(--cwn-shadow)}
.cwn-card-img img{width:100%; aspect-ratio:3/2; object-fit:cover; object-position:50% 25%}

/* columns spacing */
.cwn-page .wp-block-columns{gap:56px; margin-bottom:0}
.cwn-grid2{gap:28px!important; margin-bottom:28px!important}

/* ===== header ===== */
.cwn-header{position:sticky; top:0; z-index:100; background:rgba(255,255,255,.97); border-bottom:1px solid var(--cwn-line); backdrop-filter:saturate(1.4) blur(6px); margin:0!important}
.admin-bar .cwn-header{top:32px}
.cwn-header.is-scrolled{box-shadow:0 4px 18px rgba(0,0,0,.06)}
.cwn-header-inner{max-width:1240px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; gap:24px}
.cwn-logo{margin:0!important; font-family:var(--cwn-serif); font-weight:800; font-size:26px; line-height:1; white-space:nowrap}
.cwn-logo a{color:var(--cwn-red)!important; text-decoration:none}
.cwn-nav{font-weight:600; font-size:15.5px}
.cwn-nav .wp-block-navigation-item__content{color:var(--cwn-ink)!important; text-decoration:none; padding:6px 2px}
.cwn-nav .wp-block-navigation-item__content:hover{color:var(--cwn-red)!important}
.cwn-nav .current-menu-item > .wp-block-navigation-item__content{color:var(--cwn-red)!important; box-shadow:inset 0 -2px 0 var(--cwn-red)}
.cwn-nav.wp-block-navigation{gap:30px}
.cwn-nav .wp-block-navigation__submenu-container{border:1px solid var(--cwn-line)!important; border-radius:10px; box-shadow:var(--cwn-shadow); padding:8px 0!important; min-width:230px!important; background:#fff!important}
.cwn-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:9px 18px!important; font-weight:500}
.cwn-head-right{display:flex; align-items:center; gap:14px}
.cwn-head-btn{margin:0!important}
.cwn-social{gap:10px!important; margin:0!important; padding:0!important}
.cwn-social .wp-social-link{font-size:22px}
.cwn-nav .wp-block-navigation__responsive-container.is-menu-open{padding:24px; background:#fff!important}
.cwn-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:20px}

/* ===== hero ===== */
.cwn-hero{background:linear-gradient(180deg,#fff 0%, var(--cwn-cream-2) 100%); padding-top:64px; padding-bottom:64px; overflow:hidden}
.cwn-hero-photo{position:relative; max-width:520px; margin:0 auto!important}
.cwn-hero-photo::before{content:""; position:absolute; inset:-4% -3% 5% 7%; background:var(--cwn-pink); border-radius:50%; z-index:0}
.cwn-hero-photo img{position:relative; z-index:1; width:100%; aspect-ratio:1; object-fit:cover; border-radius:50%; border:10px solid #fff; box-shadow:0 20px 50px rgba(181,23,47,.18)}

/* stats */
.cwn-stats{background:var(--cwn-cream); padding:34px 20px}
.cwn-stats-cols{gap:0!important}
.cwn-stats-cols > .wp-block-column{text-align:center; padding:4px 12px; border-left:1px solid #DCCBBC}
.cwn-stats-cols > .wp-block-column:first-child{border-left:0}
.cwn-stat{font-family:var(--cwn-serif); font-size:20px; line-height:1.25; color:var(--cwn-ink); margin:0 0 8px!important}
.cwn-stat strong{font-size:26px}
.cwn-stat-sub{font-size:12px!important; letter-spacing:.14em; text-transform:uppercase; color:var(--cwn-red)!important; font-weight:700; margin:0!important}

/* pain points */
.cwn-pain-item{display:flex; gap:22px; align-items:flex-start; padding:18px 0; border-bottom:1px solid var(--cwn-line)}
.cwn-pain-item:last-child{border-bottom:0}
.cwn-num{font-family:var(--cwn-serif); font-size:52px!important; line-height:1!important; color:var(--cwn-red)!important; font-weight:700; margin:0!important; padding-right:20px; border-right:2px solid var(--cwn-pink); min-width:86px}
.cwn-pain-title{font-family:var(--cwn-sans)!important; font-size:20px!important; color:var(--cwn-red)!important; font-weight:800!important; margin-bottom:.3em!important; letter-spacing:0!important}
.cwn-pain-text p{margin:0; color:var(--cwn-muted)}
.cwn-photo-caption{font-family:var(--cwn-serif); font-size:22px; text-align:center; color:var(--cwn-ink); font-weight:700}
.cwn-pain .cwn-photo-rounded{margin-bottom:22px!important}
.cwn-pain .cwn-eyebrow.cwn-center{margin-bottom:.3em!important}

/* red band */
.cwn-band .cwn-h2{color:#fff!important; margin-bottom:22px!important}
.cwn-band .cwn-btns{margin-bottom:30px!important}
.cwn-band .cwn-narrow{font-size:18px; opacity:.95}
.cwn-feat-cols{margin-top:36px!important; gap:0!important; max-width:980px; margin-left:auto!important; margin-right:auto!important}
.cwn-feat-cols > .wp-block-column{border-left:1px solid rgba(255,255,255,.35)}
.cwn-feat-cols > .wp-block-column:first-child{border-left:0}
.cwn-feat{display:flex; align-items:center; justify-content:center; gap:14px; padding:6px 16px}
.cwn-feat p{margin:0!important; font-weight:600; line-height:1.3}
.cwn-icon{display:inline-flex; width:40px; height:40px; color:var(--cwn-red); flex:none}
.cwn-icon svg{width:100%; height:100%}
.cwn-red .cwn-icon{color:#fff}
.cwn-icon-lg{width:52px; height:52px}
.cwn-center-icon{display:flex; margin:0 auto 12px}

/* academy devices */
.cwn-devices{max-width:980px; margin:0 auto!important}
.cwn-devices img{width:100%}

/* benefits / member cards */
.cwn-ben, .cwn-mem, .cwn-card, .cwn-why, .cwn-step, .cwn-rev{background:#fff; border:1px solid var(--cwn-line); border-radius:var(--cwn-radius); padding:28px; height:100%; box-shadow:var(--cwn-shadow)}
.cwn-ben{display:flex; gap:20px; align-items:flex-start; background:var(--cwn-cream-2)}
.cwn-ben p{margin:0!important; font-size:17.5px}
.cwn-ben strong{color:var(--cwn-red)}
.cwn-mem{display:flex; gap:22px; align-items:flex-start}
.cwn-card-title{font-size:21px!important; margin-bottom:.4em!important}
.cwn-mem p:last-child, .cwn-card p:last-child, .cwn-step p:last-child{margin-bottom:0}
.cwn-benefits .cwn-btns, .cwn-members .cwn-btns{margin-top:16px!important}

/* reviews */
.cwn-reviews .cwn-note{margin-bottom:36px!important}
.cwn-rev-head{display:flex; gap:14px; align-items:center; margin-bottom:14px}
.cwn-avatar{display:inline-flex; width:58px; height:58px; border-radius:50%; align-items:center; justify-content:center; background:var(--cwn-pink); color:var(--cwn-red); font-weight:800; font-family:var(--cwn-serif); font-size:20px}
.cwn-rev-name{margin:0!important}
.cwn-stars{color:var(--cwn-red)!important; letter-spacing:3px; margin:0!important}
.cwn-rev > p{color:var(--cwn-text); font-style:italic}

/* video previews */
.cwn-video-cols > .wp-block-column{background:#fff}
.cwn-page .wp-block-embed{margin:16px 0 0}
.cwn-page .wp-block-embed iframe{border-radius:12px; width:100%}
.cwn-inside .cwn-muted{margin-top:28px!important}

/* FAQ (details) */
.cwn-faq-cols{gap:40px!important}
.cwn-faq-item{border-bottom:1px solid #D9C8B8; padding:0; margin:0!important}
.cwn-faq-item summary{list-style:none; cursor:pointer; padding:18px 40px 18px 4px; font-weight:700; color:var(--cwn-ink); position:relative; font-size:17px}
.cwn-faq-item summary::-webkit-details-marker{display:none}
.cwn-faq-item summary::after{content:""; position:absolute; right:10px; top:50%; width:10px; height:10px; border-right:2px solid var(--cwn-red); border-bottom:2px solid var(--cwn-red); transform:translateY(-70%) rotate(45deg); transition:transform .2s}
.cwn-faq-item[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.cwn-faq-item > *:not(summary){padding:0 4px 18px; margin:0; color:var(--cwn-text)}
.cwn-faq-item > p + p{padding-top:0}

/* dark FAQ (course pages) */
.cwn-faq-dark{background:linear-gradient(rgba(70,10,20,.92),rgba(40,8,14,.95)), radial-gradient(circle at 20% 20%, #B5172F 0, transparent 50%); color:#fff}
.cwn-faq-dark .cwn-h2, .cwn-faq-dark .cwn-faq-item summary{color:#fff!important}
.cwn-faq-dark .cwn-eyebrow{color:#FFB8C0!important}
.cwn-faq-dark .cwn-faq-item{border-color:rgba(255,255,255,.22)}
.cwn-faq-dark .cwn-faq-item > *:not(summary){color:rgba(255,255,255,.85)}
.cwn-faq-dark .cwn-faq-item summary::after{border-color:#FFB8C0}
.cwn-faq-dark .cwn-faq-item a{color:#FFD3D8}

/* final CTA */
.cwn-final .cwn-btns{margin:6px 0 18px!important}

/* split sections */
.cwn-split{gap:64px!important}
.cwn-about-intro{background:var(--cwn-cream-2)}
.cwn-why-cols{gap:18px!important; margin-top:30px!important}
.cwn-why{text-align:center; padding:28px 18px}
.cwn-why .cwn-icon{margin:0 auto 14px; display:flex}
.cwn-why p{margin:0!important; font-weight:600; color:var(--cwn-ink); font-size:16px; line-height:1.45}
.cwn-thumbs{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.cwn-thumb{display:block; position:relative; border-radius:12px; overflow:hidden; text-decoration:none!important; box-shadow:var(--cwn-shadow); background:#000}
.cwn-thumb img{display:block; width:100%; aspect-ratio:16/9; object-fit:cover; opacity:.92; transition:opacity .2s, transform .3s}
.cwn-thumb:hover img{opacity:1; transform:scale(1.03)}
.cwn-thumb span{position:absolute; left:0; right:0; bottom:0; padding:22px 12px 10px; color:#fff; font-size:14px; font-weight:700; background:linear-gradient(transparent,rgba(0,0,0,.75))}
.cwn-thumb::after{content:""; position:absolute; top:50%; left:50%; width:46px; height:46px; margin:-23px 0 0 -23px; border-radius:50%; background:rgba(181,23,47,.9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l9 5-9 5z' fill='white'/%3E%3C/svg%3E") center/22px no-repeat}
.cwn-support .cwn-card .cwn-icon{margin-bottom:12px}
.cwn-support .cwn-grid2{margin:10px 0 32px!important}
.cwn-follow{background:var(--cwn-cream-2)}
.cwn-follow .cwn-photo-rounded img{aspect-ratio:1}

/* course pages */
.cwn-course-intro{background:var(--cwn-cream-2)}
.cwn-steps{gap:22px!important; margin-top:30px!important}
.cwn-step{text-align:center}
.cwn-step .cwn-icon{margin:0 auto 10px; display:flex}
.cwn-step-n{font-size:12px!important; letter-spacing:.16em; text-transform:uppercase; color:var(--cwn-red)!important; font-weight:800; margin:0 0 6px!important}
.cwn-trial-card{background:#fff; border:1px solid var(--cwn-line); border-radius:22px; padding:34px; box-shadow:var(--cwn-shadow)}
.cwn-trial-card .cwn-photo-rounded img{aspect-ratio:1}
.cwn-course-card{background:#fff; border:1px solid var(--cwn-line); border-radius:var(--cwn-radius); overflow:hidden; height:100%; box-shadow:var(--cwn-shadow); display:flex; flex-direction:column}
.cwn-course-body{padding:24px 26px 28px}
.cwn-price-table{width:100%; max-width:720px; margin:36px auto 0; border-collapse:collapse; background:#fff; border-radius:12px; overflow:hidden; box-shadow:var(--cwn-shadow)}
.cwn-price-table th{background:var(--cwn-red); color:#fff; text-align:left; padding:12px 18px; font-weight:700}
.cwn-price-table td{padding:12px 18px; border-top:1px solid var(--cwn-line)}
.cwn-courses{background:var(--cwn-cream-2)}

/* booking */
.cwn-booking{background:#fff}
.cwn-booking .cwn-meta{font-size:18px}
.cwn-booking-embed{max-width:900px; margin:26px auto 18px; min-height:120px}
.cwn-booking-placeholder{border:2px dashed #E3B8BE; border-radius:var(--cwn-radius); padding:40px 24px; text-align:center; background:var(--cwn-red-soft)}
.cwn-booking-placeholder p{margin:0 0 .6em}

/* video player + playlist */
.cwn-video-player-cols{gap:28px!important; align-items:flex-start!important}
.cwn-player{position:relative; aspect-ratio:16/9; background:#1c1717; border-radius:14px; overflow:hidden; box-shadow:var(--cwn-shadow)}
.cwn-player iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.cwn-playlist{background:#fff; border:1px solid var(--cwn-line); border-radius:14px; overflow:hidden}
.cwn-vgroup{border-bottom:1px solid var(--cwn-line); margin:0!important}
.cwn-vgroup:last-child{border-bottom:0}
.cwn-vgroup summary{list-style:none; cursor:pointer; padding:16px 44px 16px 18px; font-weight:800; color:var(--cwn-ink); position:relative; background:var(--cwn-cream-2)}
.cwn-vgroup summary::-webkit-details-marker{display:none}
.cwn-vgroup summary::after{content:""; position:absolute; right:18px; top:50%; width:9px; height:9px; border-right:2px solid var(--cwn-red); border-bottom:2px solid var(--cwn-red); transform:translateY(-70%) rotate(45deg)}
.cwn-vgroup[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.cwn-vlist{list-style:none!important; margin:0!important; padding:6px 0!important}
.cwn-vlist li{margin:0}
.cwn-vlist a{display:flex; align-items:center; gap:12px; padding:11px 18px; color:var(--cwn-text)!important; text-decoration:none!important; font-size:15.5px}
.cwn-vlist a::before{content:""; flex:none; width:26px; height:26px; border-radius:50%; background:var(--cwn-red-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l9 5-9 5z' fill='%23B5172F'/%3E%3C/svg%3E") center/14px no-repeat}
.cwn-vlist a:hover, .cwn-vlist a.is-active{background:var(--cwn-red-soft); color:var(--cwn-red)!important; font-weight:700}
.cwn-vlist a.is-pending{opacity:.5; pointer-events:none}
.cwn-vlist a.is-pending::after{content:"coming soon"; margin-left:auto; font-size:12px; color:var(--cwn-muted)}

/* HSK Books */
.cwn-wb-hero img{max-width:460px; margin:0 auto; border-radius:var(--cwn-radius); box-shadow:var(--cwn-shadow)}
.cwn-checks{list-style:none!important; padding:0!important; margin:0 0 1.2em!important}
.cwn-checks li{padding-left:30px; position:relative; margin:.35em 0}
.cwn-checks li::before{content:"✓"; position:absolute; left:0; color:var(--cwn-red); font-weight:800}
.cwn-bundle-card{background:#fff; border:2px solid var(--cwn-red); border-radius:22px; padding:30px; max-width:980px; margin:20px auto 0!important; box-shadow:0 20px 50px rgba(181,23,47,.12)}
.cwn-bundle-card .cwn-card-img img{aspect-ratio:1; border-radius:12px}
.cwn-badge{display:inline-block; background:var(--cwn-red); color:#fff; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:5px 10px; border-radius:30px}
.cwn-badge-soft{background:var(--cwn-red-soft); color:var(--cwn-red)}
.cwn-price{font-family:var(--cwn-serif); font-size:34px; font-weight:800; color:var(--cwn-red)}
.cwn-price-was{color:var(--cwn-muted); text-decoration:line-through; font-size:15px; margin-left:8px}
.cwn-future{background:var(--cwn-cream-2)}

/* WooCommerce product grid inside our pages */
.cwn-singles .woocommerce ul.products{display:grid!important; grid-template-columns:repeat(3,1fr); gap:24px; margin:30px 0 0!important}
.cwn-singles .woocommerce ul.products::before,.cwn-singles .woocommerce ul.products::after{display:none}
.cwn-singles .woocommerce ul.products li.product{width:auto!important; margin:0!important; float:none!important; background:#fff; border:1px solid var(--cwn-line); border-radius:var(--cwn-radius); overflow:hidden; box-shadow:var(--cwn-shadow); padding:0 0 22px!important; text-align:left; display:flex; flex-direction:column}
.cwn-singles .woocommerce ul.products li.product img{margin:0 0 16px!important; aspect-ratio:1; object-fit:cover}
.cwn-singles .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--cwn-serif)!important; font-size:19px!important; padding:0 20px!important; color:var(--cwn-ink)}
.cwn-singles .woocommerce ul.products li.product .cwn-loop-excerpt{padding:0 20px; font-size:14.5px; color:var(--cwn-muted); margin:4px 0 8px}
.cwn-singles .woocommerce ul.products li.product .price{padding:0 20px; color:var(--cwn-red)!important; font-weight:800; font-size:20px}
.cwn-loop-actions{display:flex; gap:10px; padding:0 20px; margin-top:auto; flex-wrap:wrap}
.cwn-loop-actions a{flex:1; text-align:center; border-radius:8px; padding:11px 12px!important; font-weight:700; font-size:14.5px; text-decoration:none!important; border:2px solid var(--cwn-red)!important; line-height:1.2; margin:0!important}
.cwn-loop-actions .cwn-buy{background:var(--cwn-red)!important; color:#fff!important}
.cwn-loop-actions .cwn-view{background:#fff!important; color:var(--cwn-red)!important}

/* policy */
.cwn-policy .cwn-wrap{max-width:820px}

/* ===== footer ===== */
.cwn-footer{background:#fff; border-top:4px solid var(--cwn-red); padding:56px 20px 26px; font-size:15.5px; margin:0!important}
.cwn-footer .cwn-wrap{max-width:1180px; margin:0 auto}
.cwn-footer .cwn-logo{font-size:26px; margin-bottom:12px!important}
.cwn-footer a{color:var(--cwn-text); text-decoration:none}
.cwn-footer a:hover{color:var(--cwn-red)}
.cwn-foot-cols{gap:48px!important}
.cwn-foot-h{font-family:var(--cwn-sans)!important; font-size:15px!important; text-transform:uppercase; letter-spacing:.12em; color:var(--cwn-ink)!important; margin-bottom:14px!important}
.cwn-foot-links{list-style:none!important; padding:0!important; margin:14px 0 0!important}
.cwn-foot-links li{margin:0 0 8px}
.cwn-footer .cwn-social{margin-top:6px!important}
.cwn-foot-bottom{border-top:1px solid var(--cwn-line); margin-top:36px!important; padding-top:20px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:14px; color:var(--cwn-muted)}
.cwn-foot-bottom p{margin:0!important}

/* ===== responsive ===== */
@media (max-width:1080px){
  .cwn-head-right .cwn-social{display:none!important}
  .cwn-nav.wp-block-navigation{gap:20px}
}
@media (max-width:900px){
  .cwn-why-cols{flex-wrap:wrap!important}
  .cwn-why-cols > .wp-block-column{flex-basis:calc(50% - 10px)!important}
  .cwn-steps{flex-wrap:wrap!important}
  .cwn-steps > .wp-block-column{flex-basis:calc(50% - 11px)!important}
  .cwn-singles .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:781px){
  .cwn-page, .cwn-header, .cwn-footer{font-size:16px}
  .cwn-sec{padding:56px 16px}
  .cwn-header-inner{padding:10px 16px; gap:10px}
  .cwn-logo{font-size:21px}
  .cwn-head-btn .wp-block-button__link{padding:8px 12px!important; font-size:13px!important}
  .cwn-page .wp-block-columns{gap:32px}
  .cwn-hero{padding-top:40px}
  .cwn-hero-cols > .wp-block-column:last-child{order:-1}
  .cwn-hero-photo{max-width:340px}
  .cwn-hero .cwn-display, .cwn-hero .cwn-eyebrow, .cwn-hero .cwn-lead{text-align:center}
  .cwn-hero .cwn-btns{justify-content:center}
  .cwn-stats-cols{display:grid!important; grid-template-columns:1fr 1fr; row-gap:22px}
  .cwn-stats-cols > .wp-block-column{border-left:0}
  .cwn-num{font-size:40px!important; min-width:64px; padding-right:14px}
  .cwn-feat-cols > .wp-block-column{border-left:0}
  .cwn-feat{justify-content:flex-start}
  .cwn-ben, .cwn-mem{padding:22px}
  .cwn-grid2{gap:18px!important; margin-bottom:18px!important}
  .cwn-split .wp-block-column:has(.cwn-photo-rounded) .cwn-photo-rounded{max-width:440px; margin:0 auto!important}
  .cwn-course-intro .cwn-split > .wp-block-column:last-child{order:-1}
  .cwn-trial-card{padding:22px}
  .cwn-why-cols > .wp-block-column, .cwn-steps > .wp-block-column{flex-basis:100%!important}
  .cwn-singles .woocommerce ul.products{grid-template-columns:1fr}
  .cwn-foot-cols{gap:28px!important}
  .cwn-foot-bottom{flex-direction:column}
  .cwn-price-table th, .cwn-price-table td{padding:10px 12px}
}
@media (max-width:420px){
  .cwn-head-btn{display:none!important}
}

/* ===== v1.0.1 fixes ===== */
.cwn-page{background:#fff}
.cwn-page h1,.cwn-page h2,.cwn-page h3,.cwn-stat,.cwn-num,.cwn-price,.cwn-footer .cwn-logo,.cwn-header .cwn-logo{font-variant-numeric:lining-nums}
.cwn-singles li.product .entry-meta{display:none!important}
.cwn-singles .woocommerce ul.products li.product .woocommerce-loop-product__title a{color:var(--cwn-ink)!important}
.cwn-singles .ct-woo-card-actions{margin-top:auto; display:block!important; padding:0!important}
.cwn-loop-actions a{white-space:nowrap; padding:11px 8px!important}
.cwn-vlist li, .cwn-foot-links li, .cwn-checks li{list-style:none!important}
.cwn-vlist li::marker, .cwn-foot-links li::marker, .cwn-checks li::marker{content:""}
.cwn-header .wp-block-navigation__responsive-container-open{margin:0; padding:6px}
.cwn-header .wp-block-navigation__responsive-container-open svg{width:28px; height:28px}
@media (max-width:420px){ .cwn-head-btn{display:block!important} }
@media (max-width:359px){ .cwn-head-btn{display:none!important} }
.woocommerce-loop-product__title,.product_title,.bk-title,.bk-h,.cwn-card-title{font-variant-numeric:lining-nums}

/* ===== v1.2 — generated images ===== */
.cwn-photo-wide img{aspect-ratio:4/3!important; object-position:50% 50%!important}
.cwn-mem-cols{gap:22px!important; margin:30px 0 28px!important}
.cwn-mem-cols .cwn-mem{flex-direction:column; gap:0; padding:0; overflow:hidden}
.cwn-mem-img img{width:100%; aspect-ratio:1; object-fit:cover}
.cwn-mem-cols .cwn-mem-text{padding:20px 22px 24px}
.cwn-mem-cols .cwn-card-title{font-size:19px!important}
.cwn-mem-cols .cwn-mem-text p{font-size:15.5px}
.cwn-faq-dark{background:linear-gradient(rgba(58,8,18,.80),rgba(36,5,11,.90)), url("faq-shenzhen.jpg") center 60%/cover no-repeat}
@media (max-width:1000px){ .cwn-mem-cols{flex-wrap:wrap!important} .cwn-mem-cols > .wp-block-column{flex-basis:calc(50% - 11px)!important} }
@media (max-width:600px){ .cwn-mem-cols > .wp-block-column{flex-basis:100%!important} .cwn-mem-img img{aspect-ratio:16/10} }
.cwn-benefits + .cwn-booking{background:var(--cwn-cream-2); border-top:1px solid var(--cwn-line); border-bottom:1px solid var(--cwn-line)}

/* ======================= v1.3 — mobile redesign ======================= */
.cwn-burger, .cwn-mbar, .cwn-drawer{display:none}

@media (max-width:781px){
  /* header: logo left, menu button right */
  .cwn-header-inner{padding:10px 16px!important; min-height:60px}
  .cwn-header .cwn-nav, .cwn-head-right{display:none!important}
  .cwn-header .cwn-logo{font-size:22px!important}
  .cwn-burger{display:inline-flex; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; padding:0 10px; margin-right:-8px;
    border:0; border-radius:12px; background:var(--cwn-red-soft); cursor:pointer}
  .cwn-burger span{display:block; height:2px; border-radius:2px; background:var(--cwn-red); transition:width .2s}
  .cwn-burger span:nth-child(2){width:70%; margin-left:auto}
  .cwn-burger:hover span:nth-child(2){width:100%}

  /* drawer */
  .cwn-drawer{display:block; position:fixed; inset:0; z-index:100000; pointer-events:none}
  .cwn-drawer.is-open{pointer-events:auto}
  .cwn-dr-backdrop{position:absolute; inset:0; background:rgba(28,23,23,.45); opacity:0; transition:opacity .3s; backdrop-filter:blur(2px)}
  .cwn-drawer.is-open .cwn-dr-backdrop{opacity:1}
  .cwn-dr-panel{position:absolute; top:0; right:0; bottom:0; width:min(88vw,380px); background:#fff; display:flex; flex-direction:column;
    transform:translateX(102%); transition:transform .34s cubic-bezier(.2,.8,.2,1); box-shadow:-20px 0 50px rgba(0,0,0,.15); overflow-y:auto;
    font-family:var(--cwn-sans); color:var(--cwn-text); padding-bottom:env(safe-area-inset-bottom)}
  .cwn-drawer.is-open .cwn-dr-panel{transform:none}
  .cwn-dr-head{display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--cwn-line)}
  .cwn-dr-head .cwn-logo{margin:0; font-family:var(--cwn-serif); font-weight:800; font-size:21px}
  .cwn-dr-head .cwn-logo a{color:var(--cwn-red); text-decoration:none}
  .cwn-dr-close{width:40px; height:40px; border:0; border-radius:50%; background:var(--cwn-cream); color:var(--cwn-ink); display:inline-flex; align-items:center; justify-content:center; cursor:pointer}
  .cwn-dr-close svg{width:20px; height:20px}
  .cwn-dr-hello{margin:18px 22px 4px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--cwn-red); font-weight:800}
  .cwn-dr-nav{list-style:none; margin:0; padding:0 8px}
  .cwn-dr-item{border-bottom:1px solid var(--cwn-line)}
  .cwn-dr-row{display:flex; align-items:center}
  .cwn-dr-row > a{flex:1; display:block; padding:16px 14px; font-family:var(--cwn-serif); font-size:23px; font-weight:700; color:var(--cwn-ink)!important; text-decoration:none; font-variant-numeric:lining-nums}
  .cwn-dr-item.is-current > .cwn-dr-row > a{color:var(--cwn-red)!important}
  .cwn-dr-toggle{width:44px; height:44px; border:0; border-radius:50%; background:transparent; color:var(--cwn-red); cursor:pointer; display:inline-flex; align-items:center; justify-content:center}
  .cwn-dr-toggle svg{width:22px; height:22px; transition:transform .25s}
  .cwn-dr-item.is-open .cwn-dr-toggle{background:var(--cwn-red-soft)}
  .cwn-dr-item.is-open .cwn-dr-toggle svg{transform:rotate(180deg)}
  .cwn-dr-sub{list-style:none; margin:0; padding:0 0 0 14px; max-height:0; overflow:hidden; transition:max-height .3s ease}
  .cwn-dr-item.is-open .cwn-dr-sub{max-height:420px; padding-bottom:10px}
  .cwn-dr-sub a{display:flex; align-items:center; gap:10px; padding:10px 14px; font-size:16px; font-weight:600; color:var(--cwn-text)!important; text-decoration:none; border-radius:10px; font-variant-numeric:lining-nums}
  .cwn-dr-sub a::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--cwn-pink)}
  .cwn-dr-sub a.is-current, .cwn-dr-sub a:active{background:var(--cwn-red-soft); color:var(--cwn-red)!important}
  .cwn-dr-sub a.is-current::before{background:var(--cwn-red)}
  .cwn-dr-cta{display:flex; flex-direction:column; gap:10px; padding:22px 22px 8px}
  .cwn-dr-btn{display:block; text-align:center; padding:15px 18px; border-radius:12px; background:var(--cwn-red); color:#fff!important; font-weight:800; font-size:16px; text-decoration:none; box-shadow:0 10px 24px rgba(181,23,47,.25)}
  .cwn-dr-btn-ghost{background:#fff; color:var(--cwn-red)!important; border:1.5px solid var(--cwn-red); box-shadow:none}
  .cwn-dr-foot{margin-top:auto; padding:22px; display:flex; flex-direction:column; gap:12px; background:var(--cwn-cream-2); border-top:1px solid var(--cwn-line)}
  .cwn-dr-foot .cwn-social{display:flex!important; gap:14px!important; margin:0!important}
  .cwn-dr-foot .wp-social-link{font-size:26px}
  .cwn-dr-mail{font-size:14px; color:var(--cwn-muted)!important; text-decoration:none}
  html.cwn-dr-lock, html.cwn-dr-lock body{overflow:hidden}

  /* WoodMart-style bottom toolbar */
  .cwn-mbar{display:flex; position:fixed; left:0; right:0; bottom:0; z-index:9990; background:rgba(255,255,255,.97); backdrop-filter:blur(8px);
    border-top:1px solid var(--cwn-line); box-shadow:0 -6px 24px rgba(60,20,20,.08); padding:6px 4px calc(6px + env(safe-area-inset-bottom)); justify-content:space-around; align-items:flex-end}
  .cwn-mbar-item{flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; padding:4px 0; color:var(--cwn-muted)!important; text-decoration:none!important; font-family:var(--cwn-sans); -webkit-tap-highlight-color:transparent}
  .cwn-mbar-ic{display:inline-flex; width:24px; height:24px}
  .cwn-mbar-ic svg{width:100%; height:100%}
  .cwn-mbar-label{font-size:11px; font-weight:700; letter-spacing:.01em}
  .cwn-mbar-item.is-active{color:var(--cwn-red)!important}
  .cwn-mbar-item.is-active .cwn-mbar-ic{position:relative}
  .cwn-mbar-item.is-active .cwn-mbar-ic::after{content:""; position:absolute; left:50%; bottom:-5px; width:4px; height:4px; margin-left:-2px; border-radius:50%; background:var(--cwn-red)}
  .cwn-mbar-cta{color:var(--cwn-red)!important}
  .cwn-mbar-cta .cwn-mbar-ic{width:54px; height:54px; margin-top:-26px; border-radius:50%; background:var(--cwn-red); color:#fff; align-items:center; justify-content:center;
    box-shadow:0 8px 20px rgba(181,23,47,.35), 0 0 0 5px #fff}
  .cwn-mbar-cta .cwn-mbar-ic svg{width:26px; height:26px}
  .cwn-mbar-cta .cwn-mbar-ic::after{display:none}
  body.has-cwn-mbar{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .admin-bar .cwn-header{top:46px}

  /* overall mobile polish */
  .cwn-sec{padding:52px 18px}
  .cwn-h2{font-size:clamp(28px,7.6vw,34px)!important; line-height:1.15!important}
  .cwn-display{font-size:clamp(40px,11.5vw,52px)!important}
  .cwn-display-sm{font-size:clamp(32px,9vw,42px)!important}
  .cwn-lead{font-size:17px}
  .cwn-hero{padding:28px 18px 44px}
  .cwn-hero-photo{max-width:300px!important}
  .cwn-hero .cwn-btns .wp-block-button, .cwn-hero .cwn-btns .wp-block-button__link{width:100%}
  .cwn-hero .cwn-btns .wp-block-button__link{text-align:center; padding:16px!important}
  .cwn-stats{padding:24px 14px}
  .cwn-stats-cols{row-gap:18px!important}
  .cwn-stat{font-size:15px!important}
  .cwn-stat strong{font-size:21px}
  .cwn-stat-sub{font-size:10px!important; letter-spacing:.1em}
  .cwn-pain-item{gap:14px; padding:16px 0}
  .cwn-num{font-size:34px!important; min-width:54px; padding-right:12px; white-space:nowrap}
  .cwn-pain-title{font-size:18px!important}
  .cwn-pain .cwn-photo-rounded img{aspect-ratio:4/4.4}
  .cwn-band .cwn-btns .wp-block-button__link{padding:14px 20px!important; font-size:15px!important}
  .cwn-feat-cols{gap:14px!important; margin-top:24px!important}
  .cwn-feat{justify-content:flex-start; background:rgba(255,255,255,.08); border-radius:12px; padding:12px 14px}
  .cwn-feat .cwn-icon{width:32px; height:32px}
  .cwn-ben{padding:18px; gap:14px}
  .cwn-ben .cwn-icon{width:34px; height:34px}
  .cwn-ben p{font-size:16px!important}
  .cwn-btn-lg .wp-block-button__link{padding:15px 24px!important}
  .cwn-rev-cols{gap:14px!important}
  .cwn-rev{padding:22px}
  .cwn-faq-item summary{font-size:16px; padding:16px 36px 16px 2px}
  .cwn-faq-cols{gap:0!important}
  .cwn-video-cols{gap:34px!important}
  .cwn-split{gap:28px!important}
  .cwn-photo-rounded img{border-radius:14px}
  .cwn-trial-card{padding:16px}
  .cwn-course-body{padding:20px}
  .cwn-course-card .cwn-btns{flex-wrap:nowrap}
  .cwn-course-card .cwn-btns .wp-block-button{flex:1}
  .cwn-course-card .cwn-btns .wp-block-button__link{width:100%; text-align:center; padding:12px 10px!important}
  .cwn-price-table{font-size:14px}
  .cwn-bundle-card{padding:18px}
  .cwn-thumbs{gap:10px}

  /* footer: compact, two link columns side by side */
  .cwn-footer{padding:40px 18px 22px; text-align:left}
  .cwn-foot-cols{display:grid!important; grid-template-columns:1fr 1fr; column-gap:18px!important; row-gap:26px!important}
  .cwn-foot-cols > .wp-block-column:first-child{grid-column:1 / -1}
  .cwn-foot-cols > .wp-block-column{flex-basis:auto!important}
  .cwn-foot-links li{margin-bottom:10px}
  .cwn-foot-bottom{margin-top:26px!important; font-size:13px}
}
@media (max-width:781px){
  .cwn-footer .wp-block-button__link{white-space:nowrap; padding:10px 14px!important; font-size:13.5px!important}
  .cwn-footer .cwn-logo{font-size:24px!important}
}
@media (max-width:781px){
  .cwn-singles .woocommerce ul.products{grid-template-columns:1fr 1fr!important; gap:12px!important}
  .cwn-singles .woocommerce ul.products li.product{padding-bottom:14px!important; border-radius:12px}
  .cwn-singles .woocommerce ul.products li.product img{margin-bottom:10px!important}
  .cwn-singles .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px!important; padding:0 12px!important; line-height:1.3}
  .cwn-singles .woocommerce ul.products li.product .price{padding:0 12px; font-size:17px}
  .cwn-singles .cwn-loop-excerpt{display:none}
  .cwn-loop-actions{flex-direction:column; gap:6px; padding:0 12px}
  .cwn-loop-actions a{font-size:13.5px; padding:9px 6px!important}
  .cwn-booking .cwn-meta{font-size:15px}
}

/* ===== v1.4 — "Nicole Chinese" mascot logo ===== */
.cwn-logo a{display:inline-flex!important; align-items:center; gap:6px; text-decoration:none!important; line-height:1}
.cwn-logo-img{height:54px; width:auto; display:block; flex:none; transition:transform .25s}
.cwn-logo a:hover .cwn-logo-img{transform:rotate(-4deg) scale(1.04)}
.cwn-logo-text{font-family:"Baloo 2","Inter",system-ui,sans-serif!important; font-weight:800; font-size:30px; color:var(--cwn-red); letter-spacing:-.015em; line-height:1; padding-top:4px; white-space:nowrap}
.cwn-header-inner{padding-top:8px!important; padding-bottom:8px!important}
.cwn-footer .cwn-logo-img{height:68px}
.cwn-footer .cwn-logo-text{font-size:32px}
.cwn-dr-head .cwn-logo-img{height:44px}
.cwn-dr-head .cwn-logo-text{font-size:24px}
@media (max-width:781px){
  .cwn-header .cwn-logo-img{height:44px}
  .cwn-header .cwn-logo-text{font-size:24px}
  .cwn-header-inner{min-height:58px; padding-top:6px!important; padding-bottom:6px!important}
  .cwn-footer .cwn-logo-img{height:56px}
  .cwn-footer .cwn-logo-text{font-size:28px}
}

/* ===== v1.5 — account button + centered mobile logo ===== */
.cwn-account{display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; color:var(--cwn-ink)!important; background:var(--cwn-cream-2); border:1px solid var(--cwn-line); text-decoration:none!important; flex:none; transition:background .2s,color .2s}
.cwn-account:hover{background:var(--cwn-red-soft); color:var(--cwn-red)!important}
.cwn-account svg{width:21px; height:21px}
.cwn-account span{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.cwn-header-inner > .cwn-account{margin-left:-10px}

@media (max-width:781px){
  .cwn-header-inner{display:grid!important; grid-template-columns:44px 1fr 44px; align-items:center; gap:8px!important}
  .cwn-burger{order:1; grid-column:1; margin:0!important}
  .cwn-header .cwn-logo{order:2; grid-column:2; justify-self:center; text-align:center}
  .cwn-header-inner > .cwn-account{order:3; grid-column:3; justify-self:end; margin:0; width:44px; height:44px; background:var(--cwn-red-soft); border:0; color:var(--cwn-red)!important}
  .cwn-header .cwn-logo a{gap:4px}
  .cwn-header .cwn-logo-img{height:36px}
  .cwn-header .cwn-logo-text{font-size:21px; letter-spacing:0}
  .cwn-burger span:nth-child(2){margin-left:0}
  /* drawer slides in from the left now that the menu button is on the left */
  .cwn-dr-panel{left:0; right:auto; transform:translateX(-102%); box-shadow:20px 0 50px rgba(0,0,0,.15)}
}
@media (max-width:600px){ .admin-bar .cwn-header{top:0} }
@media (max-width:340px){ .cwn-header .cwn-logo-img{display:none} }
@media (min-width:782px){
  .cwn-header-inner{justify-content:flex-start!important}
  .cwn-header .cwn-nav{flex:1}
  .cwn-header-inner > .cwn-account{margin-left:-12px}
}

/* ===== v1.6 — back to top + Instagram chat ===== */
.cwn-totop, .cwn-chat{--ig:linear-gradient(45deg,#F58529 0%,#DD2A7B 45%,#8134AF 75%,#515BD4 100%)}
.cwn-totop{position:fixed; right:22px; bottom:96px; z-index:9980; width:48px; height:48px; border:0; padding:0; border-radius:50%; background:#fff; color:var(--cwn-ink);
  box-shadow:0 8px 22px rgba(60,20,20,.16); cursor:pointer; display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(14px) scale(.9); transition:opacity .25s, transform .25s, visibility .25s, color .2s}
.cwn-totop.is-visible{opacity:1; visibility:visible; transform:none}
.cwn-totop:hover{color:var(--cwn-red)}
.cwn-totop-ring{position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg)}
.cwn-totop-ring circle{fill:none; stroke:var(--cwn-line); stroke-width:2.5}
.cwn-totop-ring .cwn-totop-bar{stroke:var(--cwn-red); stroke-linecap:round; transition:stroke-dashoffset .1s linear}
.cwn-totop-arrow{width:20px; height:20px; position:relative}

.cwn-chat{position:fixed; right:22px; bottom:24px; z-index:9985; font-family:var(--cwn-sans)}
.cwn-chat-fab{position:relative; width:60px; height:60px; border:0; border-radius:50%; background:var(--ig); color:#fff; cursor:pointer;
  box-shadow:0 10px 26px rgba(221,42,123,.38); display:flex; align-items:center; justify-content:center; transition:transform .2s}
.cwn-chat-fab:hover{transform:scale(1.06)}
.cwn-chat-fab::after{content:""; position:absolute; inset:-4px; border-radius:50%; border:2px solid rgba(221,42,123,.45); animation:cwnPulse 2.4s ease-out infinite}
.cwn-chat.is-open .cwn-chat-fab::after{display:none}
@keyframes cwnPulse{0%{transform:scale(.9); opacity:1} 100%{transform:scale(1.35); opacity:0}}
.cwn-chat-fab svg{width:28px; height:28px}
.cwn-chat-fab-ic, .cwn-chat-fab-x{display:flex; transition:transform .25s, opacity .25s}
.cwn-chat-fab-x{position:absolute; opacity:0; transform:rotate(-90deg)}
.cwn-chat.is-open .cwn-chat-fab-ic{opacity:0; transform:rotate(90deg)}
.cwn-chat.is-open .cwn-chat-fab-x{opacity:1; transform:none}

.cwn-chat-teaser{position:absolute; right:72px; bottom:10px; background:#fff; color:var(--cwn-ink); font-size:14px; font-weight:600; padding:11px 30px 11px 14px; border-radius:14px 14px 4px 14px;
  box-shadow:0 10px 30px rgba(60,20,20,.16); white-space:nowrap; cursor:pointer; animation:cwnPop .35s cubic-bezier(.2,.9,.3,1.3)}
.cwn-chat-teaser[hidden]{display:none}
.cwn-chat-teaser-x{position:absolute; top:4px; right:6px; border:0; background:none; color:var(--cwn-muted); font-size:18px; line-height:1; cursor:pointer; padding:2px 4px}
@keyframes cwnPop{from{opacity:0; transform:translateY(8px) scale(.9)} to{opacity:1; transform:none}}

.cwn-chat-panel{position:absolute; right:0; bottom:74px; width:340px; max-width:calc(100vw - 32px); background:#fff; border-radius:20px; overflow:hidden;
  box-shadow:0 24px 60px rgba(40,10,20,.22); transform-origin:bottom right; opacity:0; transform:translateY(10px) scale(.96); transition:opacity .22s, transform .22s}
.cwn-chat.is-open .cwn-chat-panel{opacity:1; transform:none}
.cwn-chat-panel[hidden]{display:block; visibility:hidden}
.cwn-chat.is-open .cwn-chat-panel[hidden]{visibility:visible}
.cwn-chat-head{display:flex; align-items:center; gap:12px; padding:16px 16px 14px; background:var(--ig); color:#fff}
.cwn-chat-ava{position:relative; width:48px; height:48px; border-radius:50%; background:#fff; flex:none; display:flex; align-items:flex-end; justify-content:center; overflow:visible}
.cwn-chat-ava img{width:44px; height:44px; object-fit:cover; object-position:50% 10%; border-radius:50%}
.cwn-chat-ava i{position:absolute; right:0; bottom:1px; width:12px; height:12px; border-radius:50%; background:#2ECC71; border:2px solid #fff}
.cwn-chat-who{flex:1; display:flex; flex-direction:column; line-height:1.3}
.cwn-chat-who strong{font-size:17px}
.cwn-chat-who span{font-size:12.5px; opacity:.9}
.cwn-chat-x{width:34px; height:34px; border:0; border-radius:50%; background:rgba(255,255,255,.2); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center}
.cwn-chat-x svg{width:18px; height:18px}
.cwn-chat-body{padding:18px 16px 8px; background:var(--cwn-cream-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ccircle cx='2' cy='2' r='1' fill='%23E9DED3'/%3E%3C/svg%3E"); min-height:110px}
.cwn-chat-msg{background:#fff; border-radius:4px 16px 16px 16px; padding:12px 14px; font-size:14.5px; line-height:1.55; color:var(--cwn-text); box-shadow:0 2px 8px rgba(0,0,0,.05); max-width:92%; animation:cwnPop .3s ease}
.cwn-chat-msg[hidden], .cwn-chat-typing[hidden]{display:none}
.cwn-chat-typing{display:inline-flex; gap:4px; background:#fff; border-radius:4px 16px 16px 16px; padding:12px 14px; box-shadow:0 2px 8px rgba(0,0,0,.05)}
.cwn-chat-typing span{width:7px; height:7px; border-radius:50%; background:#C9B9AE; animation:cwnDot 1s infinite}
.cwn-chat-typing span:nth-child(2){animation-delay:.15s} .cwn-chat-typing span:nth-child(3){animation-delay:.3s}
@keyframes cwnDot{0%,60%,100%{transform:none; opacity:.5} 30%{transform:translateY(-4px); opacity:1}}
.cwn-chat-qr{display:flex; align-items:center; gap:12px; margin:14px 0 6px; background:#fff; border-radius:12px; padding:10px; border:1px solid var(--cwn-line)}
.cwn-chat-qr img{width:84px; height:84px; object-fit:contain; flex:none}
.cwn-chat-qr span{font-size:12.5px; color:var(--cwn-muted); line-height:1.45}
.cwn-chat-foot{padding:12px 16px 16px; display:flex; flex-direction:column; align-items:center; gap:8px; background:#fff}
.cwn-chat-btn{display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:14px 16px; border-radius:12px; background:var(--ig); color:#fff!important;
  font-weight:800; font-size:15px; text-decoration:none!important; box-shadow:0 8px 20px rgba(221,42,123,.28); transition:transform .15s}
.cwn-chat-btn:hover{transform:translateY(-1px)}
.cwn-chat-btn svg{width:20px; height:20px}
.cwn-chat-profile{font-size:12.5px; color:var(--cwn-muted)!important; text-decoration:none!important}

@media (max-width:781px){
  .cwn-chat{right:14px; bottom:calc(84px + env(safe-area-inset-bottom))}
  .cwn-chat-fab{width:52px; height:52px}
  .cwn-chat-fab svg{width:25px; height:25px}
  .cwn-totop{right:16px; bottom:calc(148px + env(safe-area-inset-bottom)); width:44px; height:44px}
  .cwn-chat-panel{bottom:64px}
  .cwn-chat-qr{display:none}   /* on phones the button opens Instagram directly */
  html.cwn-dr-lock .cwn-chat, html.cwn-dr-lock .cwn-totop{display:none}
}
@media (min-width:782px){ .cwn-totop{bottom:98px; right:28px} .cwn-chat{right:24px} }

/* ===== v1.7 — HSK book cover + floating buttons order (chat above back-to-top) ===== */
.cwn-book{max-width:340px; margin:0 auto!important; perspective:1200px}
.cwn-book img{width:100%; height:auto; border-radius:3px 8px 8px 3px; transform:rotateY(-12deg) rotateZ(1deg);
  box-shadow:inset 6px 0 10px rgba(0,0,0,.35), 18px 22px 40px rgba(40,10,20,.28), 4px 4px 0 #e8ddd2, 7px 7px 0 #d9ccbf; transition:transform .4s}
.cwn-book img:hover{transform:rotateY(-4deg)}
@media (max-width:781px){ .cwn-book{max-width:240px} }

.cwn-chat{bottom:88px!important}
.cwn-totop{bottom:24px!important}
.cwn-chat-panel{bottom:72px}
@media (min-width:782px){ .cwn-totop{right:30px} .cwn-chat{right:24px} }
@media (max-width:781px){
  .cwn-totop{right:18px; bottom:calc(84px + env(safe-area-inset-bottom))!important}
  .cwn-chat{right:14px; bottom:calc(140px + env(safe-area-inset-bottom))!important}
  .cwn-chat-panel{bottom:62px}
}
