/*
Theme Name: Astra Cursos Online Pro
Theme URI: https://wpastra.com/
Template: astra
Author: Lovable
Author URI: https://lovable.dev/
Description: Child theme do Astra com front-page personalizada para loja de cursos online, inspirada em joom.pro.
 Version: 2.3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-cursos-online-v3
*/
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');:root{--co-bg:#fff9f5;--co-surface:#ffffff;--co-surface-alt:#fff2ea;--co-surface-soft:#fff7f1;--co-text:#18181b;--co-text-soft:#64646f;--co-line:#f1ddd2;--co-primary:#ff5a1f;--co-primary-strong:#ea470f;--co-primary-soft:#ffe5d7;--co-secondary:#151515;--co-success:#1fa971;--co-shadow:0 18px 50px rgba(34,19,11,0.08);--co-shadow-soft:0 12px 30px rgba(34,19,11,0.05);--co-radius-sm:16px;--co-radius-md:24px;--co-radius-lg:36px;--co-container:1240px;--co-font-display:'Manrope',sans-serif;--co-font-body:'Inter',sans-serif}html{scroll-behavior:smooth}body{background:linear-gradient(180deg,#fff8f4 0%,#fffdfb 18%,#ffffff 100%);color:var(--co-text);font-family:var(--co-font-body);-webkit-font-smoothing:antialiased}body .site,body .site-content,body .ast-container,body .entry-content,body .content-area,body .ast-plain-container{background:transparent}body .entry-content>*:last-child,body .entry-content>.wp-block-group__inner-container>*:last-child{margin-bottom:0}body h1,body h2,body h3,body h4,body h5,body h6,body .entry-title,body .site-title,body .site-title a{font-family:var(--co-font-display);color:var(--co-text);letter-spacing:0}body p,body li,body input,body textarea,body select,body button{font-family:var(--co-font-body)}body a{color:var(--co-primary)}body a:hover{color:var(--co-primary-strong)}.site-header,.ast-primary-header-bar,.main-header-bar,.ast-mobile-header-wrap .main-header-bar{background:rgba(255,249,245,0.9) !important;backdrop-filter:blur(14px);border-bottom:1px solid rgba(241,221,210,0.85);box-shadow:none !important}.site-title a,.site-branding .site-title,.custom-logo-link{font-weight:800}.main-header-menu .menu-item>a,.ast-masthead-custom-menu-items a{color:var(--co-text) !important;font-size:15px;font-weight:600}.main-header-menu .menu-item>a:hover,.main-header-menu .current-menu-item>a,.main-header-menu .current-menu-ancestor>a{color:var(--co-primary) !important}.ast-button,button,.button,input[type='submit'],input[type='button'],input[type='reset'],.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.menu-item.ast-masthead-custom-menu-items a.ast-custom-button{background:linear-gradient(135deg,var(--co-primary) 0%,#ff7a35 100%) !important;color:#ffffff !important;border:0 !important;border-radius:999px !important;padding:15px 26px !important;font-size:15px;font-weight:700 !important;line-height:1.1;box-shadow:0 14px 28px rgba(255,90,31,0.24);transition:transform 0.2s ease,box-shadow 0.2s ease,filter 0.2s ease}.ast-button:hover,button:hover,.button:hover,input[type='submit']:hover,input[type='button']:hover,input[type='reset']:hover,.wp-block-button__link:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{transform:translateY(-2px);box-shadow:0 20px 34px rgba(255,90,31,0.28);filter:saturate(1.02)}input[type='text'],input[type='email'],input[type='url'],input[type='password'],input[type='search'],input[type='number'],textarea,select{border:1px solid var(--co-line) !important;border-radius:16px !important;background:#ffffff !important;color:var(--co-text) !important;padding:14px 16px !important}input:focus,textarea:focus,select:focus{border-color:rgba(255,90,31,0.45) !important;box-shadow:0 0 0 4px rgba(255,90,31,0.12) !important;outline:none !important}.co-front-page{position:relative;overflow:clip}.co-front-page::before,.co-front-page::after{content:'';position:absolute;border-radius:999px;filter:blur(12px);pointer-events:none;z-index:0}.co-front-page::before{width:420px;height:420px;background:radial-gradient(circle,rgba(255,141,93,0.24) 0%,rgba(255,141,93,0) 72%);top:90px;right:-80px}.co-front-page::after{width:320px;height:320px;background:radial-gradient(circle,rgba(255,205,181,0.42) 0%,rgba(255,205,181,0) 72%);top:520px;left:-120px}.co-section{position:relative;z-index:1;padding:34px 0}.co-container{width:min(calc(100% - 32px),var(--co-container));margin:0 auto}.co-kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:rgba(255,90,31,0.1);color:var(--co-primary-strong);font-size:13px;font-weight:700;letter-spacing:0.02em;text-transform:uppercase}.co-eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--co-primary)}.co-section-heading{max-width:660px;margin-bottom:28px}.co-section-heading h2{margin:14px 0 12px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.02;font-weight:800}.co-section-heading p{margin:0;color:var(--co-text-soft);font-size:17px}.co-hero{padding:170px 0 28px}@media (max-width:768px){.co-hero{padding:130px 0 24px}}.co-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,0.98fr);gap:42px;align-items:center}.co-hero-content h1{margin:16px 0 18px;font-size:clamp(3rem,7vw,5.9rem);line-height:0.94;font-weight:800}.co-hero-content h1 span{color:var(--co-primary)}.co-hero-content p{max-width:620px;margin:0 0 28px;color:var(--co-text-soft);font-size:18px;line-height:1.75}.co-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}.co-btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:15px 26px;border-radius:999px;background:#ffffff;color:var(--co-secondary) !important;border:1px solid rgba(24,24,27,0.08);box-shadow:var(--co-shadow-soft);font-weight:700;text-decoration:none;transition:transform 0.2s ease,border-color 0.2s ease}.co-btn-secondary:hover{transform:translateY(-2px);border-color:rgba(255,90,31,0.24);color:var(--co-primary) !important}.co-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:620px}.co-stat-card{padding:20px 22px;border:1px solid rgba(255,255,255,0.7);border-radius:22px;background:rgba(255,255,255,0.72);backdrop-filter:blur(16px);box-shadow:var(--co-shadow-soft)}.co-stat-value{display:block;margin-bottom:6px;font-family:var(--co-font-display);font-size:clamp(1.6rem,3vw,2.3rem);line-height:1;font-weight:800}.co-stat-label{color:var(--co-text-soft);font-size:14px}.co-hero-visual{position:relative}.co-hero-card{position:relative;padding:18px;border-radius:38px;background:linear-gradient(160deg,rgba(255,255,255,0.98) 0%,rgba(255,246,240,0.98) 100%);box-shadow:0 30px 90px rgba(72,34,16,0.12);border:1px solid rgba(255,255,255,0.9)}.co-hero-card img{display:block;width:100%;height:auto;object-fit:contain;border-radius:30px}.co-floating-badge,.co-floating-panel{position:absolute;background:rgba(255,255,255,0.95);border:1px solid rgba(255,255,255,0.95);box-shadow:var(--co-shadow);backdrop-filter:blur(14px)}.co-floating-badge{top:24px;left:-18px;padding:16px 18px;border-radius:22px;max-width:220px}.co-floating-badge strong,.co-floating-panel strong{display:block;font-family:var(--co-font-display);font-size:18px;line-height:1.1}.co-floating-badge span,.co-floating-panel span{display:block;margin-top:5px;color:var(--co-text-soft);font-size:13px}.co-floating-panel{right:-24px;bottom:32px;width:250px;padding:18px;border-radius:26px}.co-progress-bar{margin-top:14px;height:10px;border-radius:999px;background:#ffe5d7;overflow:hidden}.co-progress-bar span{display:block;width:78%;height:100%;border-radius:inherit;background:linear-gradient(135deg,var(--co-primary) 0%,#ff8548 100%)}.co-brands{padding-top:14px}.co-brand-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.co-brand-item{display:flex;align-items:center;justify-content:center;min-height:84px;padding:18px;border-radius:22px;background:rgba(255,255,255,0.72);border:1px solid rgba(255,255,255,0.78);box-shadow:var(--co-shadow-soft);color:#34343b;font-family:var(--co-font-display);font-size:20px;font-weight:800}.co-category-grid,.co-course-grid,.co-feature-grid,.co-testimonial-grid{display:grid;gap:20px}.co-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.co-course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.co-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.co-testimonial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.co-card{position:relative;padding:26px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,0.98) 0%,rgba(255,249,245,0.95) 100%);border:1px solid rgba(241,221,210,0.9);box-shadow:var(--co-shadow-soft)}.co-card h3,.co-card h4{margin:0 0 10px;font-size:1.35rem;line-height:1.15;font-weight:800}.co-card p{margin:0;color:var(--co-text-soft);font-size:15px;line-height:1.65}.co-category-icon,.co-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:18px;border-radius:18px;background:linear-gradient(180deg,#fff0e7 0%,#ffd7c2 100%);color:var(--co-primary-strong);font-family:var(--co-font-display);font-size:21px;font-weight:800}.co-course-card{overflow:hidden;padding:0}.co-course-media{position:relative;min-height:228px;background:linear-gradient(135deg,#ff6d32 0%,#ffb18b 100%)}.co-course-media::after{content:'';position:absolute;inset:18px;border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,0.24) 0%,rgba(255,255,255,0.02) 100%);border:1px solid rgba(255,255,255,0.35)}.co-course-media[data-tone='dark']{background:linear-gradient(135deg,#262626 0%,#4c4c4c 100%)}.co-course-media[data-tone='soft']{background:linear-gradient(135deg,#ffdbc9 0%,#fff4ee 100%)}.co-course-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}.co-course-media::after{display:none}.co-course-media{min-height:220px}.co-course-chip{position:absolute;z-index:2;top:18px;left:18px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,0.92);color:var(--co-secondary);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0.04em}.co-course-body{padding:24px}.co-course-meta,.co-rating-row,.co-price-row,.co-instructor-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.co-course-meta{margin-bottom:14px;color:var(--co-text-soft);font-size:13px;font-weight:600}.co-rating-row{margin-top:16px;color:var(--co-text-soft);font-size:14px}.co-stars{color:#ff9e1f;letter-spacing:0.08em}.co-price-row{margin-top:18px;padding-top:18px;border-top:1px solid rgba(241,221,210,0.95)}.co-price{display:flex;flex-direction:column;gap:4px}.co-price strong{font-family:var(--co-font-display);font-size:1.75rem;line-height:1}.co-price small{color:var(--co-text-soft);font-size:13px}.co-price-row a{display:inline-flex;align-items:center;justify-content:center;min-width:132px;padding:14px 18px;border-radius:999px;background:#151515;color:#ffffff !important;font-weight:700;text-decoration:none}.co-showcase{display:grid;grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);gap:24px}.co-showcase-panel{padding:34px;border-radius:34px;background:linear-gradient(135deg,#151515 0%,#2f2f33 100%);color:#ffffff;box-shadow:0 24px 60px rgba(21,21,21,0.18)}.co-showcase-panel h3{margin:16px 0 14px;color:#ffffff;font-size:clamp(2rem,4vw,3rem);line-height:1.04}.co-showcase-panel p,.co-checklist li{color:rgba(255,255,255,0.78)}.co-checklist{margin:22px 0 0;padding:0;list-style:none}.co-checklist li{position:relative;padding-left:28px;margin-bottom:12px}.co-checklist li::before{content:'•';position:absolute;left:6px;top:-1px;color:#ff8d5d;font-size:22px}.co-showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.co-showcase-mini{min-height:220px}.co-highlight-number{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:20px;border-radius:16px;background:var(--co-primary-soft);color:var(--co-primary-strong);font-family:var(--co-font-display);font-weight:800}.co-testimonial-card{min-height:100%}.co-testimonial-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.co-avatar{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#ff6d32 0%,#ffb18b 100%);color:#ffffff;font-family:var(--co-font-display);font-size:20px;font-weight:800}.co-avatar-meta strong,.co-avatar-meta span{display:block}.co-avatar-meta span{color:var(--co-text-soft);font-size:13px}.co-cta{padding-bottom:70px}.co-cta-panel{display:grid;grid-template-columns:minmax(0,1.1fr) auto;gap:24px;align-items:center;padding:42px;border-radius:36px;background:linear-gradient(135deg,#ff5a1f 0%,#ff8d5d 100%);color:#ffffff;box-shadow:0 30px 70px rgba(255,90,31,0.24)}.co-cta-panel h2{margin:0 0 10px;color:#ffffff;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.co-cta-panel p{margin:0;max-width:680px;color:rgba(255,255,255,0.86);font-size:17px}.co-cta-panel .co-btn-secondary{background:#ffffff;color:var(--co-primary) !important;border-color:transparent;box-shadow:none}.site-footer,.footer-adv,.ast-small-footer{background:#111113 !important;color:rgba(255,255,255,0.72) !important}.site-footer a,.footer-adv a,.ast-small-footer a{color:#ffffff !important}.site-footer a:hover,.footer-adv a:hover,.ast-small-footer a:hover{color:#ff9e7d !important}.co-front-page .screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (max-width:1080px){.co-hero-grid,.co-showcase,.co-cta-panel{grid-template-columns:1fr}.co-brand-strip,.co-category-grid,.co-course-grid,.co-feature-grid,.co-testimonial-grid,.co-showcase-grid,.co-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.co-floating-panel{right:12px;bottom:14px}.co-floating-badge{left:12px}}@media (max-width:767px){.co-section{padding:26px 0}.co-hero{padding-top:24px}.co-container{width:min(calc(100% - 20px),var(--co-container))}.co-hero-content h1{font-size:clamp(2.5rem,14vw,4rem)}.co-hero-content p,.co-section-heading p,.co-cta-panel p{font-size:15px;line-height:1.7}.co-hero-actions,.co-price-row,.co-course-meta,.co-rating-row,.co-instructor-row{flex-direction:column;align-items:flex-start}.co-brand-strip,.co-category-grid,.co-course-grid,.co-feature-grid,.co-testimonial-grid,.co-showcase-grid,.co-stats{grid-template-columns:1fr}.co-card,.co-showcase-panel,.co-cta-panel{padding:24px;border-radius:26px}.co-hero-card{padding:14px;border-radius:28px}.co-floating-panel,.co-floating-badge{position:static;width:100%;max-width:none;margin-top:14px}}.co-promo-banners{padding:56px 0}.co-promo-grid{display:grid;grid-template-columns:1fr;gap:22px}.co-promo-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:#0b1020;color:#fff;box-shadow:0 18px 40px -20px rgba(7,12,30,.55);transition:transform .35s ease,box-shadow .35s ease;isolation:isolate}.co-promo-card:hover{transform:translateY(-4px);box-shadow:0 28px 60px -22px rgba(7,12,30,.65)}.co-promo-media{position:relative;aspect-ratio:16 / 9;overflow:hidden}.co-promo-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.co-promo-card:hover .co-promo-media img{transform:scale(1.04)}.co-promo-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,28,0) 35%,rgba(8,12,28,.85) 100%)}.co-promo-body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:10px}.co-promo-tag{align-self:flex-start;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#e8ecff}.co-promo-title{font-size:26px;line-height:1.15;margin:4px 0 2px;color:#fff;font-weight:700}.co-promo-lead{font-size:15px;color:#e6e9f5;margin:0;font-weight:500}.co-promo-desc{font-size:14px;line-height:1.55;color:#b9bfd6;margin:0 0 14px}.co-promo-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:12px;font-weight:700;font-size:14px;text-decoration:none;color:#0b1020;background:#ffffff;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:0 10px 24px -10px rgba(255,255,255,.45)}.co-promo-cta:hover{transform:translateY(-2px);background:#f2f5ff;box-shadow:0 14px 30px -12px rgba(255,255,255,.6)}.co-promo-cta::after{content:"→";font-size:16px;line-height:1}.co-promo-reitv{background:linear-gradient(160deg,#0a1330 0%,#1a2a6b 100%)}.co-promo-buscas{background:linear-gradient(160deg,#061026 0%,#0d3b66 100%)}.co-promo-ias{background:linear-gradient(160deg,#1a0b3a 0%,#2a5fb8 100%)}.co-promo-reitv .co-promo-cta{background:linear-gradient(135deg,#ffd166,#ffb02e);color:#2a1700}.co-promo-buscas .co-promo-cta{background:linear-gradient(135deg,#4cc9f0,#4361ee);color:#fff}.co-promo-ias .co-promo-cta{background:linear-gradient(135deg,#b388ff,#7b2ff7);color:#fff}@media (min-width:720px){.co-promo-banners{padding:72px 0}.co-promo-grid{grid-template-columns:1fr 1fr;gap:24px}.co-promo-card:first-child{grid-column:1 / -1}.co-promo-title{font-size:30px}}@media (min-width:1024px){.co-promo-grid{grid-template-columns:repeat(3,1fr);gap:28px}.co-promo-card:first-child{grid-column:auto}.co-promo-body{padding:26px 26px 30px}.co-promo-title{font-size:28px}}:root{--co-container:1160px}.co-container{width:min(calc(100% - 40px),var(--co-container))}.co-hero{padding:28px 0 18px}.co-hero-grid{gap:32px;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);align-items:center}.co-hero-content h1{margin:12px 0 14px;font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.05;letter-spacing:-0.01em}.co-hero-content p{font-size:16px;line-height:1.55;max-width:540px;margin:0 0 20px}.co-hero-actions{margin-bottom:22px}.co-stats{gap:12px}.co-stat-card{padding:14px 16px;border-radius:18px}.co-stat-value{font-size:clamp(1.2rem,2vw,1.6rem)}.co-stat-label{font-size:13px}.ast-button,.co-btn-secondary{padding:12px 22px !important;font-size:14px !important}.co-hero-card{padding:12px;border-radius:28px}.co-floating-badge,.co-floating-panel{display:none !important}.co-section{padding:28px 0}.co-section-heading{margin-bottom:22px}.co-section-heading h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:10px 0 8px}.co-section-heading p{font-size:15px}.co-brand-strip{gap:10px}.co-brand-item{min-height:64px;padding:14px;font-size:16px;text-decoration:none;color:var(--co-secondary);transition:transform .2s ease,color .2s ease,border-color .2s ease}.co-brand-item:hover{transform:translateY(-2px);color:var(--co-primary-strong);border-color:rgba(255,90,31,.35)}.aco-catbar{background:#fff;border-bottom:1px solid var(--co-line);box-shadow:0 4px 14px rgba(34,19,11,.04);position:relative;z-index:5}.aco-catbar-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0}.aco-catbar-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}.aco-catbar-list a{display:inline-flex;padding:9px 14px;border-radius:999px;color:var(--co-text);font-size:14px;font-weight:600;text-decoration:none;transition:background .2s ease,color .2s ease}.aco-catbar-list a:hover{background:var(--co-primary-soft);color:var(--co-primary-strong)}.aco-catbar-list .aco-catbar-all{background:#151515;color:#fff}.aco-catbar-list .aco-catbar-all:hover{background:var(--co-primary);color:#fff}.aco-catbar-cart{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--co-primary);color:#fff !important;font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 8px 18px rgba(255,90,31,.25);white-space:nowrap}.aco-catbar-cart:hover{background:var(--co-primary-strong)}.aco-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#fff;color:var(--co-primary-strong);font-size:12px;font-weight:800}@media (max-width:720px){.aco-catbar-inner{flex-direction:column;align-items:stretch;gap:10px}.aco-catbar-list{justify-content:center}.aco-catbar-cart{align-self:center}}.co-catbanner-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.co-catbanner{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;padding:18px;border-radius:20px;text-decoration:none;color:#fff;overflow:hidden;box-shadow:0 12px 26px rgba(20,20,30,.12);transition:transform .25s ease,box-shadow .25s ease}.co-catbanner:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(20,20,30,.18)}.co-catbanner::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.55) 100%);z-index:0}.co-cb-tag{position:relative;z-index:1;display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;align-self:flex-start}.co-catbanner strong{position:relative;z-index:1;font-family:var(--co-font-display);font-size:15px;line-height:1.2;font-weight:700}.co-cb-mkt{background:linear-gradient(135deg,#ff5a1f,#ff8d5d)}.co-cb-dev{background:linear-gradient(135deg,#1f2937,#374151)}.co-cb-trade{background:linear-gradient(135deg,#0d3b66,#1f6feb)}.co-cb-conc{background:linear-gradient(135deg,#5b21b6,#8b5cf6)}.co-cb-foto{background:linear-gradient(135deg,#9a3412,#f59e0b)}@media (max-width:1080px){.co-catbanner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.co-catbanner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.co-course-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);overflow:hidden}.co-course-feature .co-course-media{min-height:320px}.co-course-feature .co-course-body{padding:28px;display:flex;flex-direction:column;justify-content:center}@media (max-width:900px){.co-course-feature{grid-template-columns:1fr}.co-course-feature .co-course-media{min-height:220px}}.co-course-grid{gap:16px}.co-course-card .co-course-media{min-height:170px}.co-course-body{padding:18px}.co-course-body h3{font-size:1.05rem;line-height:1.25;margin:0 0 8px}.co-course-body p{font-size:14px;line-height:1.5}.co-course-meta{font-size:12px;margin-bottom:10px}.co-rating-row{margin-top:12px;font-size:13px}.co-price-row{margin-top:14px;padding-top:14px}.co-price strong{font-size:1.35rem}.co-price small{font-size:12px}.co-price-row a{min-width:110px;padding:11px 14px;font-size:14px}.co-cta{padding-bottom:50px}.co-cta-panel{padding:32px;border-radius:28px}.co-cta-panel h2{font-size:clamp(1.6rem,3vw,2.4rem)}.co-cta-panel p{font-size:15px}.co-front-page::before{width:320px;height:320px;top:80px}.co-front-page::after{width:240px;height:240px;top:380px}.woocommerce,.woocommerce-page{font-family:var(--co-font-base,"Inter",system-ui,-apple-system,"Segoe UI",sans-serif);color:var(--co-text,#1a1a2e)}.ast-woocommerce-container,.woocommerce .site-main{max-width:1160px;margin:0 auto;padding:28px 20px 56px}.woocommerce .woocommerce-products-header{padding:28px 0 18px;border-bottom:1px solid rgba(15,15,30,.08);margin-bottom:28px}.woocommerce .woocommerce-products-header__title{font-family:var(--co-font-display,"Plus Jakarta Sans","Inter",sans-serif);font-weight:800;font-size:clamp(1.8rem,3.4vw,2.6rem);letter-spacing:-0.02em;color:#1a1a2e;margin:0 0 6px}.woocommerce .term-description,.woocommerce .woocommerce-archive-description{color:#5b5b6e;font-size:15px;line-height:1.6;max-width:720px}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering select{font-size:13px;color:#5b5b6e}.woocommerce .woocommerce-ordering select{padding:10px 14px;border-radius:999px;border:1px solid rgba(15,15,30,.12);background:#fff;box-shadow:0 1px 2px rgba(15,15,30,.04)}.woocommerce ul.products,.woocommerce-page ul.products{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 32px !important;padding:0 !important;list-style:none !important}.woocommerce ul.products li.product{width:100% !important;float:none !important;margin:0 !important;padding:0 !important;background:#fff;border:1px solid rgba(15,15,30,.06);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px -18px rgba(15,15,30,.25);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column}.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 22px 44px -22px rgba(15,15,30,.28);border-color:rgba(255,107,53,.35)}.woocommerce ul.products li.product a img{width:100% !important;aspect-ratio:16/10;object-fit:cover;margin:0 !important;border-radius:0 !important;display:block;transition:transform .35s ease}.woocommerce ul.products li.product:hover a img{transform:scale(1.03)}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--co-font-display,"Plus Jakarta Sans","Inter",sans-serif);font-weight:700;font-size:1rem !important;line-height:1.3 !important;padding:16px 18px 6px !important;color:#1a1a2e;min-height:auto}.woocommerce ul.products li.product .price{padding:0 18px 8px;margin:0 !important;color:#1a1a2e !important;font-weight:700 !important;font-size:1.15rem !important}.woocommerce ul.products li.product .price del{color:#9a9aa8 !important;font-weight:500 !important;font-size:.85em;margin-right:6px}.woocommerce ul.products li.product .price ins{background:transparent !important;color:#ff6b35 !important;text-decoration:none !important}.woocommerce ul.products li.product .star-rating,.woocommerce ul.products li.product .woocommerce-product-rating{display:none !important}.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .added_to_cart{margin:auto 18px 18px !important;padding:11px 16px !important;background:linear-gradient(135deg,#ff6b35 0%,#ff8e53 100%) !important;color:#fff !important;font-weight:600 !important;font-size:14px !important;border-radius:999px !important;text-align:center !important;border:0 !important;box-shadow:0 8px 22px -10px rgba(255,107,53,.55) !important;transition:transform .2s ease,box-shadow .2s ease !important}.woocommerce ul.products li.product .button:hover{transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(255,107,53,.65) !important}.woocommerce span.onsale{background:#1a1a2e !important;color:#fff !important;border-radius:999px !important;padding:4px 10px !important;min-width:0 !important;min-height:0 !important;font-size:11px !important;font-weight:700 !important;line-height:1.4 !important;top:12px !important;left:12px !important;right:auto !important;box-shadow:0 4px 12px rgba(15,15,30,.2)}.woocommerce nav.woocommerce-pagination ul{border:0 !important;display:flex;gap:6px;justify-content:center}.woocommerce nav.woocommerce-pagination ul li{border:0 !important}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{padding:10px 14px !important;border-radius:10px !important;background:#fff !important;border:1px solid rgba(15,15,30,.12) !important;color:#1a1a2e !important;font-weight:600 !important}.woocommerce nav.woocommerce-pagination ul li span.current{background:#1a1a2e !important;color:#fff !important;border-color:#1a1a2e !important}@media (max-width:1023px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media (max-width:600px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr}}.single-product .ast-woocommerce-container,.single-product .site-main{max-width:1180px;padding-top:24px}.single-product div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:44px;align-items:start}.single-product div.product .woocommerce-product-gallery,.single-product div.product .summary{width:100% !important;float:none !important;margin:0 !important}.single-product div.product .woocommerce-product-gallery img{border-radius:22px !important;box-shadow:0 24px 60px -28px rgba(15,15,30,.35)}.single-product .product_title{font-family:var(--co-font-display,"Plus Jakarta Sans","Inter",sans-serif);font-weight:800;font-size:clamp(1.9rem,3vw,2.6rem) !important;line-height:1.15 !important;letter-spacing:-0.02em;margin:0 0 14px !important;color:#1a1a2e}.single-product .woocommerce-product-details__short-description{color:#4a4a5e;font-size:16px;line-height:1.65;margin-bottom:22px}.single-product .woocommerce-product-details__short-description p{margin:0 0 10px}.single-product .summary .price{display:flex;align-items:baseline;gap:12px;font-size:2.1rem !important;font-weight:800 !important;color:#1a1a2e !important;margin:0 0 20px !important;padding:18px 0 !important;border-top:1px solid rgba(15,15,30,.08);border-bottom:1px solid rgba(15,15,30,.08)}.single-product .summary .price del{font-size:1.1rem !important;color:#9a9aa8 !important;font-weight:500 !important}.single-product .summary .price ins{background:transparent !important;color:#ff6b35 !important;text-decoration:none !important}.single-product .woocommerce-product-rating,.single-product .star-rating,.single-product #reviews,.single-product li.reviews_tab,.single-product #tab-reviews,.woocommerce-tabs .reviews_tab,.woocommerce-Reviews,.comment-reply-title,#review_form_wrapper{display:none !important}.single-product form.cart{display:flex !important;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 24px !important;padding:0 !important;background:transparent !important;border:0 !important}.single-product form.cart .quantity{margin:0 !important}.single-product form.cart .quantity input.qty{height:52px;width:84px;border-radius:12px;border:1px solid rgba(15,15,30,.15);text-align:center;font-weight:600;background:#fff}.single-product .single_add_to_cart_button{flex:1 1 220px;min-height:52px;padding:0 28px !important;background:linear-gradient(135deg,#ff6b35 0%,#ff8e53 100%) !important;color:#fff !important;font-weight:700 !important;font-size:15px !important;letter-spacing:0.02em;border:0 !important;border-radius:999px !important;box-shadow:0 12px 28px -10px rgba(255,107,53,.55) !important;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease !important}.single-product .single_add_to_cart_button:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(255,107,53,.7) !important}.single-product .product_meta{font-size:13px;color:#6b6b7e;padding-top:18px;border-top:1px solid rgba(15,15,30,.08)}.single-product .product_meta>span{display:block;margin-bottom:4px}.single-product .product_meta a{color:#ff6b35;text-decoration:none}.single-product .product_meta a:hover{text-decoration:underline}.single-product .woocommerce-tabs{margin-top:56px}.single-product .woocommerce-tabs ul.tabs{display:flex;gap:4px;border:0 !important;padding:0 !important;margin:0 0 24px !important;border-bottom:1px solid rgba(15,15,30,.1) !important}.single-product .woocommerce-tabs ul.tabs::before{display:none !important}.single-product .woocommerce-tabs ul.tabs li{background:transparent !important;border:0 !important;border-radius:0 !important;padding:0 !important;margin:0 !important}.single-product .woocommerce-tabs ul.tabs li::before,.single-product .woocommerce-tabs ul.tabs li::after{display:none !important}.single-product .woocommerce-tabs ul.tabs li a{padding:12px 18px !important;font-weight:600 !important;color:#6b6b7e !important;font-size:14px !important;border-bottom:2px solid transparent !important;transition:color .2s,border-color .2s}.single-product .woocommerce-tabs ul.tabs li.active a,.single-product .woocommerce-tabs ul.tabs li a:hover{color:#1a1a2e !important;border-bottom-color:#ff6b35 !important}.single-product .woocommerce-tabs .panel{background:#fff;border:1px solid rgba(15,15,30,.06);border-radius:18px;padding:28px;font-size:15px;line-height:1.7;color:#2a2a3e}.single-product .woocommerce-tabs .panel h2{font-family:var(--co-font-display,"Plus Jakarta Sans","Inter",sans-serif);font-size:1.3rem;font-weight:700;margin:0 0 14px;color:#1a1a2e}.single-product .related.products,.single-product .upsells.products{margin-top:56px;padding-top:32px;border-top:1px solid rgba(15,15,30,.08)}.single-product .related.products>h2,.single-product .upsells.products>h2{font-family:var(--co-font-display,"Plus Jakarta Sans","Inter",sans-serif);font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0 0 22px}@media (max-width:900px){.single-product div.product{grid-template-columns:1fr;gap:28px}.single-product .product_title{font-size:1.7rem !important}.single-product .summary .price{font-size:1.7rem !important;padding:14px 0 !important}.single-product .single_add_to_cart_button{width:100%;flex:1 1 100%}}

/* === v1.7.1 fixes: single product, category card, home image === */
.single-product div.product{display:block !important}
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary{width:100% !important;max-width:1100px !important;margin:0 auto 28px !important;float:none !important}
.single-product div.product .woocommerce-product-gallery img{border-radius:24px}
.single-product .woocommerce-tabs{clear:both;margin-top:8px !important;padding:0 !important;background:transparent !important;box-shadow:none !important;border:0 !important}
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .wc-tab,
.single-product .woocommerce-Tabs-panel{background:#fff !important;border:1px solid var(--co-line) !important;border-radius:24px !important;padding:40px 48px !important;margin:0 0 28px !important;box-shadow:var(--co-shadow-soft);max-width:none !important;width:100% !important;line-height:1.8 !important;color:var(--co-text) !important;font-size:16px !important;overflow:visible !important}
.single-product .woocommerce-tabs .panel *,
.single-product .woocommerce-Tabs-panel *{max-width:100% !important;word-wrap:break-word;overflow-wrap:break-word}
.single-product .woocommerce-tabs .panel p,
.single-product .woocommerce-Tabs-panel p{margin:0 0 18px !important;padding:0 !important}
.single-product .woocommerce-tabs .panel h2,
.single-product .woocommerce-tabs .panel h3,
.single-product .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h3{margin:24px 0 14px !important;font-weight:800}
.single-product .woocommerce-tabs .panel ul,
.single-product .woocommerce-tabs .panel ol{padding-left:24px !important;margin:0 0 18px !important}
.single-product .woocommerce-tabs .panel li{margin-bottom:8px !important}
.single-product .related,
.single-product .upsells{clear:both;margin-top:48px !important;padding-top:32px !important;border-top:1px solid var(--co-line)}
.single-product .related>h2,
.single-product .upsells>h2{font-size:1.8rem !important;margin-bottom:22px !important;font-weight:800}
.single-product .related ul.products,
.single-product .upsells ul.products,
.single-product .related .products,
.single-product .upsells .products{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:22px !important;margin:0 !important;padding:0 !important;list-style:none !important}
.single-product .related ul.products li.product,
.single-product .upsells ul.products li.product{width:100% !important;margin:0 !important;padding:0 !important;float:none !important;background:#fff;border:1px solid var(--co-line);border-radius:22px;overflow:hidden;box-shadow:var(--co-shadow-soft)}
.single-product .related ul.products li.product a,
.single-product .upsells ul.products li.product a{display:block;padding:0}
.single-product .related ul.products li.product img,
.single-product .upsells ul.products li.product img{width:100% !important;height:auto !important;aspect-ratio:1/1 !important;object-fit:cover !important;display:block;margin:0 !important;border-radius:0 !important}
.single-product .related ul.products li.product h2,
.single-product .related ul.products li.product .woocommerce-loop-product__title,
.single-product .upsells ul.products li.product .woocommerce-loop-product__title{padding:14px 18px 6px !important;font-size:1rem !important;font-weight:700 !important}
.single-product .related ul.products li.product .price,
.single-product .upsells ul.products li.product .price{padding:0 18px !important}
.single-product .related ul.products li.product .button,
.single-product .upsells ul.products li.product .button{margin:14px 18px 18px !important}

/* Category page: card content padding/breathing */
.woocommerce ul.products li.product{padding:0 !important;background:#fff;border:1px solid var(--co-line);border-radius:22px;overflow:hidden}
.woocommerce ul.products li.product a img{margin:0 !important;border-radius:0 !important}
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3{padding:16px 20px 6px !important;margin:0 !important;font-size:1.05rem !important;font-weight:700 !important;line-height:1.35 !important}
.woocommerce ul.products li.product .price{padding:0 20px !important;margin:6px 0 12px !important}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{margin:0 20px 18px !important;display:inline-block}
.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .product_meta,
.woocommerce ul.products li.product .cat-link,
.woocommerce ul.products li.product .product-category,
.woocommerce ul.products li.product .category{padding:14px 20px 0 !important;margin:0 !important;display:inline-block;font-size:12px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--co-primary-strong)}

/* Home course cards: enforce 1:1 (500x500 mockup ratio) */
.co-course-media{aspect-ratio:1/1 !important;min-height:0 !important;height:auto !important}
.co-course-media img{position:absolute;inset:0;width:100% !important;height:100% !important;object-fit:cover !important}

@media (max-width:900px){
  .single-product .related ul.products,
  .single-product .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .single-product .woocommerce-tabs .panel,
  .single-product .woocommerce-Tabs-panel{padding:28px 22px !important}
}
@media (max-width:600px){
  .single-product .related ul.products,
  .single-product .upsells ul.products{grid-template-columns:1fr !important}
}
.woocommerce ul.products li.product .ast-woo-product-category,.woocommerce ul.products li.product .ast-woocommerce-product-category,.woocommerce ul.products li.product .astra-shop-summary-wrap .ast-woo-product-category,.woocommerce ul.products li.product .category,.woocommerce ul.products li.product .posted_in,.woocommerce ul.products li.product .product_cat{display:inline-block !important;padding:18px 20px 0 !important;margin:0 0 6px !important;font-size:11px !important;font-weight:700 !important;letter-spacing:0.08em !important;text-transform:uppercase !important;color:var(--co-primary-strong) !important;line-height:1 !important}.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product h2.woocommerce-loop-product__title,.woocommerce ul.products li.product h3{padding:8px 20px 6px !important;margin:0 !important}.woocommerce ul.products li.product .price{padding:0 20px !important;margin:4px 0 14px !important}.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .added_to_cart{margin:auto 20px 20px !important}
/* === SINGLE PRODUCT v1.7.5 — image cap + description polish + small related === */
.single-product div.product{display:grid !important;grid-template-columns:minmax(280px,360px) minmax(0,1fr) !important;gap:48px !important;max-width:1180px !important;margin:32px auto 56px !important;padding:0 20px !important;align-items:start !important}
.single-product div.product .woocommerce-product-gallery{width:100% !important;max-width:360px !important;float:none !important;margin:0 !important;position:sticky;top:96px}
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery__image{width:100% !important;margin:0 !important}
.single-product div.product .woocommerce-product-gallery img,
.single-product div.product .woocommerce-product-gallery a img,
.single-product div.product .woocommerce-product-gallery__image img{width:100% !important;max-width:360px !important;height:auto !important;aspect-ratio:1/1 !important;object-fit:cover !important;border-radius:24px !important;box-shadow:0 18px 50px rgba(34,19,11,0.08) !important;display:block !important;margin:0 !important}
.single-product div.product .flex-control-thumbs{display:flex !important;gap:10px !important;margin:14px 0 0 !important;padding:0 !important}
.single-product div.product .flex-control-thumbs li{width:64px !important;height:64px !important;margin:0 !important;list-style:none !important}
.single-product div.product .flex-control-thumbs li img{width:64px !important;height:64px !important;aspect-ratio:1/1 !important;object-fit:cover !important;border-radius:12px !important;border:1px solid var(--co-line) !important;cursor:pointer}

.single-product div.product .summary,
.single-product div.product .entry-summary{width:100% !important;max-width:none !important;float:none !important;margin:0 !important;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important}
.single-product div.product .summary .product_title{font-family:var(--co-font-display) !important;font-size:clamp(1.75rem,3vw,2.4rem) !important;font-weight:800 !important;line-height:1.15 !important;margin:0 0 14px !important;color:var(--co-text) !important}
.single-product div.product .summary .price{font-size:clamp(1.5rem,2.5vw,2rem) !important;font-weight:800 !important;color:var(--co-text) !important;margin:0 0 18px !important;padding:0 !important}
.single-product div.product .summary .price del{color:#a3a3ad !important;font-size:0.7em !important;margin-right:10px}
.single-product div.product .summary .price ins{background:transparent !important;color:var(--co-primary-strong) !important;text-decoration:none !important}
.single-product div.product .summary .woocommerce-product-details__short-description{padding:18px 22px !important;margin:0 0 22px !important;background:var(--co-surface-soft) !important;border:1px solid var(--co-line) !important;border-left:4px solid var(--co-primary) !important;border-radius:16px !important;color:var(--co-text-soft) !important;font-size:15.5px !important;line-height:1.75 !important}
.single-product div.product .summary .woocommerce-product-details__short-description p{margin:0 0 10px !important}
.single-product div.product .summary .woocommerce-product-details__short-description p:last-child{margin:0 !important}
.single-product div.product .summary form.cart{display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:14px !important;margin:0 0 22px !important;padding:0 !important;background:transparent !important;border:0 !important}
.single-product div.product .summary form.cart .quantity{margin:0 !important}
.single-product div.product .summary form.cart .quantity .qty{width:78px !important;height:50px !important;border-radius:14px !important;text-align:center !important;font-weight:700 !important}
.single-product div.product .summary form.cart .single_add_to_cart_button{padding:15px 30px !important;font-size:15px !important}
.single-product div.product .summary .product_meta{margin:18px 0 0 !important;padding:18px 0 0 !important;border-top:1px solid var(--co-line) !important;font-size:13px !important;color:var(--co-text-soft) !important}
.single-product div.product .summary .product_meta>span{display:block;margin-bottom:6px}
.single-product div.product .summary .product_meta a{color:var(--co-primary-strong) !important;text-decoration:none}
.single-product div.product .summary .star-rating,
.single-product div.product .summary .woocommerce-product-rating,
.single-product div.product .summary .woocommerce-review-link{display:none !important}

/* Description tabs */
.single-product .woocommerce-tabs{grid-column:1 / -1 !important;margin:28px 0 0 !important;padding:34px !important;background:#fff !important;border:1px solid var(--co-line) !important;border-radius:24px !important;box-shadow:var(--co-shadow-soft) !important}
.single-product .woocommerce-tabs ul.tabs{display:flex !important;gap:8px !important;padding:0 0 18px !important;margin:0 0 22px !important;border:0 !important;border-bottom:1px solid var(--co-line) !important;list-style:none !important}
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after{display:none !important}
.single-product .woocommerce-tabs ul.tabs li{background:transparent !important;border:0 !important;border-radius:999px !important;padding:0 !important;margin:0 !important}
.single-product .woocommerce-tabs ul.tabs li a{padding:10px 18px !important;border-radius:999px !important;background:transparent !important;color:var(--co-text-soft) !important;font-weight:700 !important;font-size:14px !important;text-decoration:none !important}
.single-product .woocommerce-tabs ul.tabs li.active a{background:var(--co-primary) !important;color:#fff !important}
.single-product .woocommerce-tabs .panel{padding:0 !important;margin:0 !important;color:var(--co-text) !important;font-size:16px !important;line-height:1.9 !important}
.single-product .woocommerce-tabs .panel>h2:first-child{display:none !important}
.single-product .woocommerce-tabs .panel .woocommerce-Tabs-panel--description,
.single-product .woocommerce-tabs .panel#tab-description,
.single-product .woocommerce-tabs #tab-description{padding:0 !important}
.single-product .woocommerce-tabs #tab-description>*:first-child{margin-top:0 !important}
.single-product .woocommerce-tabs #tab-description>*:last-child{margin-bottom:0 !important}
.single-product .woocommerce-tabs #tab-description h2,
.single-product .woocommerce-tabs #tab-description h3,
.single-product .woocommerce-tabs #tab-description h4{display:block !important;max-width:320px !important;margin:34px 0 14px !important;padding-left:18px !important;border-left:4px solid var(--co-primary) !important;font-family:var(--co-font-display) !important;font-weight:800 !important;line-height:1.15 !important;color:var(--co-text) !important}
.single-product .woocommerce-tabs #tab-description h2:first-child,
.single-product .woocommerce-tabs #tab-description h3:first-child,
.single-product .woocommerce-tabs #tab-description h4:first-child{margin-top:0 !important}
.single-product .woocommerce-tabs #tab-description h2{font-size:1.55rem !important}
.single-product .woocommerce-tabs #tab-description h3{font-size:1.28rem !important}
.single-product .woocommerce-tabs #tab-description h4{font-size:1.12rem !important}
.single-product .woocommerce-tabs #tab-description p,
.single-product .woocommerce-tabs #tab-description ul,
.single-product .woocommerce-tabs #tab-description ol,
.single-product .woocommerce-tabs #tab-description blockquote{max-width:860px !important;margin:0 0 18px !important;padding-left:28px !important;padding-right:28px !important}
.single-product .woocommerce-tabs #tab-description p{color:var(--co-text-soft) !important;font-size:16px !important;line-height:1.95 !important;text-wrap:pretty}
.single-product .woocommerce-tabs #tab-description strong{color:var(--co-text) !important}
.single-product .woocommerce-tabs #tab-description ul,
.single-product .woocommerce-tabs #tab-description ol{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px 28px !important;list-style:none !important;margin-top:10px !important;padding:0 28px !important}
.single-product .woocommerce-tabs #tab-description ul li,
.single-product .woocommerce-tabs #tab-description ol li{position:relative !important;margin:0 !important;padding:14px 18px 14px 44px !important;background:var(--co-surface-soft) !important;border:1px solid var(--co-line) !important;border-radius:18px !important;color:var(--co-text) !important;line-height:1.7 !important}
.single-product .woocommerce-tabs #tab-description ul li::before,
.single-product .woocommerce-tabs #tab-description ol li::before{content:'' !important;position:absolute !important;left:18px !important;top:22px !important;width:10px !important;height:10px !important;border-radius:999px !important;background:var(--co-primary) !important;box-shadow:0 0 0 6px rgba(255,90,31,0.12) !important}
.single-product .woocommerce-tabs #tab-description blockquote{padding:22px 28px !important;border-left:4px solid var(--co-primary) !important;border-radius:18px !important;background:linear-gradient(180deg,#fff8f3 0%,#fff2ea 100%) !important;color:var(--co-text) !important}

/* Related & Upsells — small, 4 columns, ~200px */
.single-product .related,
.single-product .upsells{grid-column:1 / -1 !important;margin:48px 0 0 !important;padding:0 !important;background:transparent !important;border:0 !important}
.single-product .related>h2,
.single-product .upsells>h2{font-size:1.5rem !important;font-weight:800 !important;margin:0 0 22px !important;padding:0 !important;color:var(--co-text) !important}
.single-product .related ul.products,
.single-product .upsells ul.products{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:18px !important;margin:0 !important;padding:0 !important;list-style:none !important}
.single-product .related ul.products li.product,
.single-product .upsells ul.products li.product{width:100% !important;max-width:240px !important;margin:0 auto !important;padding:0 !important;float:none !important;background:#fff !important;border:1px solid var(--co-line) !important;border-radius:18px !important;overflow:hidden !important;box-shadow:var(--co-shadow-soft) !important;display:flex !important;flex-direction:column !important}
.single-product .related ul.products li.product a img,
.single-product .upsells ul.products li.product a img,
.single-product .related ul.products li.product img,
.single-product .upsells ul.products li.product img{width:100% !important;max-width:240px !important;height:auto !important;aspect-ratio:1/1 !important;object-fit:cover !important;border-radius:0 !important;margin:0 !important;display:block !important}
.single-product .related ul.products li.product .woocommerce-loop-product__title,
.single-product .upsells ul.products li.product .woocommerce-loop-product__title{font-size:14px !important;font-weight:700 !important;padding:12px 14px 4px !important;margin:0 !important;line-height:1.35 !important}
.single-product .related ul.products li.product .price,
.single-product .upsells ul.products li.product .price{font-size:14px !important;padding:0 14px !important;margin:2px 0 10px !important}
.single-product .related ul.products li.product .button,
.single-product .upsells ul.products li.product .button{margin:auto 14px 14px !important;padding:9px 14px !important;font-size:13px !important}
.single-product .related ul.products li.product .star-rating,
.single-product .upsells ul.products li.product .star-rating{display:none !important}

@media (max-width: 980px){
  .single-product div.product{grid-template-columns:1fr !important;gap:28px !important}
  .single-product div.product .woocommerce-product-gallery{position:static;max-width:320px !important;margin:0 auto !important}
  .single-product .woocommerce-tabs{padding:28px 22px !important}
  .single-product .woocommerce-tabs #tab-description p,
  .single-product .woocommerce-tabs #tab-description ul,
  .single-product .woocommerce-tabs #tab-description ol,
  .single-product .woocommerce-tabs #tab-description blockquote{padding-left:18px !important;padding-right:18px !important}
  .single-product .woocommerce-tabs #tab-description ul,
  .single-product .woocommerce-tabs #tab-description ol{grid-template-columns:1fr !important;gap:12px !important;padding:0 18px !important}
  .single-product .related ul.products,
  .single-product .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width: 560px){
  .single-product .woocommerce-tabs{padding:22px 16px !important;border-radius:20px !important}
  .single-product .woocommerce-tabs ul.tabs{flex-wrap:wrap !important}
  .single-product .woocommerce-tabs #tab-description h2,
  .single-product .woocommerce-tabs #tab-description h3,
  .single-product .woocommerce-tabs #tab-description h4{max-width:none !important;margin:26px 0 12px !important;padding-left:14px !important}
  .single-product .woocommerce-tabs #tab-description p,
  .single-product .woocommerce-tabs #tab-description ul,
  .single-product .woocommerce-tabs #tab-description ol,
  .single-product .woocommerce-tabs #tab-description blockquote{padding-left:8px !important;padding-right:8px !important}
  .single-product .woocommerce-tabs #tab-description ul,
  .single-product .woocommerce-tabs #tab-description ol{padding:0 8px !important}
  .single-product .woocommerce-tabs #tab-description ul li,
  .single-product .woocommerce-tabs #tab-description ol li{padding:14px 14px 14px 38px !important}
  .single-product .woocommerce-tabs #tab-description ul li::before,
  .single-product .woocommerce-tabs #tab-description ol li::before{left:14px !important}
  .single-product .related ul.products,
  .single-product .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}

/* ============================================================
   v1.7.7 — Otimização mobile responsiva avançada
   ============================================================ */
@media (max-width: 1024px){
  .co-container{width:min(calc(100% - 28px),var(--co-container))}
  .co-hero{padding:28px 0 18px}
  .co-hero-grid{grid-template-columns:1fr;gap:32px}
  .co-hero-visual{order:-1;max-width:520px;margin:0 auto}
  .co-hero-content h1{font-size:clamp(2.2rem,7vw,3.4rem);line-height:1.02}
  .co-floating-badge{left:8px;max-width:180px;padding:12px 14px}
  .co-floating-panel{right:8px;width:200px;padding:14px}
  .co-category-grid,.co-feature-grid,.co-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .co-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .co-brand-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 768px){
  body{font-size:15px}
  .co-section{padding:26px 0}
  .co-section-heading h2{font-size:clamp(1.7rem,6vw,2.4rem)}
  .co-section-heading p{font-size:15px}
  .co-hero-content p{font-size:16px;line-height:1.65}
  .co-hero-actions{flex-direction:column;align-items:stretch}
  .co-hero-actions .ast-button,.co-hero-actions .co-btn-secondary,.co-hero-actions .button{width:100%;text-align:center}
  .co-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .co-stat-card{padding:14px 12px}
  .co-stat-value{font-size:1.3rem}
  .co-stat-label{font-size:12px}
  .co-floating-badge,.co-floating-panel{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:100%;max-width:100%;margin-top:14px}
  .co-hero-card{padding:12px;border-radius:28px}
  .co-brand-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .co-brand-item{min-height:64px;font-size:16px;padding:12px}
  .co-card{padding:20px;border-radius:22px}
  .co-card h3,.co-card h4{font-size:1.15rem}
  .co-course-body{padding:18px}
  /* WooCommerce */
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important;display:grid !important}
  .woocommerce ul.products li.product{width:100% !important;margin:0 !important;float:none !important}
  .woocommerce ul.products li.product .ast-woo-product-category,
  .woocommerce ul.products li.product .category{padding-top:14px;font-size:11px}
  .woocommerce ul.products li.product h3,
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px !important;padding:6px 14px 4px !important}
  .woocommerce ul.products li.product .price{font-size:14px !important;margin:2px 0 10px}
  .woocommerce ul.products li.product .button{font-size:12px !important;padding:10px 14px !important;margin:auto 14px 14px !important}
  /* Single product */
  .woocommerce div.product div.images,
  .woocommerce-page div.product div.images{float:none !important;width:100% !important;max-width:320px !important;margin:0 auto 20px !important;position:relative !important}
  .woocommerce div.product div.images img{max-width:100% !important}
  .woocommerce div.product div.summary,
  .woocommerce-page div.product div.summary{float:none !important;width:100% !important;margin-bottom:24px}
  .woocommerce div.product .product_title{font-size:1.6rem !important;line-height:1.15}
  .woocommerce div.product .woocommerce-tabs ul.tabs{flex-wrap:wrap;gap:6px}
  .woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:10px 14px !important;font-size:13px}
  .woocommerce div.product .woocommerce-tabs .panel{padding:20px !important;border-radius:18px}
  #tab-description{padding:4px 0}
  #tab-description h2,#tab-description h3,#tab-description h4{font-size:1.1rem;max-width:100%}
  #tab-description p,#tab-description li{font-size:15px;line-height:1.7}
  #tab-description ul,#tab-description ol{grid-template-columns:1fr !important;padding-left:18px !important}
  #tab-description blockquote{padding-left:16px !important}
  /* Related */
  .woocommerce .related ul.products,.woocommerce .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  /* Header / mobile menu */
  .site-header,.ast-primary-header-bar{padding:6px 0}
  .ast-mobile-menu-buttons .menu-toggle{background:transparent !important;color:var(--co-text) !important;box-shadow:none}
  .main-header-menu .menu-item>a{padding:14px 18px !important;font-size:16px}
  /* Cart / checkout */
  .woocommerce-cart table.cart,.woocommerce-cart-form table{display:block;overflow-x:auto}
  .woocommerce form .form-row{width:100% !important}
  /* Promo banners */
  .co-promo-grid{grid-template-columns:1fr !important;gap:14px}
}
@media (max-width: 480px){
  .co-container{width:calc(100% - 24px)}
  .co-section{padding:22px 0}
  .co-hero{padding:20px 0 12px}
  .co-hero-content h1{font-size:clamp(1.9rem,8vw,2.6rem)}
  .co-stats{grid-template-columns:1fr;max-width:100%}
  .co-stat-card{padding:14px 16px}
  .co-brand-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ast-button,button,.button,input[type='submit'],.wp-block-button__link,.woocommerce a.button,.woocommerce button.button{padding:13px 20px !important;font-size:14px}
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr !important}
  .woocommerce .related ul.products,.woocommerce .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}
  .woocommerce .related ul.products li.product h3,.woocommerce .upsells ul.products li.product h3{font-size:13px !important}
  .woocommerce div.product .product_title{font-size:1.4rem !important}
  .co-card{padding:18px;border-radius:20px}
  .co-floating-badge,.co-floating-panel{padding:12px 14px;border-radius:18px}
  .co-kicker{font-size:11px;padding:6px 12px}
}
/* Touch tap targets & images */
@media (hover:none) and (pointer:coarse){
  a,button,.button{min-height:44px}
  .co-card:hover{transform:none}
}
img,video{max-width:100%;height:auto}
* {min-width:0}


/* v46 — ajuste seguro do cabeçalho desktop: não altera links, páginas, rotas nem força menu mobile. */
@media (min-width: 922px) {
  .site-header .ast-builder-grid-row,
  .ast-primary-header-bar .ast-builder-grid-row,
  .main-header-bar .ast-container {
    align-items: center !important;
    gap: 14px !important;
    min-height: 72px !important;
  }
  .site-branding,
  .ast-site-identity,
  .site-title,
  .site-title a {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    line-height: 1.12 !important;
  }
  .site-title a {
    display: block !important;
    max-width: 280px !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }
  .main-header-menu .menu-item > a,
  .ast-builder-menu .main-navigation > ul > li > a {
    white-space: nowrap !important;
  }
}
@media (min-width: 922px) and (max-width: 1120px) {
  .site-title a {
    max-width: 230px !important;
    font-size: clamp(17px, 1.55vw, 21px) !important;
  }
  .main-header-menu .menu-item > a,
  .ast-builder-menu .main-navigation > ul > li > a {
    padding-left: 9px !important;
    padding-right: 9px !important;
    font-size: 14px !important;
  }
}

/* v48 — correção mobile segura: tela cheia, cards em grid e menu sem comprimir conteúdo. */
@media (max-width: 921px) {
  html,
  body {
    width: 100% !important;
    overflow-x: hidden !important;
  }

  body .site,
  body .site-content,
  body .ast-container,
  body .content-area,
  body #primary,
  body .entry-content {
    width: 100% !important;
    max-width: 100% !important;
  }

  body .ast-container,
  .site-content .ast-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .co-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .co-front-page,
  .co-section,
  .co-hero,
  .co-hero-grid,
  .co-course-grid,
  .co-promo-grid,
  .co-catbanner-grid,
  .co-showcase,
  .co-showcase-grid,
  .co-testimonial-grid,
  .co-cta-panel {
    width: 100% !important;
    max-width: 100% !important;
  }

  .co-section {
    padding: 24px 0 !important;
  }

  .co-front-page .co-hero,
  .co-hero {
    padding-top: 82px !important;
    padding-bottom: 18px !important;
  }

  .co-hero-grid,
  .co-showcase,
  .co-cta-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .co-brand-strip,
  .co-category-grid,
  .co-course-grid,
  .co-feature-grid,
  .co-testimonial-grid,
  .co-showcase-grid,
  .co-stats,
  .co-catbanner-grid,
  .co-promo-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .co-card,
  .co-course-card,
  .co-promo-card,
  .co-catbanner,
  .co-showcase-panel,
  .co-cta-panel,
  .co-brand-item,
  .co-stat-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .co-course-card {
    display: block !important;
    overflow: hidden !important;
  }

  .co-course-media {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
  }

  .co-course-body {
    width: 100% !important;
    padding: 18px !important;
  }

  .co-course-meta,
  .co-rating-row,
  .co-instructor-row,
  .co-price-row {
    width: 100% !important;
    align-items: stretch !important;
  }

  .co-price-row a,
  .co-hero-actions .ast-button,
  .co-hero-actions .co-btn-secondary,
  .co-cta-panel .co-btn-secondary {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: block !important;
  }

  .woocommerce ul.products li.product a img,
  .woocommerce-page ul.products li.product a img {
    width: 100% !important;
    height: auto !important;
  }

  .ast-mobile-header-wrap .ast-builder-grid-row,
  .ast-mobile-header-wrap .main-header-bar .ast-container {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 62px !important;
  }

  .ast-mobile-header-wrap .site-branding,
  .ast-mobile-header-wrap .ast-site-identity,
  .ast-mobile-header-wrap .site-title,
  .ast-mobile-header-wrap .site-title a {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .ast-mobile-header-wrap .site-title a {
    display: block !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.12 !important;
    font-size: clamp(16px, 4.2vw, 20px) !important;
  }

  .ast-mobile-menu-buttons .menu-toggle,
  .ast-button-wrap .menu-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .aco-catbar {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .aco-catbar-inner {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    padding: 8px 0 !important;
  }

  .aco-catbar-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 2px 8px !important;
    margin: 0 !important;
    -webkit-overflow-scrolling: touch;
  }

  .aco-catbar-list li {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  .aco-catbar-list a {
    white-space: nowrap !important;
    min-height: 42px !important;
    align-items: center !important;
  }

  .aco-catbar-cart {
    width: 100% !important;
    justify-content: center !important;
  }
}

@media (max-width: 480px) {
  body .ast-container,
  .site-content .ast-container,
  .co-container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .co-front-page .co-hero,
  .co-hero {
    padding-top: 76px !important;
  }

  .co-hero-content h1,
  .co-section-heading h2,
  .co-cta-panel h2 {
    overflow-wrap: anywhere !important;
  }
}

/* v49 / 2.0.5 — correção mobile forte: produto 100% largura + menu mobile sem coluna estreita. */
@media (max-width: 921px) {
  body.single-product,
  body.single-product .site,
  body.single-product .site-content,
  body.single-product .ast-container,
  body.single-product .content-area,
  body.single-product #primary,
  body.single-product .site-main,
  body.single-product .ast-woocommerce-container,
  body.single-product div.product,
  body.single-product .entry-content,
  body.single-product .woocommerce,
  body.single-product .woocommerce-tabs,
  body.single-product .woocommerce-tabs .panel,
  body.single-product .woocommerce-tabs .wc-tab,
  body.single-product .woocommerce-Tabs-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  body.single-product .site-content,
  body.single-product .ast-container,
  body.single-product .content-area,
  body.single-product #primary,
  body.single-product .site-main,
  body.single-product .ast-woocommerce-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.single-product #secondary,
  body.single-product .widget-area,
  body.single-product .ast-left-sidebar,
  body.single-product .ast-right-sidebar {
    display: none !important;
  }

  body.single-product div.product {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-product div.product div.images,
  body.single-product div.product div.summary,
  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product .summary {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
  }

  body.single-product div.product div.images img,
  body.single-product div.product .woocommerce-product-gallery img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  body.single-product .woocommerce-tabs {
    margin: 18px 0 0 !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  body.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    padding-bottom: 10px !important;
  }

  body.single-product .woocommerce-tabs .panel,
  body.single-product .woocommerce-tabs .wc-tab,
  body.single-product .woocommerce-Tabs-panel {
    margin: 0 !important;
    padding: 16px !important;
    border-radius: 16px !important;
    overflow: visible !important;
  }

  body.single-product .woocommerce-tabs #tab-description,
  body.single-product .woocommerce-tabs #tab-description *,
  body.single-product .woocommerce-Tabs-panel--description,
  body.single-product .woocommerce-Tabs-panel--description * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body.single-product .woocommerce-tabs #tab-description h1,
  body.single-product .woocommerce-tabs #tab-description h2,
  body.single-product .woocommerce-tabs #tab-description h3,
  body.single-product .woocommerce-tabs #tab-description h4,
  body.single-product .woocommerce-Tabs-panel--description h1,
  body.single-product .woocommerce-Tabs-panel--description h2,
  body.single-product .woocommerce-Tabs-panel--description h3,
  body.single-product .woocommerce-Tabs-panel--description h4 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 12px !important;
    padding: 0 0 0 12px !important;
    border-left: 4px solid var(--co-primary) !important;
    font-size: clamp(1.35rem, 6vw, 1.75rem) !important;
    line-height: 1.18 !important;
  }

  body.single-product .woocommerce-tabs #tab-description p,
  body.single-product .woocommerce-tabs #tab-description ul,
  body.single-product .woocommerce-tabs #tab-description ol,
  body.single-product .woocommerce-tabs #tab-description blockquote,
  body.single-product .woocommerce-Tabs-panel--description p,
  body.single-product .woocommerce-Tabs-panel--description ul,
  body.single-product .woocommerce-Tabs-panel--description ol,
  body.single-product .woocommerce-Tabs-panel--description blockquote {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 16px !important;
    line-height: 1.72 !important;
  }

  body.single-product .woocommerce-tabs #tab-description ul,
  body.single-product .woocommerce-tabs #tab-description ol,
  body.single-product .woocommerce-Tabs-panel--description ul,
  body.single-product .woocommerce-Tabs-panel--description ol {
    display: block !important;
    list-style: disc !important;
    padding-left: 20px !important;
  }

  body.single-product .woocommerce-tabs #tab-description li,
  body.single-product .woocommerce-Tabs-panel--description li {
    padding: 0 !important;
    margin: 0 0 10px !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.single-product .woocommerce-tabs #tab-description li::before,
  body.single-product .woocommerce-Tabs-panel--description li::before {
    display: none !important;
  }

  body.single-product .related ul.products,
  body.single-product .upsells ul.products,
  body.single-product .related .products,
  body.single-product .upsells .products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.single-product .related ul.products > li,
  body.single-product .upsells ul.products > li,
  body.single-product .related .products > li,
  body.single-product .upsells .products > li {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
    list-style: none !important;
  }
  body.single-product .related ul.products > li img,
  body.single-product .upsells ul.products > li img,
  body.single-product .related .products > li img,
  body.single-product .upsells .products > li img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }
  /* tighter gap on phones handled in 480px block below */

  .ast-header-break-point .ast-mobile-header-content,
  .ast-header-break-point .ast-mobile-header-content .ast-builder-layout-element,
  .ast-header-break-point .ast-mobile-header-content .ast-builder-menu,
  .ast-header-break-point .ast-mobile-header-content .main-navigation,
  .ast-header-break-point .ast-mobile-header-content .main-header-menu,
  .ast-header-break-point .main-header-menu,
  .ast-header-break-point .main-navigation ul,
  .ast-mobile-popup-drawer,
  .ast-mobile-popup-drawer .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer .ast-mobile-popup-content,
  .ast-mobile-popup-drawer .main-navigation,
  .ast-mobile-popup-drawer .main-header-menu {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .ast-header-break-point .ast-mobile-header-content,
  .ast-mobile-popup-drawer .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer .ast-mobile-popup-content {
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    padding: 10px !important;
    background: #fff9f5 !important;
  }

  .ast-header-break-point .main-header-menu,
  .ast-mobile-popup-drawer .main-header-menu {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .ast-header-break-point .main-header-menu .menu-item,
  .ast-mobile-popup-drawer .main-header-menu .menu-item {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    display: block !important;
  }

  .ast-header-break-point .main-header-menu .menu-item > a,
  .ast-mobile-popup-drawer .main-header-menu .menu-item > a,
  .ast-header-break-point .main-header-menu .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .menu-link {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 13px 16px !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    border: 1px solid rgba(24, 24, 27, 0.08) !important;
    color: var(--co-text) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    text-decoration: none !important;
  }

  .ast-header-break-point .main-header-menu .sub-menu,
  .ast-mobile-popup-drawer .main-header-menu .sub-menu {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    column-count: 1 !important;
  }

  .ast-header-break-point .ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle,
  .ast-mobile-popup-drawer .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    border-radius: 10px !important;
    right: 4px !important;
  }
}

/* v50 / 2.0.6 — trava mobile definitivo: sem menu aberto por padrão, sem scroll lateral e produto em largura real. */
@media (max-width: 921px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    position: relative !important;
  }

  body,
  body * {
    box-sizing: border-box !important;
  }

  body .site,
  body #page,
  body .site-content,
  body .ast-container,
  body .content-area,
  body #primary,
  body .site-main,
  body .entry-content,
  body .woocommerce,
  body .ast-woocommerce-container {
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: clip !important;
  }

  body.single-product .site-content > .ast-container,
  body.single-product .ast-container,
  body.single-product .content-area,
  body.single-product #primary,
  body.single-product .site-main,
  body.single-product .ast-woocommerce-container,
  body.single-product .woocommerce,
  body.single-product div.product {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-product div.product .woocommerce-tabs,
  body.single-product .woocommerce-tabs,
  body.single-product .woocommerce-Tabs-panel--description,
  body.single-product #tab-description {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
  }

  body.single-product .woocommerce-tabs {
    padding: 10px 8px !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }

  body.single-product .woocommerce-tabs .panel,
  body.single-product .woocommerce-tabs .wc-tab,
  body.single-product .woocommerce-Tabs-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px 10px !important;
    border-radius: 12px !important;
  }

  body.single-product #tab-description,
  body.single-product .woocommerce-tabs #tab-description,
  body.single-product #tab-description p,
  body.single-product .woocommerce-tabs #tab-description p,
  body.single-product #tab-description li,
  body.single-product .woocommerce-tabs #tab-description li,
  body.single-product #tab-description strong,
  body.single-product .woocommerce-tabs #tab-description strong,
  body.single-product #tab-description span,
  body.single-product .woocommerce-tabs #tab-description span,
  body.single-product .woocommerce-Tabs-panel--description,
  body.single-product .woocommerce-Tabs-panel--description p,
  body.single-product .woocommerce-Tabs-panel--description li,
  body.single-product .woocommerce-Tabs-panel--description strong,
  body.single-product .woocommerce-Tabs-panel--description span {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    white-space: normal !important;
  }

  body.single-product #tab-description h1,
  body.single-product .woocommerce-tabs #tab-description h1,
  body.single-product #tab-description h2,
  body.single-product .woocommerce-tabs #tab-description h2,
  body.single-product #tab-description h3,
  body.single-product .woocommerce-tabs #tab-description h3,
  body.single-product #tab-description h4,
  body.single-product .woocommerce-tabs #tab-description h4,
  body.single-product .woocommerce-Tabs-panel--description h1,
  body.single-product .woocommerce-Tabs-panel--description h2,
  body.single-product .woocommerce-Tabs-panel--description h3,
  body.single-product .woocommerce-Tabs-panel--description h4 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 12px !important;
    padding-left: 10px !important;
    font-size: clamp(1.35rem, 7vw, 2rem) !important;
    line-height: 1.16 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  body.single-product #tab-description p,
  body.single-product .woocommerce-tabs #tab-description p,
  body.single-product #tab-description li,
  body.single-product .woocommerce-tabs #tab-description li,
  body.single-product .woocommerce-Tabs-panel--description p,
  body.single-product .woocommerce-Tabs-panel--description li {
    font-size: 16px !important;
    line-height: 1.72 !important;
  }

  /* Apenas o popup off-canvas fica oculto até ser ativado. NÃO ocultar o
     .ast-mobile-header-content (é a barra do topo que contém o trigger do
     hambúrguer, busca e carrinho). */
  .ast-mobile-popup-drawer:not(.active) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .ast-mobile-popup-drawer.active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Garante que o botão hambúrguer (trigger do menu) apareça no mobile */
  .ast-header-break-point .ast-button-wrap,
  .ast-header-break-point .ast-mobile-menu-buttons,
  .ast-header-break-point .menu-toggle,
  .ast-header-break-point .ast-mobile-menu-trigger-fill,
  .ast-header-break-point .ast-mobile-menu-trigger-minimal,
  .ast-header-break-point .ast-mobile-menu-trigger-outline,
  .ast-header-break-point [class*="ast-mobile-menu-trigger"] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .ast-mobile-popup-drawer.active {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    z-index: 999999 !important;
    overflow: hidden !important;
    background: rgba(24, 24, 27, 0.28) !important;
  }

  .ast-mobile-popup-drawer.active .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer.active .ast-mobile-popup-content {
    width: min(100vw, 420px) !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .ast-mobile-popup-drawer.active .main-header-menu,
  .ast-header-break-point .ast-builder-menu-mobile .main-navigation.toggled .main-header-menu,
  .ast-header-break-point .ast-mobile-header-content.toggle-on .main-header-menu,
  .ast-header-break-point .main-header-bar-navigation.toggle-on .main-header-menu {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .ast-header-break-point .main-header-menu .menu-item-has-children > .sub-menu,
  .ast-mobile-popup-drawer .main-header-menu .menu-item-has-children > .sub-menu {
    display: none !important;
    visibility: hidden !important;
    max-height: 0 !important;
    overflow: hidden !important;
  }

  .ast-header-break-point .main-header-menu .menu-item-has-children.ast-submenu-expanded > .sub-menu,
  .ast-header-break-point .main-header-menu .menu-item-has-children.focus > .sub-menu,
  .ast-header-break-point .main-header-menu .menu-item-has-children > .ast-menu-toggle[aria-expanded="true"] ~ .sub-menu,
  .ast-mobile-popup-drawer .main-header-menu .menu-item-has-children.ast-submenu-expanded > .sub-menu,
  .ast-mobile-popup-drawer .main-header-menu .menu-item-has-children.focus > .sub-menu,
  .ast-mobile-popup-drawer .main-header-menu .menu-item-has-children > .ast-menu-toggle[aria-expanded="true"] ~ .sub-menu {
    display: block !important;
    visibility: visible !important;
    max-height: 60vh !important;
    overflow-y: auto !important;
  }
}

@media (max-width: 480px) {
  body.single-product .woocommerce-tabs {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  body.single-product .woocommerce-tabs .panel,
  body.single-product .woocommerce-tabs .wc-tab,
  body.single-product .woocommerce-Tabs-panel {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* v53 / 2.0.9 — menu mobile controlado pelo tema, fechado por padrão. */
.aco-mobile-nav-shell {
  display: none;
}

@media (max-width: 921px) {
  body.aco-mobile-menu-open {
    overflow: hidden !important;
    touch-action: none;
  }

  .ast-mobile-popup-drawer,
  .ast-header-break-point .ast-mobile-header-content .ast-builder-menu,
  .ast-header-break-point .ast-mobile-header-content .main-navigation,
  .ast-header-break-point .ast-mobile-header-content .main-header-menu,
  .ast-header-break-point .main-header-bar-navigation,
  .ast-header-break-point .main-header-menu-toggle,
  .ast-header-break-point .ast-mobile-menu-buttons,
  .ast-header-break-point .menu-toggle,
  .ast-header-break-point .ast-builder-menu-mobile .ast-button-wrap,
  .ast-header-break-point [class*="ast-mobile-menu-trigger"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .aco-mobile-nav-shell {
    display: block;
    width: 100%;
    max-width: 100vw;
    background: rgba(255, 249, 245, 0.96);
    border-bottom: 1px solid rgba(241, 221, 210, 0.9);
    box-shadow: 0 8px 22px rgba(34, 19, 11, 0.04);
    position: relative;
    z-index: 50;
  }

  .aco-mobile-nav-bar {
    width: min(calc(100% - 20px), 1240px);
    min-height: 50px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  .aco-mobile-menu-button,
  .aco-mobile-menu-close,
  .aco-submenu-toggle {
    appearance: none;
    border: 0 !important;
    cursor: pointer;
    font: inherit;
  }

  .aco-mobile-menu-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 15px !important;
    border-radius: 12px !important;
    background: #18181b !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px rgba(24, 24, 27, 0.16) !important;
    font-size: 14px;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  .aco-mobile-menu-icon {
    width: 18px;
    display: grid;
    gap: 4px;
  }

  .aco-mobile-menu-icon span {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
  }

  .aco-mobile-menu-panel[hidden] {
    display: none !important;
  }

  .aco-mobile-menu-panel {
    position: fixed;
    inset: 0;
    z-index: 999999;
    width: 100vw;
    max-width: 100vw;
    display: block;
    overflow: hidden;
  }

  .aco-mobile-menu-backdrop {
    position: absolute;
    inset: 0;
    display: block !important;
    width: 100%;
    height: 100%;
    padding: 0 !important;
    border-radius: 0 !important;
    background: rgba(24, 24, 27, 0.34) !important;
    box-shadow: none !important;
    opacity: 0;
    transition: opacity 0.18s ease;
  }

  .aco-mobile-menu-drawer {
    position: absolute;
    top: 0;
    right: 0;
    width: min(88vw, 390px);
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    padding: 16px;
    background: #fff9f5;
    border-left: 1px solid rgba(241, 221, 210, 0.9);
    box-shadow: -20px 0 42px rgba(24, 24, 27, 0.18);
    overflow-y: auto;
    overflow-x: hidden;
    transform: translateX(100%);
    transition: transform 0.2s ease;
  }

  .aco-mobile-menu-panel.is-open .aco-mobile-menu-backdrop {
    opacity: 1;
  }

  .aco-mobile-menu-panel.is-open .aco-mobile-menu-drawer {
    transform: translateX(0);
  }

  .aco-mobile-menu-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    margin-bottom: 12px;
    border-bottom: 1px solid rgba(241, 221, 210, 0.95);
  }

  .aco-mobile-menu-head strong {
    font-family: var(--co-font-display);
    font-size: 22px;
    font-weight: 800;
    color: var(--co-text);
  }

  .aco-mobile-menu-close {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px;
    padding: 0 !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: #ffffff !important;
    color: var(--co-text) !important;
    border: 1px solid rgba(24, 24, 27, 0.08) !important;
    box-shadow: none !important;
    font-size: 30px;
    line-height: 1;
  }

  .aco-mobile-menu-list,
  .aco-mobile-menu-list ul,
  .aco-mobile-menu-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .aco-mobile-menu-list {
    display: grid !important;
    gap: 8px;
    width: 100%;
  }

  .aco-mobile-menu-list .menu-item {
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
  }

  .aco-mobile-menu-list .menu-item > a {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    min-height: 50px;
    padding: 13px 50px 13px 15px !important;
    border-radius: 12px;
    background: #ffffff !important;
    border: 1px solid rgba(24, 24, 27, 0.08);
    color: var(--co-text) !important;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none !important;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .aco-mobile-menu-list .sub-menu {
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 4px !important;
    padding: 0 0 0 10px !important;
    display: grid !important;
    gap: 7px;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    column-count: 1 !important;
  }

  .aco-mobile-menu-list .sub-menu[hidden] {
    display: none !important;
  }

  .aco-mobile-menu-list .sub-menu a {
    min-height: 44px;
    background: rgba(255, 255, 255, 0.72) !important;
    font-size: 15px;
    font-weight: 700;
  }

  .aco-submenu-toggle {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: transparent !important;
    color: var(--co-text) !important;
    box-shadow: none !important;
    font-size: 22px;
    line-height: 1;
  }

  .aco-submenu-toggle[aria-expanded="true"] span {
    transform: rotate(180deg);
  }
}

/* v54 / 2.1.0 — menu mobile fechado de verdade, com categorias navegáveis. */
@media (max-width: 921px) {
  html,
  body,
  #page,
  .site {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body.ast-header-break-point .site-header .main-header-menu:not(.aco-mobile-menu-list),
  body.ast-header-break-point .site-header .ast-builder-menu-mobile,
  body.ast-header-break-point .site-header .main-header-bar-navigation,
  body.ast-header-break-point .site-header .ast-mobile-header-content .main-navigation,
  body.ast-header-break-point .ast-mobile-popup-drawer,
  body.ast-header-break-point .ast-mobile-popup-overlay {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body:not(.aco-mobile-menu-open) .aco-mobile-menu-panel,
  .aco-mobile-menu-panel[hidden] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .aco-mobile-menu-panel.is-open {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .aco-mobile-nav-shell {
    display: block !important;
    clear: both !important;
  }

  .aco-mobile-category-block {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(241, 221, 210, 0.95);
  }

  .aco-mobile-category-title {
    display: block;
    margin: 0 0 10px;
    color: var(--co-text);
    font-family: var(--co-font-display);
    font-size: 18px;
    font-weight: 800;
  }

  .aco-mobile-category-grid {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 7px;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .aco-mobile-category-grid li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .aco-mobile-category-grid a,
  .aco-mobile-all-cats-link {
    display: flex !important;
    align-items: center;
    width: 100%;
    min-height: 44px;
    padding: 11px 13px !important;
    border-radius: 12px;
    background: #ffffff !important;
    border: 1px solid rgba(24, 24, 27, 0.08);
    color: var(--co-text) !important;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none !important;
    overflow-wrap: anywhere;
  }

  .aco-mobile-all-cats-link {
    justify-content: center;
    margin-top: 10px;
    background: #18181b !important;
    color: #ffffff !important;
    border-color: #18181b !important;
  }
}

/* v55 / 2.1.1 — home/produto com menu visível, produto sem sobreposição e categoria em 2 colunas. */
@media (max-width: 921px) {
  body .aco-mobile-nav-shell {
    display: block !important;
    width: 100% !important;
    max-width: 100vw !important;
    position: relative !important;
    z-index: 40 !important;
    clear: both !important;
  }

  body.home .aco-mobile-nav-shell,
  body.front-page .aco-mobile-nav-shell,
  body.single-product .aco-mobile-nav-shell,
  body.archive.woocommerce .aco-mobile-nav-shell,
  body.tax-product_cat .aco-mobile-nav-shell {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.single-product div.product {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    clear: both !important;
  }

  body.single-product div.product div.images,
  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product div.summary,
  body.single-product div.product .summary {
    position: static !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  body.single-product div.product div.images,
  body.single-product div.product .woocommerce-product-gallery {
    margin-bottom: 22px !important;
    z-index: 1 !important;
  }

  body.single-product div.product div.images img,
  body.single-product div.product .woocommerce-product-gallery img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.single-product div.product div.summary,
  body.single-product div.product .summary {
    z-index: 2 !important;
    padding: 0 16px 24px !important;
  }

  body.single-product div.product .product_title {
    display: block !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    clear: both !important;
    font-size: clamp(1.75rem, 8vw, 2.35rem) !important;
    line-height: 1.12 !important;
  }

  body.archive.woocommerce ul.products,
  body.archive.woocommerce-page ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_cat.woocommerce-page ul.products,
  body.post-type-archive-product ul.products,
  body.post-type-archive-product.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.archive.woocommerce ul.products li.product,
  body.archive.woocommerce-page ul.products li.product,
  body.tax-product_cat ul.products li.product,
  body.post-type-archive-product ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
  }

  body.archive.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
  body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
    line-height: 1.25 !important;
    padding: 8px 10px 4px !important;
    overflow-wrap: break-word !important;
  }
}

/* v2.1.2 - Desktop hero/container indent fix */
@media (min-width: 922px) {
  .co-container {
    width: min(calc(100% - 96px), var(--co-container)) !important;
  }
  .co-hero-content h1,
  .co-hero-content p,
  .co-hero-actions,
  .co-stats {
    padding-left: 8px;
  }
  .site-header .ast-container,
  .main-header-bar .ast-container {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}

/* v57 / 2.1.3 — reforço mobile: menu presente em qualquer página e cards sem sobreposição. */
@media (max-width: 921px) {
  body .aco-mobile-nav-shell {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100vw !important;
    min-height: 51px !important;
    z-index: 99990 !important;
    clear: both !important;
  }

  body .aco-mobile-nav-bar {
    display: flex !important;
    justify-content: flex-end !important;
  }

  body .aco-mobile-menu-button {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body:not(.aco-mobile-menu-open) .aco-mobile-menu-panel {
    display: none !important;
  }

  body.aco-mobile-menu-open .aco-mobile-menu-panel,
  body.aco-mobile-menu-open .aco-mobile-menu-panel.is-open {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.single-product .site-main,
  body.single-product .content-area,
  body.single-product .ast-woocommerce-container,
  body.single-product div.product,
  body.single-product div.product .summary,
  body.single-product div.product div.images,
  body.single-product div.product .woocommerce-product-gallery {
    overflow: visible !important;
  }

  body.single-product div.product div.images,
  body.single-product div.product .woocommerce-product-gallery {
    order: 1 !important;
    display: block !important;
    position: relative !important;
    float: none !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 16px !important;
  }

  body.single-product div.product div.summary,
  body.single-product div.product .summary {
    order: 2 !important;
    display: block !important;
    position: relative !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 16px 28px !important;
  }

  body.single-product div.product .product_title,
  body.single-product div.product .entry-title {
    position: relative !important;
    z-index: 3 !important;
    margin-top: 0 !important;
  }

  body.tax-product_cat ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.tax-product_cat.woocommerce-page ul.products,
  body.archive.tax-product_cat ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 12px !important;
    row-gap: 16px !important;
  }
}

/* v58 - desktop hero top spacing fix */
@media (min-width: 922px){
  .co-hero{padding-top:230px !important;}
  .co-hero-card{margin-top:24px;}
}

/* v59 / 2.1.5 — shell agora vive dentro do .site-header; força quebra de linha abaixo de cart/search. */
@media (max-width: 921px){
  .site-header .aco-mobile-nav-shell,
  #masthead .aco-mobile-nav-shell{
    display:block !important;
    width:100% !important;
    flex:0 0 100% !important;
    order:99 !important;
    margin:0 !important;
    padding:8px 0 10px !important;
    background:transparent !important;
    border-top:1px solid rgba(241,221,210,0.7) !important;
    box-shadow:none !important;
    position:relative !important;
    z-index:5 !important;
    clear:both !important;
  }
  .site-header .aco-mobile-nav-bar,
  #masthead .aco-mobile-nav-bar{
    width:min(calc(100% - 20px), 1240px) !important;
    margin:0 auto !important;
    display:flex !important;
    justify-content:flex-end !important;
  }
}

/* v60 / 2.1.6 — no mobile, compensa a altura real do header+menu para a imagem da home não ficar por baixo da barra. */
@media (max-width: 921px){
  body.home .co-front-page .co-hero,
  body.front-page .co-front-page .co-hero,
  body.home .co-hero,
  body.front-page .co-hero{
    padding-top:156px !important;
  }

  body.home .co-hero-visual,
  body.front-page .co-hero-visual{
    margin-top:0 !important;
  }
}

@media (max-width: 480px){
  body.home .co-front-page .co-hero,
  body.front-page .co-front-page .co-hero,
  body.home .co-hero,
  body.front-page .co-hero{
    padding-top:164px !important;
  }
}

/* v61 / 2.1.7 — menu no mesmo grupo mobile de busca/carrinho; sem faixa extra sobre o conteúdo. */
@media (max-width: 921px){
  .site-header,
  #masthead{
    z-index:999990 !important;
  }

  .site-header .aco-mobile-nav-shell.aco-mobile-nav-inline,
  #masthead .aco-mobile-nav-shell.aco-mobile-nav-inline{
    display:inline-flex !important;
    width:auto !important;
    max-width:none !important;
    min-height:0 !important;
    flex:0 0 auto !important;
    order:initial !important;
    margin:0 0 0 8px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    clear:none !important;
    position:relative !important;
    z-index:20 !important;
    vertical-align:middle !important;
  }

  .site-header .aco-mobile-nav-shell.aco-mobile-nav-inline .aco-mobile-nav-bar,
  #masthead .aco-mobile-nav-shell.aco-mobile-nav-inline .aco-mobile-nav-bar{
    width:auto !important;
    min-height:0 !important;
    margin:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .site-header .aco-mobile-nav-shell.aco-mobile-nav-inline .aco-mobile-menu-button,
  #masthead .aco-mobile-nav-shell.aco-mobile-nav-inline .aco-mobile-menu-button{
    min-height:40px !important;
    height:40px !important;
    padding:0 12px !important;
    white-space:nowrap !important;
  }

  body.home .co-front-page .co-hero,
  body.front-page .co-front-page .co-hero,
  body.home .co-hero,
  body.front-page .co-hero{
    padding-top:96px !important;
  }
}

@media (max-width: 480px){
  body.home .co-front-page .co-hero,
  body.front-page .co-front-page .co-hero,
  body.home .co-hero,
  body.front-page .co-hero{
    padding-top:92px !important;
  }
}

/* v62 / 2.1.8 — página do curso: imagem/galeria sempre visível e antes da descrição. */
body.single-product div.product div.images,
body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .woocommerce-product-gallery__wrapper,
body.single-product div.product .woocommerce-product-gallery__image,
body.single-product div.product .woocommerce-product-gallery__image a,
body.single-product div.product .woocommerce-product-gallery__image img{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.single-product div.product div.images,
body.single-product div.product .woocommerce-product-gallery{
  position:relative !important;
  z-index:2 !important;
  overflow:visible !important;
  min-height:1px !important;
}

body.single-product div.product .woocommerce-product-gallery__image img,
body.single-product div.product div.images img{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

@media (max-width: 921px){
  body.single-product div.product div.images,
  body.single-product div.product .woocommerce-product-gallery{
    order:1 !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 20px !important;
    padding:0 14px !important;
  }

  body.single-product div.product div.summary,
  body.single-product div.product .summary{
    order:2 !important;
  }
}

/* v63 / 2.1.9 — painel mobile em camada própria acima do site, com espaçamento real dos links. */
@media (max-width: 921px){
  body.aco-mobile-menu-open{
    overflow:hidden !important;
  }

  body > .aco-mobile-menu-panel,
  .aco-mobile-menu-panel{
    position:fixed !important;
    inset:0 !important;
    z-index:2147483647 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    display:block !important;
    overflow:hidden !important;
    isolation:isolate !important;
  }

  body:not(.aco-mobile-menu-open) > .aco-mobile-menu-panel,
  body:not(.aco-mobile-menu-open) .aco-mobile-menu-panel,
  body > .aco-mobile-menu-panel[hidden],
  .aco-mobile-menu-panel[hidden]{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  body.aco-mobile-menu-open > .aco-mobile-menu-panel,
  body.aco-mobile-menu-open .aco-mobile-menu-panel.is-open{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .aco-mobile-menu-backdrop{
    position:fixed !important;
    inset:0 !important;
    z-index:1 !important;
    display:block !important;
    background:rgba(24,24,27,0.52) !important;
    opacity:1 !important;
  }

  .aco-mobile-menu-drawer{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    left:auto !important;
    bottom:0 !important;
    z-index:2 !important;
    width:min(92vw, 430px) !important;
    max-width:calc(100vw - 18px) !important;
    height:100dvh !important;
    max-height:100dvh !important;
    padding:26px 22px 34px !important;
    background:#fff9f5 !important;
    border-left:1px solid rgba(241,221,210,0.95) !important;
    box-shadow:-26px 0 56px rgba(24,24,27,0.28) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    transform:translateX(100%) !important;
    transition:transform 0.2s ease !important;
  }

  .aco-mobile-menu-panel.is-open .aco-mobile-menu-drawer{
    transform:translateX(0) !important;
  }

  .aco-mobile-menu-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    margin:0 0 22px !important;
    padding:0 0 18px !important;
  }

  .aco-mobile-menu-list,
  .aco-mobile-category-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
  }

  .aco-mobile-menu-list .menu-item > a,
  .aco-mobile-category-grid a,
  .aco-mobile-all-cats-link{
    min-height:56px !important;
    padding:16px 58px 16px 18px !important;
    border-radius:14px !important;
    background:#ffffff !important;
    border:1px solid rgba(24,24,27,0.10) !important;
    box-shadow:0 8px 18px rgba(34,19,11,0.05) !important;
  }

  .aco-mobile-menu-list .sub-menu{
    gap:10px !important;
    margin:10px 0 2px !important;
    padding-left:12px !important;
  }

  .aco-mobile-category-block{
    margin-top:24px !important;
    padding-top:22px !important;
  }

  .aco-mobile-menu-close{
    flex:0 0 46px !important;
    width:46px !important;
    height:46px !important;
  }
}

/* v64 / 2.2.0 — imagem do curso renderizada dentro do resumo, antes do título. */
body.single-product .aco-single-course-image{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  max-width:620px !important;
  margin:0 0 24px !important;
  padding:14px !important;
  border-radius:24px !important;
  background:#ffffff !important;
  border:1px solid rgba(241,221,210,0.95) !important;
  box-shadow:0 18px 42px rgba(34,19,11,0.08) !important;
  overflow:hidden !important;
  clear:both !important;
}

body.single-product .aco-single-course-image img,
body.single-product .aco-single-course-image-img{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  border-radius:18px !important;
  object-fit:contain !important;
}

@media (max-width: 921px){
  body.single-product .aco-single-course-image{
    max-width:100% !important;
    margin:0 0 22px !important;
    padding:12px !important;
    border-radius:22px !important;
  }
}

/* v65 / 2.2.1 — home mobile: ações alinhadas/espaçadas e banner sem corte pelo menu. */
@media (max-width: 921px){
  .site-header .aco-mobile-actions-row,
  #masthead .aco-mobile-actions-row{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:22px !important;
    width:100% !important;
    max-width:100% !important;
    min-height:82px !important;
    padding:14px 14px 16px !important;
    margin:0 !important;
    background:rgba(255,249,245,0.96) !important;
    border-top:1px solid rgba(241,221,210,0.65) !important;
    border-bottom:1px solid rgba(241,221,210,0.82) !important;
    box-sizing:border-box !important;
  }

  .site-header .aco-mobile-actions-row > *,
  #masthead .aco-mobile-actions-row > *{
    flex:0 0 auto !important;
    margin:0 !important;
    position:relative !important;
    top:auto !important;
    right:auto !important;
    left:auto !important;
    bottom:auto !important;
    transform:none !important;
  }

  .site-header .aco-mobile-actions-row .ast-site-header-cart,
  .site-header .aco-mobile-actions-row .ast-header-woo-cart,
  .site-header .aco-mobile-actions-row .ast-header-search,
  .site-header .aco-mobile-actions-row .ast-search-menu-icon,
  #masthead .aco-mobile-actions-row .ast-site-header-cart,
  #masthead .aco-mobile-actions-row .ast-header-woo-cart,
  #masthead .aco-mobile-actions-row .ast-header-search,
  #masthead .aco-mobile-actions-row .ast-search-menu-icon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:46px !important;
    height:46px !important;
    line-height:1 !important;
  }

  .site-header .aco-mobile-actions-row .aco-mobile-nav-shell.aco-mobile-nav-inline,
  #masthead .aco-mobile-actions-row .aco-mobile-nav-shell.aco-mobile-nav-inline{
    margin:0 !important;
  }

  .site-header .aco-mobile-actions-row .aco-mobile-menu-button,
  #masthead .aco-mobile-actions-row .aco-mobile-menu-button{
    height:46px !important;
    min-height:46px !important;
    padding:0 18px !important;
    border-radius:15px !important;
  }

  body.home .co-front-page .co-hero,
  body.front-page .co-front-page .co-hero,
  body.home .co-hero,
  body.front-page .co-hero{
    padding-top:126px !important;
  }

  body.home .co-hero-visual,
  body.front-page .co-hero-visual{
    max-width:min(100%, 620px) !important;
    margin:0 auto !important;
  }
}

@media (max-width: 480px){
  .site-header .aco-mobile-actions-row,
  #masthead .aco-mobile-actions-row{
    gap:18px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body.home .co-front-page .co-hero,
  body.front-page .co-front-page .co-hero,
  body.home .co-hero,
  body.front-page .co-hero{
    padding-top:132px !important;
  }
}

/* v66 / 2.2.2 — página do curso: imagem no topo e recuo mobile contra a barra do menu. */
body.single-product .site-content,
body.single-product .ast-container,
body.single-product #primary,
body.single-product .site-main,
body.single-product .ast-woocommerce-container{
  overflow:visible !important;
}

body.single-product .aco-single-course-image-top{
  width:min(100% - 32px, 720px) !important;
  max-width:720px !important;
  margin:34px auto 28px !important;
}

body.single-product .aco-single-course-image-summary{
  margin-top:0 !important;
}

@media (max-width: 921px){
  body.single-product .ast-container,
  body.single-product .site-content .ast-container{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body.single-product .site-main,
  body.single-product .ast-woocommerce-container{
    padding-top:0 !important;
  }

  body.single-product .aco-single-course-image,
  body.single-product .aco-single-course-image-top{
    display:block !important;
    width:100% !important;
    max-width:620px !important;
    margin:126px auto 22px !important;
    padding:10px !important;
    border-radius:20px !important;
    box-sizing:border-box !important;
  }

  body.single-product .aco-single-course-image img,
  body.single-product .aco-single-course-image-img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:48vh !important;
    object-fit:contain !important;
    border-radius:16px !important;
  }

  body.single-product div.product{
    margin-top:0 !important;
  }
}

@media (max-width: 480px){
  body.single-product .aco-single-course-image,
  body.single-product .aco-single-course-image-top{
    margin-top:132px !important;
    max-width:100% !important;
  }
}

/* v67 / 2.2.3 — garante o botão Menu visível e bem espaçado ao lado de Carrinho e Pesquisa no mobile. */
@media (max-width: 921px){
  .site-header .aco-mobile-actions-row .aco-mobile-nav-shell,
  #masthead .aco-mobile-actions-row .aco-mobile-nav-shell,
  .site-header .aco-mobile-actions-row .aco-mobile-nav-shell.aco-mobile-nav-inline,
  #masthead .aco-mobile-actions-row .aco-mobile-nav-shell.aco-mobile-nav-inline{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    width:auto !important;
    flex:0 0 auto !important;
    order:99 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    position:relative !important;
    z-index:25 !important;
    pointer-events:auto !important;
  }

  .site-header .aco-mobile-actions-row .aco-mobile-nav-bar,
  #masthead .aco-mobile-actions-row .aco-mobile-nav-bar{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  .site-header .aco-mobile-actions-row .aco-mobile-menu-button,
  #masthead .aco-mobile-actions-row .aco-mobile-menu-button{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    height:46px !important;
    min-height:46px !important;
    padding:0 18px !important;
    border-radius:15px !important;
    background:#18181b !important;
    color:#ffffff !important;
    font-weight:600 !important;
    white-space:nowrap !important;
  }

  /* espaçamento confortável entre Carrinho, Pesquisa e Menu */
  .site-header .aco-mobile-actions-row,
  #masthead .aco-mobile-actions-row{
    gap:24px !important;
    justify-content:space-between !important;
    padding:14px 16px 16px !important;
  }

  .site-header .aco-mobile-actions-row > *,
  #masthead .aco-mobile-actions-row > *{
    margin:0 !important;
  }
}

/* v68 / 2.2.4 — remove a barra mobile original do Astra; fica só a linha final com Carrinho, Pesquisa e Menu. */
@media (max-width: 921px){
  .site-header .ast-mobile-header-wrap,
  #masthead .ast-mobile-header-wrap,
  .site-header .ast-primary-header-bar,
  #masthead .ast-primary-header-bar,
  .site-header .main-header-bar,
  #masthead .main-header-bar{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
  }

  .site-header .aco-mobile-actions-row,
  #masthead .aco-mobile-actions-row{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    min-height:82px !important;
    justify-content:space-between !important;
  }

  .site-header .ast-site-header-cart,
  .site-header .ast-header-woo-cart,
  .site-header .ast-header-search,
  .site-header .ast-search-menu-icon,
  #masthead .ast-site-header-cart,
  #masthead .ast-header-woo-cart,
  #masthead .ast-header-search,
  #masthead .ast-search-menu-icon{
    display:none !important;
    visibility:hidden !important;
  }

  .site-header .aco-mobile-actions-row .ast-site-header-cart,
  .site-header .aco-mobile-actions-row .ast-header-woo-cart,
  .site-header .aco-mobile-actions-row .ast-header-search,
  .site-header .aco-mobile-actions-row .ast-search-menu-icon,
  #masthead .aco-mobile-actions-row .ast-site-header-cart,
  #masthead .aco-mobile-actions-row .ast-header-woo-cart,
  #masthead .aco-mobile-actions-row .ast-header-search,
  #masthead .aco-mobile-actions-row .ast-search-menu-icon{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  body.home .co-front-page .co-hero,
  body.front-page .co-front-page .co-hero,
  body.home .co-hero,
  body.front-page .co-hero{
    padding-top:96px !important;
  }

  body.single-product .aco-single-course-image,
  body.single-product .aco-single-course-image-top{
    margin-top:96px !important;
  }
}

@media (max-width: 480px){
  body.home .co-front-page .co-hero,
  body.front-page .co-front-page .co-hero,
  body.home .co-hero,
  body.front-page .co-hero{
    padding-top:100px !important;
  }

  body.single-product .aco-single-course-image,
  body.single-product .aco-single-course-image-top{
    margin-top:100px !important;
  }
}

/* v71 / 2.2.7 — corrige vazamento do mini-carrinho: mantém só ícone/link no cabeçalho. */
@media (min-width: 922px){
  .site-header .aco-mobile-actions-row,
  #masthead .aco-mobile-actions-row,
  .site-header .aco-mobile-nav-shell.aco-mobile-nav-inline,
  #masthead .aco-mobile-nav-shell.aco-mobile-nav-inline{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }
}

.site-header .ast-site-header-cart .widget_shopping_cart,
.site-header .ast-site-header-cart .widget_shopping_cart_content,
.site-header .ast-site-header-cart .woocommerce-mini-cart,
.site-header .ast-site-header-cart .woocommerce-mini-cart__empty-message,
.site-header .ast-site-header-cart .woocommerce-mini-cart__buttons,
.site-header .ast-header-woo-cart .widget_shopping_cart,
.site-header .ast-header-woo-cart .widget_shopping_cart_content,
.site-header .ast-header-woo-cart .woocommerce-mini-cart,
.site-header .ast-header-woo-cart .woocommerce-mini-cart__empty-message,
.site-header .ast-header-woo-cart .woocommerce-mini-cart__buttons,
#masthead .ast-site-header-cart .widget_shopping_cart,
#masthead .ast-site-header-cart .widget_shopping_cart_content,
#masthead .ast-site-header-cart .woocommerce-mini-cart,
#masthead .ast-site-header-cart .woocommerce-mini-cart__empty-message,
#masthead .ast-site-header-cart .woocommerce-mini-cart__buttons,
#masthead .ast-header-woo-cart .widget_shopping_cart,
#masthead .ast-header-woo-cart .widget_shopping_cart_content,
#masthead .ast-header-woo-cart .woocommerce-mini-cart,
#masthead .ast-header-woo-cart .woocommerce-mini-cart__empty-message,
#masthead .ast-header-woo-cart .woocommerce-mini-cart__buttons{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

/* v72 / 2.2.8 — Corrige imagem duplicada do curso no desktop e CTA empurrada no mobile. */
@media (min-width: 922px) {
  /* Desktop: oculta a imagem extra do topo; mantém a galeria padrão do WooCommerce. */
  body.single-product .aco-single-course-image-top {
    display: none !important;
  }
}
@media (max-width: 921px) {
  /* Mobile: usa apenas a imagem do topo e oculta a galeria padrão para manter a CTA visível logo abaixo do resumo. */
  body.single-product div.product > .woocommerce-product-gallery,
  body.single-product div.product .woocommerce-product-gallery {
    display: none !important;
  }
  body.single-product div.product .summary,
  body.single-product div.product .entry-summary {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
  }
  /* Garante que o botão de comprar fique visível e estilizado dentro do resumo. */
  body.single-product div.product form.cart {
    display: block !important;
    margin: 16px 0 24px !important;
  }
  body.single-product div.product form.cart .button,
  body.single-product div.product form.cart button.single_add_to_cart_button {
    width: 100% !important;
    display: block !important;
  }
}

/* v73 / 2.3.0 — CTA de compra no topo da página do curso no mobile. */
.aco-mobile-course-cta {
  display: none !important;
}

@media (max-width: 921px) {
  body.single-product div.product .summary,
  body.single-product div.product .entry-summary {
    display: flex !important;
    flex-direction: column !important;
  }

  body.single-product div.product .aco-mobile-course-cta {
    display: block !important;
    width: 100% !important;
    margin: 10px 0 18px !important;
    padding: 0 !important;
  }

  body.single-product div.product .summary > form.cart,
  body.single-product div.product .entry-summary > form.cart,
  body.single-product div.product .summary > .cart,
  body.single-product div.product .entry-summary > .cart {
    display: none !important;
  }

  body.single-product div.product .aco-mobile-course-cta form.cart,
  body.single-product div.product .aco-mobile-course-cta .cart {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.single-product div.product .aco-mobile-course-cta .quantity {
    margin: 0 0 10px !important;
  }

  body.single-product div.product .aco-mobile-course-cta .button,
  body.single-product div.product .aco-mobile-course-cta button.single_add_to_cart_button {
    display: block !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    text-align: center !important;
  }
}
