.elementor-kit-11565{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#E5F3FF;--e-global-color-text:#000000;--e-global-color-accent:#000000;--e-global-color-45ab0ce:#4054B2;--e-global-color-7a39d35:#23A455;--e-global-color-2dd43da2:#000;--e-global-color-6fb52c06:#FFF;--e-global-color-9e3cfbf:#F7F1E8;--e-global-color-ade90dc:#F0F7FD;--e-global-color-37dde3f:#BED7ED;--e-global-color-65a9294:#A8A29E;--e-global-color-tvazul:#4C9CE1;--e-global-color-tvceleste:#98CCFD;--e-global-color-tvhielo:#E5F3FF;--e-global-color-tvnoche:#0B1D2E;--e-global-color-tvmarino:#12304B;--e-global-color-tvprofundo:#1D4E7A;--e-global-color-tvtinta:#0E2236;--e-global-color-tvtexto:#3A4A5A;--e-global-color-tvgris:#6B7C8C;--e-global-color-tvlinea:#D6E6F5;--e-global-color-tvfondo:#F5F9FD;--e-global-color-tvblanco:#FFFFFF;--e-global-color-tvazuloscuro:#2C6FA8;--e-global-color-tvverde:#237A47;--e-global-color-tvverdefondo:#E3F6EA;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:500;--e-global-typography-tvdisplay-font-family:"Montserrat";--e-global-typography-tvdisplay-font-size:63px;--e-global-typography-tvdisplay-font-weight:700;--e-global-typography-tvdisplay-text-transform:uppercase;--e-global-typography-tvdisplay-line-height:1em;--e-global-typography-tvdisplay-letter-spacing:-0.045em;--e-global-typography-tvh1-font-family:"Montserrat";--e-global-typography-tvh1-font-size:49px;--e-global-typography-tvh1-font-weight:700;--e-global-typography-tvh1-text-transform:uppercase;--e-global-typography-tvh1-line-height:1em;--e-global-typography-tvh1-letter-spacing:0.04em;--e-global-typography-tvh2-font-family:"Montserrat";--e-global-typography-tvh2-font-size:34px;--e-global-typography-tvh2-font-weight:700;--e-global-typography-tvh2-text-transform:uppercase;--e-global-typography-tvh2-line-height:1.05em;--e-global-typography-tvh2-letter-spacing:0.02em;--e-global-typography-tvh3-font-family:"Montserrat";--e-global-typography-tvh3-font-size:20px;--e-global-typography-tvh3-font-weight:700;--e-global-typography-tvh3-text-transform:uppercase;--e-global-typography-tvh3-line-height:1.25em;--e-global-typography-tvh3-letter-spacing:0.1em;--e-global-typography-tvh4-font-family:"Montserrat";--e-global-typography-tvh4-font-size:16.5px;--e-global-typography-tvh4-font-weight:700;--e-global-typography-tvh4-text-transform:uppercase;--e-global-typography-tvh4-line-height:1.35em;--e-global-typography-tvh4-letter-spacing:0.1em;--e-global-typography-tveyebrow-font-family:"Montserrat";--e-global-typography-tveyebrow-font-size:12.5px;--e-global-typography-tveyebrow-font-weight:700;--e-global-typography-tveyebrow-text-transform:uppercase;--e-global-typography-tveyebrow-line-height:1.4em;--e-global-typography-tveyebrow-letter-spacing:0.16em;--e-global-typography-tvlead-font-family:"Roboto";--e-global-typography-tvlead-font-size:18.5px;--e-global-typography-tvlead-font-weight:400;--e-global-typography-tvlead-line-height:1.65em;--e-global-typography-tvlead-letter-spacing:0em;--e-global-typography-tvbody-font-family:"Roboto";--e-global-typography-tvbody-font-size:16px;--e-global-typography-tvbody-font-weight:400;--e-global-typography-tvbody-line-height:1.65em;--e-global-typography-tvbody-letter-spacing:0em;--e-global-typography-tvsmall-font-family:"Roboto";--e-global-typography-tvsmall-font-size:14.5px;--e-global-typography-tvsmall-font-weight:400;--e-global-typography-tvsmall-line-height:1.55em;--e-global-typography-tvsmall-letter-spacing:0em;--e-global-typography-tvboton-font-family:"Montserrat";--e-global-typography-tvboton-font-size:14.5px;--e-global-typography-tvboton-font-weight:700;--e-global-typography-tvboton-line-height:1.2em;--e-global-typography-tvboton-letter-spacing:0em;--e-global-typography-tvcjk-font-family:"Shippori Mincho B1";--e-global-typography-tvcjk-font-size:44px;--e-global-typography-tvcjk-font-weight:800;--e-global-typography-tvcjk-line-height:1em;--e-global-typography-tvcjk-letter-spacing:0em;--e-global-typography-tvprecio-font-family:"Montserrat";--e-global-typography-tvprecio-font-size:26px;--e-global-typography-tvprecio-font-weight:800;--e-global-typography-tvprecio-line-height:1.1em;--e-global-typography-tvprecio-letter-spacing:-0.02em;--e-global-typography-tvh25-font-family:"Montserrat";--e-global-typography-tvh25-font-size:28px;--e-global-typography-tvh25-font-weight:800;--e-global-typography-tvh25-line-height:1.15em;--e-global-typography-tvh25-letter-spacing:-0.025em;--e-global-typography-tvidioma-font-family:"Montserrat";--e-global-typography-tvidioma-font-size:38px;--e-global-typography-tvidioma-font-weight:800;--e-global-typography-tvidioma-line-height:1.05em;--e-global-typography-tvidioma-letter-spacing:-0.03em;--e-global-typography-tvimporte-font-family:"Montserrat";--e-global-typography-tvimporte-font-size:40px;--e-global-typography-tvimporte-font-weight:800;--e-global-typography-tvimporte-line-height:1em;--e-global-typography-tvimporte-letter-spacing:-0.03em;background-color:#F8F8F8;}.elementor-kit-11565 button,.elementor-kit-11565 input[type="button"],.elementor-kit-11565 input[type="submit"],.elementor-kit-11565 .elementor-button{background-color:var( --e-global-color-primary );color:var( --e-global-color-text );border-radius:20px 20px 20px 20px;}.elementor-kit-11565 e-page-transition{background-color:#FFBC7D;}.elementor-kit-11565 a{color:#000000;}.elementor-kit-11565 a:hover{color:#000000E6;}.elementor-kit-11565 img{border-radius:10px 10px 10px 10px;}.elementor-kit-11565 input:not([type="button"]):not([type="submit"]),.elementor-kit-11565 textarea,.elementor-kit-11565 .elementor-field-textual{border-radius:10px 10px 10px 10px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-11565{--e-global-typography-tvdisplay-font-size:64px;--e-global-typography-tvh1-font-size:54px;--e-global-typography-tvh2-font-size:42px;--e-global-typography-tvh3-font-size:20px;--e-global-typography-tvh4-font-size:16.5px;--e-global-typography-tveyebrow-font-size:12.5px;--e-global-typography-tvlead-font-size:18px;--e-global-typography-tvbody-font-size:16px;--e-global-typography-tvsmall-font-size:14.5px;--e-global-typography-tvboton-font-size:14.5px;--e-global-typography-tvcjk-font-size:40px;--e-global-typography-tvprecio-font-size:26px;--e-global-typography-tvh25-font-size:26px;--e-global-typography-tvidioma-font-size:30px;--e-global-typography-tvimporte-font-size:36px;}.elementor-kit-11565 img{border-radius:6px 6px 6px 6px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-11565{--e-global-typography-tvdisplay-font-size:44px;--e-global-typography-tvh1-font-size:40px;--e-global-typography-tvh2-font-size:32px;--e-global-typography-tvh3-font-size:19px;--e-global-typography-tvh4-font-size:16px;--e-global-typography-tveyebrow-font-size:12px;--e-global-typography-tvlead-font-size:17px;--e-global-typography-tvbody-font-size:15.5px;--e-global-typography-tvsmall-font-size:14px;--e-global-typography-tvboton-font-size:14px;--e-global-typography-tvcjk-font-size:30px;--e-global-typography-tvprecio-font-size:24px;--e-global-typography-tvh25-font-size:24px;--e-global-typography-tvidioma-font-size:28px;--e-global-typography-tvimporte-font-size:34px;}.elementor-kit-11565 img{border-radius:6px 6px 6px 6px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.grecaptcha-badge {
bottom: 40px !important;
}

@media only screen and (min-width: 767px) {
header {padding-left: 0px;}
main {padding-top:50px;}


.woocommerce-error, .woocommerce-info, .woocommerce-message {
	margin: 50px 50px 0px 50px;
	
}
}
img.wp-post-image {
pointer-events:none !important;}

/* Inicio: tarjetas con 40px iguales a cada lado en PC */
@media (min-width:1025px){
.elementor-17274 > .e-parent{padding-left:40px !important;padding-right:40px !important;}
.elementor-17274 .elementor-element-7e3686e,.elementor-17274 .elementor-element-4cb7db2{padding-left:0 !important;padding-right:0 !important;}
.elementor-17274 .elementor-element-7e3686e > .e-con,.elementor-17274 .elementor-element-f6d079a > .e-con,.elementor-17274 .elementor-element-32255cd > .e-con{flex-grow:1;}
}
/* TRAVINAE-2026 inicio · no editar a mano: se regenera */
:root {
  --tv-blue: var(--e-global-color-tvazul, #4C9CE1); --tv-sky: var(--e-global-color-tvceleste, #98CCFD); --tv-ice: var(--e-global-color-tvhielo, #E5F3FF);
  --tv-blue-ink: var(--e-global-color-tvazuloscuro, #2C6FA8); --tv-deep: var(--e-global-color-tvnoche, #0B1D2E); --tv-deep2: var(--e-global-color-tvmarino, #12304B);
  --tv-deep3: var(--e-global-color-tvprofundo, #1D4E7A); --tv-ink: var(--e-global-color-tvtinta, #0E2236); --tv-text: var(--e-global-color-tvtexto, #3A4A5A);
  --tv-muted: var(--e-global-color-tvgris, #6B7C8C); --tv-line: var(--e-global-color-tvlinea, #D6E6F5); --tv-bg: var(--e-global-color-tvfondo, #F5F9FD);
  --tv-ok: var(--e-global-color-tvverde, #237A47); --tv-ok-bg: var(--e-global-color-tvverdefondo, #E3F6EA);
  --tv-title: var(--e-global-typography-tvh2-font-family, "Montserrat"), "Shippori Mincho B1", sans-serif;
  --tv-body: var(--e-global-typography-tvbody-font-family, "Roboto"), "Shippori Mincho B1", sans-serif;
  --tv-cjk: var(--e-global-typography-tvcjk-font-family, "Shippori Mincho B1"), serif;
  --tv-header-h: 88px;
}
@media (max-width: 767px) { :root { --tv-header-h: 128px; } }
.tv-lang { position: relative; --page-title-display: block; } 
main .tv-lang, .elementor-location-single .tv-lang, .elementor-location-archive .tv-lang { background: #fff; } 
body .tv-fonts { display: none; }
body .tv-lang .e-con, body .tv-lang .elementor-widget, body .tv-header .e-con { min-width: 0; }
body .tv-lang .elementor-widget-html:has(.tv-marquee) { width: 100%; overflow: hidden; }
body .tv-nav .elementor-nav-menu--main .tv-menu-mobile { display: none; }
html { scroll-behavior: smooth; }
body .tv-lang a { text-decoration: none; }
body [class*="tv-"] .elementor-heading-title { color: var(--tv-ink); margin: 0; }
body [class*="tv-"] .elementor-widget-text-editor, body .tv-lang .elementor-widget-text-editor { color: var(--tv-text); }
body .tv-lang .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body .tv-eyebrow .elementor-heading-title { color: var(--tv-blue); }
body .tv-grad, body .tv-lang .tv-grad { background: linear-gradient(95deg, var(--tv-sky) 0%, var(--tv-ice) 45%, var(--tv-blue) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
body span.tv-grad { padding-inline: .08em; margin-inline: -.08em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
body .tv-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--tv-ice); color: var(--tv-ink); font-family: var(--tv-title); font-weight: 700; font-size: 12px; line-height: 1.3; }
body .tv-pill.ok { background: var(--tv-ok-bg); color: var(--tv-ok); }
body .tv-pill.muted { background: #EEF2F6; color: var(--tv-muted); }
body .tv-lang strong { color: var(--tv-ink); }
body .tv-btn .elementor-button { border-radius: 999px; padding: 14px 24px; font-family: var(--tv-title); font-weight: 700; font-size: 14.5px; line-height: 1.2; white-space: nowrap; border: 0; transition: transform .25s, background-color .25s, box-shadow .25s, color .25s, border-color .25s; }
body .tv-btn .elementor-button:hover { transform: translateY(-2px); }
body .tv-btn-sm .elementor-button { padding: 10px 18px; font-size: 13.5px; }
body .tv-btn-blue .elementor-button { background: var(--tv-blue); color: var(--tv-deep); box-shadow: 0 10px 30px rgba(76,156,225,.30); }
body .tv-btn-blue .elementor-button:hover { background: var(--tv-sky); color: var(--tv-deep); }
body .tv-btn-glass .elementor-button { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); color: #fff; }
body .tv-btn-glass .elementor-button:hover { background: rgba(255,255,255,.16); color: #fff; }
body .tv-btn-dark .elementor-button { background: var(--tv-ink); color: #fff; }
body .tv-btn-dark .elementor-button:hover { background: var(--tv-deep3); color: #fff; }
body .tv-btn-line .elementor-button { border: 1.5px solid var(--tv-line); background: #fff; color: var(--tv-ink); }
body .tv-btn-line .elementor-button:hover { border-color: var(--tv-blue); color: var(--tv-ink); }
body .tv-btn .elementor-button-icon svg { width: 1em; fill: currentColor; }
body .tv-actions { display: flex; flex-wrap: wrap; gap: 10px; }
body .tv-top { position: relative; overflow: hidden; color: #fff; background: radial-gradient(1100px 560px at 12% -20%, #1F5A8C 0%, transparent 60%), radial-gradient(900px 500px at 96% 20%, #245F92 0%, transparent 55%), var(--tv-deep); }
body .tv-top > .e-con-inner, body .tv-top > .e-con { position: relative; z-index: 2; }
body .tv-ghost { position: absolute !important; right: -40px; bottom: -110px; width: auto !important; z-index: 0 !important; pointer-events: none; user-select: none; }
body .tv-ghost .elementor-heading-title { font-family: var(--tv-cjk); font-weight: 800; font-size: 460px; line-height: 1; color: rgba(152,204,253,.06) !important; }
body .tv-top .elementor-heading-title { color: #fff; }
body .tv-top .tv-eyebrow .elementor-heading-title, body .tv-dark .tv-eyebrow .elementor-heading-title { color: var(--tv-sky); }
body .tv-top .elementor-widget-text-editor { color: rgba(229,243,255,.78); }
body .tv-kicker .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; color: var(--tv-sky) !important; }
body .tv-kicker .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #5BD18B; box-shadow: 0 0 0 5px rgba(91,209,139,.18); animation: tvPulse 2.4s ease-in-out infinite; }
@keyframes tvPulse { 50% { box-shadow: 0 0 0 9px rgba(91,209,139,.05); } }
body .tv-header { background: radial-gradient(1100px 560px at 12% -60%, #1F5A8C 0%, transparent 60%), var(--tv-deep); position: relative; z-index: 30; }
body:has(.tv-top) .elementor-location-header:has(.tv-header) { position: absolute; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; z-index: 30; }
body:has(.tv-top) .tv-header { background: transparent; }
body:has(.elementor-location-header .tv-header) .tv-top > .tv-first > .e-con-inner { padding-top: calc(var(--tv-header-h) + var(--padding-top, 0px)) !important; }
body main:has(.tv-lang), body main.elementor:has(> .tv-lang) { padding-top: 0 !important; }
body .elementor > .e-parent.tv-lang { padding-left: 0 !important; padding-right: 0 !important; }
body .tv-auto { width: auto !important; flex: 0 0 auto !important; max-width: 100%; }
body .tv-fill { min-width: 0; width: auto !important; flex: 1 1 0px !important; flex-wrap: nowrap !important; }
@media (max-width: 1024px) {
  body .tv-head > .tv-fill { flex: 0 0 auto !important; width: 100% !important; }
}
body .tv-hero { display: grid !important; grid-template-columns: 1.9fr 1fr; gap: 56px; align-items: end; }
body .tv-hero > .e-con { width: auto !important; }
body .tv-hero .tv-h-display .elementor-heading-title { margin-top: 22px; }
body .tv-stats { display: grid !important; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.12); margin-top: 8px; }
body .tv-stats > .e-con { padding-top: 18px !important; }
body .tv-stats .elementor-heading-title { color: #fff; }
body .tv-stats .elementor-widget-text-editor { color: rgba(229,243,255,.6) !important; font-size: 13.5px; }
body .tv-marquee { position: relative; z-index: 2; overflow: hidden; border-top: 1px solid rgba(255,255,255,.10); padding: 20px 0; white-space: nowrap; }
body .tv-marquee .tv-track { display: inline-block; animation: tvSlide 40s linear infinite; font-family: var(--tv-cjk); font-weight: 800; font-size: 26px; line-height: 1.3; color: rgba(152,204,253,.55); }
body .tv-marquee:hover .tv-track { animation-play-state: paused; }
body .tv-marquee span { margin: 0 26px; }
body .tv-marquee em { font-family: var(--tv-body); font-style: normal; font-weight: 400; font-size: 13.5px; color: rgba(229,243,255,.45); margin-left: 10px; }
@keyframes tvSlide { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { body .tv-marquee .tv-track { animation: none; } }
body .tv-phero { max-width: 820px; }
body .tv-phero > .tv-h1 { margin: 18px 0 20px !important; }
body .tv-phero > .tv-actions, body .tv-hero .tv-actions { margin-top: 6px; }
body .tv-products .woocommerce-loop-product__title { font-size: 16.5px !important; }
body .tv-subnav { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 20; background: rgba(255,255,255,.88); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--tv-line); }
body .tv-subnav .elementor-icon-list-items { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; gap: 4px; }
body .tv-subnav .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
body .tv-subnav .elementor-icon-list-item::after { display: none !important; }
body .tv-subnav .elementor-icon-list-item a { padding: 9px 15px; border-radius: 999px; white-space: nowrap; transition: background .2s, color .2s; }
body .tv-subnav .elementor-icon-list-text { font-family: var(--tv-title); font-weight: 700; font-size: 13.5px; color: var(--tv-muted); }
body .tv-subnav a:hover { background: var(--tv-ice); }
body .tv-subnav a:hover .elementor-icon-list-text { color: var(--tv-ink); }
body .tv-alt { background: var(--tv-bg); }
body .tv-head .tv-headp { max-width: 400px !important; }
body .tv-head .tv-headp .elementor-widget-text-editor, body .tv-headp { font-size: 16.5px; }
body .tv-g2, body .tv-g3, body .tv-g4 { display: grid !important; }
body .tv-g2 { grid-template-columns: repeat(2, 1fr); }
body .tv-g3 { grid-template-columns: repeat(3, 1fr); }
body .tv-g4 { grid-template-columns: repeat(4, 1fr); }
body .tv-g2 > .e-con, body .tv-g3 > .e-con, body .tv-g4 > .e-con { width: auto !important; max-width: none; }
body .tv-rows { border-bottom: 1px solid var(--tv-line); }
body .tv-row { display: grid !important; grid-template-columns: 96px 1.1fr 1.2fr auto; gap: 32px; align-items: center; padding: 28px 20px !important; border-top: 1px solid var(--tv-line); background: #fff; transition: background .35s, border-radius .35s, border-color .35s; color: inherit; }
body .tv-row:is(:hover,:focus-visible) { background: var(--tv-ice); border-radius: 24px; border-top-color: transparent; }
body .tv-row:is(:hover,:focus-visible) + .tv-row { border-top-color: transparent; }
body .tv-row:focus-visible { outline: 2px solid var(--tv-blue-ink); outline-offset: 3px; }
body .tv-glyph { width: 84px !important; }
body .tv-glyph .elementor-heading-title { width: 84px; height: 84px; border-radius: 22px; display: grid; place-items: center; font-family: var(--tv-cjk); font-weight: 800; font-size: 44px; line-height: 1; color: var(--tv-deep); background: linear-gradient(135deg, var(--tv-ice), var(--tv-sky)); transition: transform .35s; }
body .tv-row:is(:hover,:focus-visible) .tv-glyph .elementor-heading-title { transform: rotate(-6deg) scale(1.05); }
body .tv-rowtitle .elementor-heading-title small { display: block; margin-top: 6px; font-family: var(--tv-body); font-weight: 500; font-size: 14px; letter-spacing: .02em; color: var(--tv-muted); }
body .tv-rowtitle .elementor-heading-title small span { font-family: var(--tv-cjk); font-weight: 800; color: var(--tv-blue); }
body .tv-rowtext { font-size: 15.5px; }
body .tv-rowtext .tv-pill { margin-top: 8px; }
body .tv-price .elementor-heading-title { text-align: right; }
body .tv-price .elementor-heading-title small, body .tv-amt .elementor-heading-title small { display: block; font-family: var(--tv-body); font-weight: 400; font-size: 12.5px; color: var(--tv-muted); letter-spacing: 0; }
body .tv-arrow .elementor-heading-title { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: var(--tv-ink); color: #fff !important; font-size: 20px; line-height: 1; transition: transform .35s, background .35s, color .35s; }
body .tv-row:is(:hover,:focus-visible) .tv-arrow .elementor-heading-title, body .tv-card-link:hover .tv-arrow .elementor-heading-title { transform: rotate(-45deg); background: var(--tv-blue); color: var(--tv-deep) !important; }
body .tv-note { font-size: 14.5px; }
body .tv-note p { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
body .tv-dark { background: linear-gradient(135deg, var(--tv-deep2) 0%, var(--tv-deep3) 55%, var(--tv-blue) 135%); color: #fff; border-radius: 40px; position: relative; overflow: hidden; }
body .tv-dark::before { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; background: var(--tv-sky); filter: blur(120px); opacity: .22; right: -160px; top: -200px; pointer-events: none; }
body .tv-dark > .e-con, body .tv-dark > .elementor-element { position: relative; }
body .tv-dark .elementor-heading-title { color: #fff; }
body .tv-dark .elementor-widget-text-editor { color: rgba(229,243,255,.78); }
body .tv-glass { padding: 28px !important; border-radius: 26px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transition: transform .35s, background .35s; }
body .tv-glass:hover { transform: translateY(-4px); background: rgba(255,255,255,.10); }
body .tv-n .elementor-heading-title { font-family: var(--tv-title); font-weight: 800; font-size: 14px; letter-spacing: .1em; color: var(--tv-sky) !important; }
body .tv-card .tv-n .elementor-heading-title { color: var(--tv-blue) !important; font-size: 13px; }
body .tv-glass .elementor-widget-text-editor { font-size: 15px; }
body .tv-glass > .tv-glass-h { margin: 14px 0 8px; }
body .tv-bar { padding: 20px 24px !important; border-radius: 22px; background: rgba(11,29,46,.35); border: 1px solid rgba(255,255,255,.10); }
body .tv-bar .elementor-widget-text-editor { color: rgba(229,243,255,.85) !important; font-size: 15px; }
body .tv-bar strong { color: #fff; }
body .tv-card { background: #fff; border: 1px solid var(--tv-line); border-radius: 24px; padding: 28px !important; color: inherit; }
body .tv-card.tv-info { padding: 24px !important; justify-content: flex-start !important; }
body .tv-info .elementor-widget-text-editor { color: var(--tv-muted); font-size: 14px; }
body .tv-studentp, body .tv-studentp p { font-size: 15px; margin: 0; color: var(--tv-ink); }
body .tv-card .elementor-widget-text-editor { font-size: 15px; }
body .tv-card-link { transition: transform .35s, box-shadow .35s, border-color .35s; }
body .tv-card-link:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(14,34,54,.10); border-color: var(--tv-sky); }
body .tv-soft { background: var(--tv-bg); border-color: transparent; }
body .tv-ice { background: var(--tv-ice); border-color: transparent; }
body .tv-more { margin-top: auto !important; padding-top: 8px; }
body .tv-more .elementor-heading-title { font-family: var(--tv-title); font-weight: 700; font-size: 14px; color: var(--tv-blue-ink) !important; }
body .tv-lab .elementor-heading-title { font-family: var(--tv-title); font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--tv-blue-ink); }
body .tv-course { display: grid !important; grid-template-columns: 420px 1fr; gap: 48px; align-items: stretch; padding: 20px !important; border-radius: 36px; background: #fff; border: 1px solid var(--tv-line); }
body .tv-visual { border-radius: 26px; padding: 40px !important; min-height: 360px; justify-content: space-between !important; position: relative; overflow: hidden; background: linear-gradient(150deg, var(--tv-deep) 0%, var(--tv-deep3) 80%, var(--tv-blue) 140%); }
body .tv-visual .elementor-heading-title { color: #fff; }
body .tv-big { position: absolute !important; right: -16px; bottom: -64px; width: auto !important; pointer-events: none; }
body .tv-big .elementor-heading-title { font-family: var(--tv-cjk); font-weight: 800; font-size: 280px; line-height: 1; color: rgba(152,204,253,.14) !important; }
body .tv-visual .tv-pill { background: rgba(255,255,255,.12); color: #fff; }
body .tv-native .elementor-heading-title { color: var(--tv-sky) !important; }
body .tv-info { padding: 24px 16px 24px 0 !important; justify-content: center !important; }
body .tv-course .tv-chips .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; padding: 0; }
body .tv-chips .elementor-icon-list-item { flex: 0 0 auto; width: auto; white-space: nowrap; margin: 0 !important; padding: 7px 13px !important; border-radius: 999px; border: 1px solid var(--tv-line); background: #fff; }
body .tv-chips .elementor-icon-list-item::after { display: none !important; }
body .tv-chips .elementor-icon-list-text { font-size: 13px; font-weight: 500; white-space: nowrap; color: var(--tv-text); padding: 0 !important; }
body .tv-chips .elementor-icon-list-icon { display: none; }
body .tv-facts .elementor-icon-list-item { align-items: flex-start !important; padding-bottom: 10px !important; }
body .tv-facts .elementor-icon-list-icon { display: none; }
body .tv-facts .elementor-icon-list-item::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--tv-blue); margin: 8px 12px 0 4px; flex-shrink: 0; box-shadow: 0 0 0 4px var(--tv-ice); }
body .tv-facts .elementor-icon-list-text { color: var(--tv-text); font-size: 15.5px; line-height: 1.55; padding: 0 !important; }
body .tv-facts b { color: var(--tv-ink); font-weight: 600; }
body .tv-pcard { border-radius: 26px; padding: 28px !important; background: #fff; border: 1px solid var(--tv-line); }
body .tv-pcard .tv-lab .elementor-heading-title { color: var(--tv-muted); }
body .tv-pcard .elementor-widget-text-editor { font-size: 14.5px; }
body .tv-amt .elementor-heading-title small { display: inline; font-size: 14px; margin-left: 4px; }
body .tv-pcard.tv-hl { background: linear-gradient(150deg, var(--tv-deep) 0%, var(--tv-deep3) 100%); border: 0; }
body .tv-hl .elementor-heading-title { color: #fff; }
body .tv-hl .tv-lab .elementor-heading-title, body .tv-hl .tv-amt small { color: var(--tv-sky); }
body .tv-hl .elementor-widget-text-editor { color: rgba(229,243,255,.8); }
body .tv-split { display: grid !important; grid-template-columns: 1fr 1.4fr; gap: 56px; }
body .tv-split.tv-even { grid-template-columns: 1fr 1fr; }
body .tv-sticky { position: sticky !important; top: 90px; align-self: start; }
body .tv-faq .elementor-toggle-item { background: #fff; border: 1px solid var(--tv-line); border-radius: 20px; margin-bottom: 10px; overflow: hidden; transition: border-color .25s; }
body .tv-faq .elementor-toggle-item:has(.elementor-active) { border-color: var(--tv-sky); }
body .tv-faq .elementor-tab-title { padding: 22px 24px !important; border: 0 !important; display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; gap: 16px; }
body .tv-faq .elementor-toggle-title { color: var(--tv-ink) !important; font-family: var(--tv-title); font-weight: 700; font-size: 16.5px; }
body .tv-faq .elementor-toggle-icon { width: 32px !important; height: 32px; border-radius: 50%; background: var(--tv-ice); display: grid !important; place-items: center; flex-shrink: 0; transition: transform .25s, background .25s; }
body .tv-faq .elementor-toggle-icon svg { width: 13px; fill: var(--tv-ink); }
body .tv-faq .elementor-toggle-icon i { font-size: 13px; color: var(--tv-ink); }
body .tv-faq .elementor-active .elementor-toggle-icon { transform: rotate(45deg); background: var(--tv-blue); }
body .tv-faq .elementor-toggle-icon-opened { display: none !important; }
body .tv-faq .elementor-toggle-icon-closed { display: block !important; }
body .tv-faq .elementor-tab-content { padding: 0 24px 22px !important; border: 0 !important; color: var(--tv-text); font-size: 15.5px; }
body .tv-faq .elementor-tab-content a { color: var(--tv-blue-ink); font-weight: 600; }
body .tv-products ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 16px !important; margin: 0 !important; }
body .tv-products ul.products::before, body .tv-products ul.products::after { display: none !important; }
body .tv-products ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; background: #fff; border: 1px solid var(--tv-line); border-radius: 26px; padding: 14px 14px 22px !important; display: flex; flex-direction: column; gap: 8px; transition: transform .35s, box-shadow .35s; }
body .tv-products ul.products li.product:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(14,34,54,.10); }
body .tv-products ul.products li.product a img { border-radius: 18px; aspect-ratio: 1; object-fit: cover; background: var(--tv-ice); margin: 0 0 6px !important; }
body .tv-products .woocommerce-loop-product__title { color: var(--tv-ink) !important; padding: 6px 6px 0 !important; line-height: 1.35 !important; }
body .tv-products .price { color: var(--tv-ink) !important; padding: 0 6px; font-family: var(--tv-title); font-weight: 800; font-size: 20px !important; margin-top: auto !important; }
body .tv-products li.product .button { align-self: center; justify-self: end; max-width: 100%; white-space: normal; text-align: center; line-height: 1.25 !important; margin: 4px 0 0 !important; border-radius: 999px !important; background: var(--tv-ink) !important; color: #fff !important; padding: 10px 15px !important; font-family: var(--tv-title); font-weight: 700; font-size: 13.5px !important; transition: transform .25s, background .25s; }
body .tv-products li.product .button:hover { background: var(--tv-deep3) !important; transform: translateY(-2px); }
body .tv-products ul.products li.product { display: grid !important; grid-template-columns: max-content minmax(0, 1fr); column-gap: 10px; row-gap: 8px; align-content: start; }
body .tv-products ul.products li.product > a.woocommerce-LoopProduct-link { display: contents !important; }
body .tv-products ul.products li.product > a.woocommerce-LoopProduct-link > img { grid-column: 1 / -1; width: 100%; }
body .tv-products ul.products li.product .woocommerce-loop-product__title { grid-column: 1 / -1; margin: 0 !important; }
body .tv-products ul.products li.product .woocommerce-loop-product__title::after { display: block; margin-top: 6px; font-family: var(--tv-body); font-weight: 400; font-size: 12.5px; color: var(--tv-muted); }
body .tv-lang-es .tv-products li.product.downloadable .woocommerce-loop-product__title::after { content: "Descarga inmediata (PDF)"; }
body .tv-lang-ca .tv-products li.product.downloadable .woocommerce-loop-product__title::after { content: "Descàrrega immediata (PDF)"; }
body .tv-lang-es .tv-products li.product.product-type-external .woocommerce-loop-product__title::after { content: "Disponible en Amazon"; }
body .tv-lang-ca .tv-products li.product.product-type-external .woocommerce-loop-product__title::after { content: "Disponible a Amazon"; }
body .tv-products ul.products li.product .price { grid-column: 1; align-self: center; margin: 4px 0 0 !important; line-height: 1.2; }
body .tv-products ul.products li.product .price .woocommerce-price-suffix { display: none; } 
body .tv-products ul.products li.product.post-15363, body .tv-products ul.products li.product.post-15737 { display: none !important; }
body .tv-products ul.products li.product > .button, body .tv-products ul.products li.product > .added_to_cart { grid-column: 2; align-self: center; justify-self: end; margin: 4px 6px 0 0 !important; }
body .tv-products ul.products li.product > .added_to_cart { grid-column: 1 / -1; justify-self: start; font-size: 13px; color: var(--tv-blue-ink); }
body .tv-products .onsale { background: var(--tv-blue); color: var(--tv-deep); border-radius: 999px; font-family: var(--tv-title); }
body .tv-products .woocommerce-pagination ul { border: 0 !important; display: flex; gap: 6px; justify-content: center; margin-top: 24px; }
body .tv-products .woocommerce-pagination li { border: 0 !important; }
body .tv-products .woocommerce-pagination .page-numbers { border-radius: 999px; padding: 9px 15px !important; border: 1px solid var(--tv-line) !important; font-family: var(--tv-title); font-weight: 700; }
body .tv-products .woocommerce-pagination .current { background: var(--tv-ink) !important; color: #fff !important; }
body .tv-panel { background: #fff; border: 1px solid var(--tv-line); border-radius: 28px; padding: 26px !important; }
body .tv-split > .tv-panel, body .tv-split > .e-con-inner > .tv-panel, body .tv-split > .tv-start { align-self: start; }
body .tv-booklist .tv-bookrow { display: flex !important; flex-direction: row !important; justify-content: space-between; gap: 16px; align-items: center; padding: 18px 4px !important; border-bottom: 1px solid var(--tv-line); }
body .tv-booklist .tv-bookrow .elementor-heading-title small { display: block; font-family: var(--tv-body); font-weight: 400; color: var(--tv-muted); font-size: 14px; margin-top: 2px; }
body .tv-bookprice .elementor-heading-title { color: var(--tv-blue-ink) !important; white-space: nowrap; }
body .tv-tl { display: grid !important; grid-template-columns: 56px 1fr; gap: 20px; padding: 26px !important; border-radius: 24px; background: #fff; border: 1px solid var(--tv-line); }
body .tv-dot .elementor-heading-title { width: 56px; height: 56px; border-radius: 18px; display: grid; place-items: center; font-family: var(--tv-title); font-weight: 800; font-size: 18px; background: linear-gradient(135deg, var(--tv-ice), var(--tv-sky)); color: var(--tv-deep) !important; }
body .tv-tl .elementor-widget-text-editor { font-size: 15.5px; }
body .tv-person .tv-who { display: flex !important; flex-direction: row !important; gap: 14px; align-items: center; }
body .tv-avatar { width: 64px !important; height: 64px; flex-shrink: 0; border-radius: 50%; overflow: hidden; position: relative; background: linear-gradient(135deg, var(--tv-ice), var(--tv-sky)); }
body .tv-avatar img { position: absolute; width: 123px !important; max-width: none !important; height: auto !important; left: -30px; top: -20px; border-radius: 0; }
body .tv-role .elementor-heading-title { color: var(--tv-blue-ink) !important; font-family: var(--tv-body); font-weight: 600; font-size: 13.5px; }
body .tv-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 22px; transition: transform .5s; }
body .tv-gallery .elementor-widget-image { overflow: hidden; border-radius: 22px; }
body .tv-gallery .elementor-widget-image:hover img { transform: scale(1.04); }
body .tv-form .elementor-form-fields-wrapper { margin: 0 -7px !important; }
body .tv-form .elementor-field-group { margin-bottom: 14px !important; padding: 0 7px !important; }
body .tv-form .elementor-field-label { color: var(--tv-text); font-size: 14px !important; font-weight: 500 !important; margin-bottom: 6px !important; padding: 0 !important; }
body .tv-form .elementor-field-textual, body .tv-form select.elementor-field { border: 1.5px solid var(--tv-line) !important; border-radius: 14px !important; padding: 13px 16px !important; font-size: 15px !important; line-height: 1.3 !important; color: var(--tv-ink); background: #fff !important; min-height: 0; transition: border-color .2s; }
body .tv-form .elementor-field-type-submit { margin-bottom: 0 !important; }
body .tv-form .elementor-field-type-submit .elementor-button { width: 100%; justify-content: center; }
body .tv-form .elementor-field-type-acceptance .elementor-field-option { display: flex; gap: 10px; align-items: flex-start; }
body .tv-form .elementor-field-type-acceptance input { margin: 3px 0 0 !important; flex-shrink: 0; }
body .tv-form .elementor-field-type-acceptance label { font-size: 13.5px !important; line-height: 1.5 !important; }
body .tv-form .elementor-field-textual, body .tv-form .elementor-field-textual:focus { color: var(--tv-ink) !important; }
body .tv-form .elementor-field-textual::placeholder { color: #8A9AAA !important; opacity: 1; }
body .tv-form .elementor-field-label { color: var(--tv-text) !important; }
body .tv-form .elementor-field-type-acceptance .elementor-field-subgroup label { color: var(--tv-text) !important; }
body .tv-form .elementor-field-textual:focus { outline: none; border-color: var(--tv-blue) !important; box-shadow: 0 0 0 4px rgba(76,156,225,.15); }
body .tv-form textarea.elementor-field-textual { min-height: 130px; }
body .tv-form .elementor-field-type-acceptance label { font-size: 13.5px; color: var(--tv-text); }
body .tv-form .elementor-field-type-acceptance a { color: var(--tv-blue-ink); }
body .tv-form .elementor-button { border-radius: 999px !important; background: var(--tv-ink) !important; color: #fff !important; padding: 15px 28px !important; font-family: var(--tv-title); font-weight: 700; transition: transform .25s, background .25s; }
body .tv-form .elementor-button:hover { background: var(--tv-deep3) !important; transform: translateY(-2px); }
body .tv-form .elementor-message { margin-top: 12px; padding: 14px 16px; border-radius: 14px; font-weight: 500; }
body .tv-form .elementor-message-success { background: var(--tv-ok-bg); color: var(--tv-ok); }
body .tv-form .elementor-message-danger, body .tv-form .elementor-error .elementor-field-textual { color: #A12A2A; }
body .tv-form .elementor-message::before { display: none; }
body .tv-dark .tv-form .elementor-field-label, body .tv-dark .tv-form label { color: rgba(229,243,255,.85); }
body .tv-map iframe, body .tv-map .elementor-custom-embed iframe { border-radius: 24px; filter: saturate(.6); display: block; }
body .tv-cta .elementor-heading-title { text-align: center; }
body .tv-cta h2.elementor-heading-title { max-width: 760px; margin: 0 auto; }
.tvb { display: grid; grid-template-columns: 1fr 390px; gap: 24px; align-items: start; font-family: var(--tv-body); color: var(--tv-ink); }
.tvb button { font: inherit; }
.tvb .tvb-panel { background: #fff; border: 1px solid var(--tv-line); border-radius: 28px; padding: 26px; }
.tvb h2 { font-family: var(--tv-title); font-weight: 800; font-size: 22px; letter-spacing: -.02em; margin: 0; color: inherit; line-height: 1.2; }
.tvb .tvb-sub { color: var(--tv-muted); font-size: 14.5px; margin-top: 4px; }
.tvb .tvb-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; background: var(--tv-bg); padding: 6px; border-radius: 18px; margin: 20px 0 14px; }
.tvb .tvb-tab { border: 0; background: transparent; padding: 12px 6px; border-radius: 13px; font-family: var(--tv-title); font-weight: 700; font-size: 14px; color: var(--tv-muted); display: flex; gap: 8px; align-items: center; justify-content: center; cursor: pointer; }
.tvb .tvb-tab .g { font-family: var(--tv-cjk); font-weight: 800; font-size: 18px; color: var(--tv-blue); }
.tvb .tvb-tab.on { background: #fff; color: var(--tv-ink); box-shadow: 0 4px 14px rgba(14,34,54,.08); }
.tvb .tvb-filters { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.tvb .tvb-chip { border: 1px solid var(--tv-line); background: #fff; border-radius: 999px; padding: 7px 13px; font-size: 13px; font-weight: 500; color: var(--tv-text); cursor: pointer; }
.tvb .tvb-chip.on { background: var(--tv-ink); border-color: var(--tv-ink); color: #fff; }
.tvb .tvb-slots { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tvb .tvb-slot { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 16px 16px 18px; border-radius: 18px; border: 1.5px solid var(--tv-line); background: #fff; transition: border-color .2s, background .2s; }
.tvb .tvb-slot:hover { border-color: var(--tv-sky); }
.tvb .tvb-slot.sel { border-color: var(--tv-blue); background: var(--tv-ice); }
.tvb .tvb-slot.full { opacity: .55; }
.tvb .tvb-slot b { font-family: var(--tv-title); font-weight: 700; font-size: 15.5px; }
.tvb .tvb-slot small { display: block; color: var(--tv-muted); font-size: 13px; margin-top: 3px; }
.tvb .tvb-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 7px; }
.tvb .tvb-tags span { font-size: 11.5px; font-weight: 700; padding: 3px 8px; border-radius: 999px; background: var(--tv-ice); color: var(--tv-blue-ink); }
.tvb .tvb-tags span.muted { background: #EEF2F6; color: var(--tv-muted); }
.tvb .tvb-add { width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--tv-ink); color: #fff; font-size: 20px; line-height: 1; flex-shrink: 0; display: grid; place-items: center; cursor: pointer; transition: .2s; padding: 0; }
.tvb .tvb-slot.sel .tvb-add { background: var(--tv-blue); color: var(--tv-deep); }
.tvb .tvb-add:disabled { background: var(--tv-line); color: var(--tv-muted); cursor: not-allowed; }
.tvb .tvb-add.busy { opacity: .5; cursor: progress; }
.tvb .tvb-empty-list, .tvb .tvb-loading { grid-column: 1 / -1; padding: 22px; border-radius: 18px; background: var(--tv-bg); color: var(--tv-muted); text-align: center; }
.tvb .tvb-plan { position: sticky; top: 80px; background: linear-gradient(160deg, var(--tv-deep) 0%, var(--tv-deep2) 100%); color: #fff; border-radius: 28px; padding: 26px; box-shadow: 0 30px 70px rgba(11,29,46,.25); }
.tvb .tvb-plan h2 { font-size: 20px; color: #fff; }
.tvb .tvb-empty { color: rgba(229,243,255,.6); font-size: 14.5px; padding: 16px 0; line-height: 1.55; }
.tvb .tvb-item { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.10); }
.tvb .tvb-item b { font-family: var(--tv-title); font-size: 14.5px; }
.tvb .tvb-item small { display: block; color: rgba(229,243,255,.6); font-size: 12.5px; margin-top: 3px; }
.tvb .tvb-item button { background: none; border: 0; color: rgba(229,243,255,.5); font-size: 20px; cursor: pointer; padding: 0 4px; }
.tvb .tvb-item button:hover { color: #fff; }
.tvb .tvb-line { display: flex; justify-content: space-between; font-size: 14px; color: rgba(229,243,255,.8); padding: 6px 0; }
.tvb .tvb-line.disc { color: #7FE0A6; }
.tvb .tvb-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 14px; margin-top: 8px; border-top: 1px solid rgba(255,255,255,.14); }
.tvb .tvb-total span { color: rgba(229,243,255,.7); font-size: 14px; }
.tvb .tvb-total b { font-family: var(--tv-title); font-weight: 800; font-size: 30px; }
.tvb .tvb-then { margin-top: 6px; font-size: 13.5px; color: var(--tv-sky); }
.tvb .tvb-hint { margin-top: 14px; padding: 12px 14px; border-radius: 14px; background: rgba(76,156,225,.16); font-size: 13px; line-height: 1.5; color: var(--tv-ice); }
.tvb .tvb-err { margin-top: 14px; padding: 12px 14px; border-radius: 14px; background: rgba(255,120,120,.16); font-size: 13px; color: #FFD6D6; }
.tvb .tvb-go { display: flex; width: 100%; justify-content: center; margin-top: 18px; padding: 16px; border-radius: 999px; border: 0; background: var(--tv-blue); color: var(--tv-deep); font-family: var(--tv-title); font-weight: 700; font-size: 15px; cursor: pointer; text-decoration: none; box-shadow: 0 10px 30px rgba(76,156,225,.30); transition: transform .25s, background .25s; }
.tvb .tvb-go:hover { background: var(--tv-sky); transform: translateY(-2px); color: var(--tv-deep); }
.tvb .tvb-go.off { opacity: .4; pointer-events: none; }
.tvb .tvb-safe { text-align: center; margin-top: 10px; font-size: 12.5px; color: rgba(229,243,255,.5); }
body .tv-ptitle .elementor-heading-title, body .tv-ptitle .product_title { color: #fff !important; }
body .tv-pprice .price, body .tv-pprice .amount { color: var(--tv-sky) !important; font-family: var(--tv-title); font-weight: 800; }
body .tv-pprice .subscription-details { color: rgba(229,243,255,.7); font-family: var(--tv-body); font-weight: 400; font-size: 15px; }
body .elementor-location-single.product-type-simple .tv-only-regular { display: none !important; }
body .elementor-location-single:not(.product-type-simple) .tv-only-simple { display: none !important; }
body .tv-pdesc, body .tv-pdesc p { color: var(--tv-text) !important; font-size: 15px; line-height: 1.6; }
body .tv-pdesc [style*="text-align"] { text-align: left !important; }
body .tv-pdesc span[style*="font-size"] { font-size: inherit !important; }
body .tv-pdesc h2, body .tv-pdesc h3 { font-family: var(--tv-title) !important; color: var(--tv-ink) !important; letter-spacing: -.01em; margin: 0 0 6px !important; line-height: 1.3; }
body .tv-pdesc h2 { font-size: 20px !important; font-weight: 800; }
body .tv-pdesc h3 { font-size: 15px !important; font-weight: 700; margin-top: 4px !important; }
body .tv-pdesc p { margin: 0 0 8px !important; }
body .tv-pdesc p:empty { display: none; }
body .tv-pdesc hr { border: 0; border-top: 1px solid var(--tv-line); margin: 14px 0 !important; }
body .tv-pdesc h2 *, body .tv-pdesc h3 * { font-family: inherit !important; font-weight: inherit !important; }
body .tv-pdesc table { display: flex !important; flex-direction: column; width: 100% !important; margin: 8px 0 0 !important; border: 0 !important; }
body .tv-pdesc tbody { display: block; order: 1; border: 1px solid var(--tv-line); border-radius: 16px; overflow: hidden; background: #fff; }
body .tv-pdesc tr { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--tv-line); }
body .tv-pdesc tr:first-child { border-top: 0; }
body .tv-pdesc td { display: block; border: 0 !important; padding: 11px 14px !important; text-align: left !important; background: none !important; color: var(--tv-ink); font-size: 14px; width: auto !important; }
body .tv-pdesc td:first-child { flex: 1; }
body .tv-pdesc td:last-child { text-align: right !important; font-family: var(--tv-title); font-weight: 800; color: var(--tv-blue-ink); white-space: nowrap; }
body .tv-pdesc caption { display: block; order: 2; text-align: left; font-size: 12.5px !important; line-height: 1.5; color: var(--tv-muted); padding-top: 8px; }
body .tv-pcontent .elementor-section .elementor-container { max-width: none; }
body .tv-pcontent .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 0; }
body .tv-pcontent .elementor-accordion { display: grid; gap: 10px; }
body .tv-pcontent .elementor-accordion-item { border: 1px solid var(--tv-line) !important; border-radius: 20px; background: #fff; overflow: hidden; }
body .tv-pcontent .elementor-accordion .elementor-tab-title { border: 0 !important; padding: 18px 22px !important; display: flex; align-items: center; gap: 14px; }
body .tv-pcontent .elementor-accordion .elementor-tab-title a { font-family: var(--tv-title); font-weight: 700; font-size: 15px; letter-spacing: .04em; color: var(--tv-ink) !important; }
body .tv-pcontent .elementor-accordion-icon { width: 32px !important; height: 32px; border-radius: 50%; background: var(--tv-ice); display: grid !important; place-items: center; flex-shrink: 0; color: var(--tv-ink); font-size: 12px; float: none !important; }
body .tv-pcontent .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon { background: var(--tv-ink); color: #fff; }
body .tv-pcontent .elementor-accordion-icon i { color: inherit !important; }
body .tv-pcontent .elementor-accordion .elementor-tab-content { border: 0 !important; padding: 0 22px 20px 68px !important; color: var(--tv-text); font-size: 15.5px; line-height: 1.65; }
body .tv-pcontent .elementor-tab-content ul { margin: 0; padding-left: 18px; }
body .tv-pcontent .elementor-tab-content li { margin: 4px 0; }
body .tv-pcontent .elementor-tab-content li::marker { color: var(--tv-blue); }
body .tv-pcontent .elementor-widget-heading .elementor-heading-title { font-family: var(--tv-title) !important; font-weight: 800 !important; color: var(--tv-ink) !important; letter-spacing: -.02em; }
body .tv-pcontent .elementor-widget-heading { margin-top: 36px; }
body .tv-pcontent .elementor-widget-heading .elementor-widget-container { border: 0 !important; padding: 0 !important; }
body .tv-pcontent .elementor-widget-heading .elementor-heading-title { text-align: left !important; font-size: 26px !important; }
body .tv-pcontent .wpcf7 { width: 100%; max-width: none; box-sizing: border-box; margin-top: 8px; padding: 26px; border: 1px solid var(--tv-line); border-radius: 28px; background: #fff; }
body .tv-pcontent .wpcf7 form > p, body .tv-pcontent .wpcf7 form p { margin: 0 0 14px; }
body .tv-pcontent .wpcf7 label { display: grid; gap: 6px; font-size: 14px; font-weight: 500; color: var(--tv-text); }
body .tv-pcontent .wpcf7 input:not([type="checkbox"]):not([type="submit"]), body .tv-pcontent .wpcf7 textarea { width: 100% !important; border: 1.5px solid var(--tv-line) !important; border-radius: 14px !important; padding: 13px 16px !important; font-size: 15px; color: var(--tv-ink); background: #fff; }
body .tv-pcontent .wpcf7 input:focus, body .tv-pcontent .wpcf7 textarea:focus { outline: none; border-color: var(--tv-blue) !important; box-shadow: 0 0 0 4px rgba(76,156,225,.15); }
body .tv-pcontent .wpcf7 textarea { min-height: 130px; height: 150px; }
body .tv-pcontent .wpcf7 .wpcf7-acceptance, body .tv-pcontent .wpcf7 .wpcf7-list-item { margin: 0; font-size: 13.5px; }
body .tv-pcontent .wpcf7 .wpcf7-list-item label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
body .tv-pcontent .wpcf7 a { color: var(--tv-blue-ink); }
body .tv-pcontent .wpcf7 input[type="submit"] { width: 100%; border: 0 !important; border-radius: 999px !important; background: var(--tv-ink) !important; color: #fff !important; padding: 15px 28px !important; font-family: var(--tv-title); font-weight: 700; font-size: 15px; cursor: pointer; transition: transform .25s, background .25s; }
body .tv-pcontent .wpcf7 input[type="submit"]:hover { background: var(--tv-deep3) !important; transform: translateY(-2px); }
body .tv-pcontent .wpcf7-response-output { border-radius: 14px; margin: 12px 0 0 !important; padding: 12px 14px !important; }
body .tv-atc table.variations { border: 0; margin-bottom: 8px; }
body .tv-atc table.variations tr { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
body .tv-atc table.variations th, body .tv-atc table.variations td { padding: 0 !important; border: 0 !important; background: none !important; text-align: left; }
body .tv-atc table.variations label { font-family: var(--tv-title); font-weight: 700; font-size: 15px; color: var(--tv-ink); }
body .tv-atc table.variations select { width: 100%; border: 1.5px solid var(--tv-line); border-radius: 14px; padding: 13px 16px; font-size: 15px; background-color: #fff; }
body .tv-atc .variable-items-wrapper { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
body .tv-atc .variable-item:not(.radio-variable-item) { border-radius: 999px !important; box-shadow: 0 0 0 1px var(--tv-line) !important; background: #fff !important; padding: 0 6px !important; min-height: 38px; }
body .tv-atc .variable-item .variable-item-span { font-size: 13.5px; font-weight: 500; color: var(--tv-text); padding: 0 8px; }
body .tv-atc .variable-item.selected:not(.radio-variable-item) { background: var(--tv-ink) !important; box-shadow: 0 0 0 1px var(--tv-ink) !important; }
body .tv-atc .variable-item.selected .variable-item-span { color: #fff; }
body .tv-atc .variable-item.disabled, body .tv-atc .variable-item.no-stock { opacity: .4; }
body .tv-atc .reset_variations { font-size: 13px; color: var(--tv-blue-ink); }
body .tv-atc .woocommerce-variation-price .price { font-family: var(--tv-title); font-weight: 800; font-size: 26px; color: var(--tv-ink); }
body .tv-atc .woocommerce-variation-availability .stock { font-weight: 600; color: var(--tv-ok); }
body .tv-atc .woocommerce-variation-availability .out-of-stock { color: #A12A2A; }
body .tv-atc .single_add_to_cart_button { border-radius: 999px !important; background: var(--tv-ink) !important; color: #fff !important; padding: 15px 28px !important; font-family: var(--tv-title); font-weight: 700; transition: transform .25s, background .25s; }
body .tv-atc .single_add_to_cart_button:hover { background: var(--tv-deep3) !important; transform: translateY(-2px); }
body .tv-atc .single_add_to_cart_button.disabled { opacity: .45; }
body .tv-howto { background: linear-gradient(135deg, var(--tv-deep2), var(--tv-deep3)); border-radius: 28px; padding: 30px !important; }
body .tv-howto .elementor-heading-title { color: #fff; }
body .tv-howto .elementor-icon-list-text { color: var(--tv-ice); }
body .tv-howto .elementor-icon-list-icon i, body .tv-howto .elementor-icon-list-icon svg { color: var(--tv-sky); fill: var(--tv-sky); }
body .tv-notices .woocommerce-message, body .tv-notices .woocommerce-info { border-radius: 18px; border: 0; background: var(--tv-ok-bg); color: var(--tv-ok); }
body .tv-notices .woocommerce-message .button { border-radius: 999px; background: var(--tv-ink); color: #fff; }
body .tv-logo { flex-direction: row !important; align-items: center; gap: 10px; color: #fff; }
body .tv-logo-i.elementor-widget-image { width: 48px !important; height: 48px; flex: 0 0 48px; border-radius: 14px; background: linear-gradient(135deg, var(--tv-sky), var(--tv-blue)); display: grid; place-items: center; isolation: isolate; overflow: hidden; }
body .tv-logo-i.elementor-widget-image .elementor-widget-container { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; line-height: 0; background: inherit; border-radius: inherit; isolation: isolate; }
body .tv-logo-i img { display: block; width: 44px !important; height: 44px !important; margin: 0; flex-shrink: 0; object-fit: contain; mix-blend-mode: multiply; }
body .tv-logo-t .elementor-heading-title { font-family: var(--tv-title); font-weight: 800; font-size: 21px; letter-spacing: -.02em; color: #fff !important; line-height: 1; }
body .tv-nav .elementor-nav-menu--main { padding: 5px; border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
body .tv-nav .elementor-nav-menu--main .elementor-item { padding: 9px 15px !important; border-radius: 999px; font-family: var(--tv-title); font-weight: 700; font-size: 13.5px; color: rgba(255,255,255,.72) !important; transition: background .2s, color .2s; }
body .tv-nav .elementor-nav-menu--main .elementor-item:hover, body .tv-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { background: rgba(255,255,255,.13); color: #fff !important; }
body .tv-nav .elementor-nav-menu--main .elementor-nav-menu > li + li { margin-left: 2px; }
body .tv-nav .elementor-menu-toggle { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06) !important; color: #fff !important; justify-content: center; align-items: center; }
body .tv-nav .elementor-menu-toggle svg { fill: #fff; width: 20px; }
body .tv-nav .elementor-nav-menu--dropdown { background: var(--tv-deep) !important; padding: 12px 24px 28px; border-radius: 0 0 28px 28px; box-shadow: 0 30px 60px rgba(11,29,46,.35); }
body .tv-nav .elementor-nav-menu--dropdown .elementor-item { font-family: var(--tv-title) !important; font-weight: 800 !important; font-size: 26px !important; color: #fff !important; background: none !important; padding: 16px 4px !important; border-bottom: 1px solid rgba(255,255,255,.08); }
body .tv-cart .elementor-menu-cart__toggle .elementor-button { width: 42px; height: 42px; padding: 0 !important; border-radius: 50% !important; justify-content: center; background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.18) !important; color: #fff !important; }
body .tv-cart .elementor-button-icon { color: #fff; font-size: 17px; }
body .tv-cart .elementor-button-icon-qty { background: var(--tv-blue) !important; color: var(--tv-deep) !important; font-weight: 800; }
body .tv-student .elementor-button { padding: 10px 16px !important; }
body .tv-footer { background: var(--tv-deep); color: rgba(229,243,255,.7); }
body .tv-footer .elementor-widget-text-editor { color: rgba(229,243,255,.7); font-size: 14.5px; max-width: 300px !important; }
body .tv-footer .tv-logo-t .elementor-heading-title { font-size: 15px; }
body .tv-fh .elementor-heading-title { font-family: var(--tv-title); font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #fff !important; }
body .tv-flinks .elementor-icon-list-item { padding: 5px 0 !important; }
body .tv-flinks .elementor-icon-list-text { color: rgba(229,243,255,.7); font-size: 14.5px; transition: color .2s; }
body .tv-flinks a:hover .elementor-icon-list-text { color: #fff; }
body .tv-flinks .elementor-icon-list-icon { display: none; }
body .tv-fcols { display: grid !important; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
body .tv-fcols > .e-con { width: auto !important; }
body .tv-fbottom { border-top: 1px solid rgba(255,255,255,.08); }
body .tv-cartsync { display: none !important; }
body .tv-langsw .cpel-switcher__list, body .tv-langsw-f .cpel-switcher__list { display: flex !important; flex-wrap: wrap; align-items: center; list-style: none; margin: 0 !important; padding: 0; }
body .tv-langsw .cpel-switcher__list { gap: 2px; padding: 4px; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); }
body .tv-langsw .cpel-switcher__lang { margin: 0 !important; padding: 0 !important; }
body .tv-langsw .cpel-switcher__lang a { display: block; padding: 7px 10px !important; border-radius: 999px; font-family: var(--tv-title); font-weight: 700; font-size: 12px; line-height: 1; letter-spacing: .04em; color: rgba(255,255,255,.66) !important; text-decoration: none; transition: background .2s, color .2s; }
body .tv-langsw .cpel-switcher__lang a:hover { color: #fff !important; background: rgba(255,255,255,.1); }
body .tv-langsw .cpel-switcher__lang--active a { background: rgba(255,255,255,.16); color: #fff !important; }
body .tv-langsw-f .cpel-switcher__list { gap: 4px 14px; }
body .tv-langsw-f .cpel-switcher__lang { margin: 0 !important; padding: 0 !important; }
body .tv-langsw-f .cpel-switcher__lang a { padding: 0 !important; font-size: 13.5px; color: rgba(229,243,255,.6) !important; text-decoration: none; }
body .tv-langsw-f .cpel-switcher__lang a:hover, body .tv-langsw-f .cpel-switcher__lang--active a { color: #fff !important; }
body :is(.tv-langsw, .tv-langsw-f) .cpel-switcher__nav,
body :is(.tv-langsw, .tv-langsw-f) .cpel-switcher__list,
body :is(.tv-langsw, .tv-langsw-f) .cpel-switcher__lang { line-height: 1; }
body :is(.tv-langsw, .tv-langsw-f) .cpel-switcher__lang { display: flex; align-items: center; }
body :is(.tv-langsw, .tv-langsw-f) .cpel-switcher__lang a { display: flex; align-items: center; justify-content: center; line-height: 1; }
body :is(.tv-langsw, .tv-langsw-f) :is(.cpel-switcher__code, .cpel-switcher__name) { display: block; padding: 0 !important; margin: 0; font: inherit; line-height: 1; vertical-align: initial; }
body .tv-langsw .cpel-switcher__lang a { min-width: 36px; min-height: 30px; padding: 0 10px !important; }
body .tv-langsw-f .cpel-switcher__lang a { min-height: 24px; font-family: var(--tv-body); }
body .tv-fcopy { align-items: center !important; }
  body :is(.tv-langsw, .tv-langsw-f) .cpel-switcher__lang:has(> a[hreflang^="zh"]), body :is(.tv-langsw, .tv-langsw-f) .cpel-switcher__lang:has(> a[hreflang^="ja"]) { display: none !important; }
body .tv-fcopy .elementor-widget-text-editor, body .tv-fcopy p { font-size: 13.5px; color: rgba(229,243,255,.6) !important; margin: 0; }
body .tv-fbottom .elementor-icon-list-text { font-size: 13.5px; color: rgba(229,243,255,.6); }
body .tv-fbottom .elementor-icon-list-item::after { border-color: rgba(255,255,255,.2) !important; }
@media (max-width: 1024px) {
  body .tv-hero { grid-template-columns: 1fr; gap: 28px; }
  body .tv-fcols { grid-template-columns: 1fr 1fr; }
  body .tv-header .tv-navwrap { order: 3; }
  body .tv-row { grid-template-columns: 64px 1fr auto; gap: 18px; padding: 22px 6px !important; }
  body .tv-row .tv-rowtext, body .tv-row .tv-price { display: none; }
  body .tv-glyph { width: 60px !important; }
  body .tv-glyph .elementor-heading-title { width: 60px; height: 60px; font-size: 30px; border-radius: 16px; }
  body .tv-arrow .elementor-heading-title { width: 46px; height: 46px; }
  body .tv-dark { border-radius: 28px; }
  body .tv-g3, body .tv-g4 { grid-template-columns: 1fr 1fr; }
  body .tv-products ul.products { grid-template-columns: 1fr 1fr !important; }
  body .tv-g2, body .tv-split, body .tv-split.tv-even, body .tv-course, .tvb { grid-template-columns: 1fr; }
  body .tv-visual { min-height: 240px; padding: 28px !important; }
  body .tv-info { padding: 8px 6px 12px !important; }
  body .tv-sticky, .tvb .tvb-plan { position: static !important; }
  .tvb .tvb-slots { grid-template-columns: 1fr; }
  .tvb .tvb-tabs { grid-template-columns: repeat(2, 1fr); }
  body .tv-ghost .elementor-heading-title { font-size: 320px; }
}
@media (max-width: 767px) {
  body .tv-header > .e-con-inner { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; }
  body .tv-header .tv-logo { grid-column: 1; grid-row: 1; justify-self: start; }
  body .tv-header .tv-navwrap { grid-column: 2; grid-row: 1; order: initial; justify-self: end; }
  body .tv-header .tv-header-actions { grid-column: 1 / -1; grid-row: 2; display: grid !important; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; width: 100% !important; align-items: center; }
  body .tv-header-actions .tv-langsw { justify-self: start; }
  body .tv-header-actions .tv-reserve { justify-self: end; }
  body .tv-header-actions .tv-cart { justify-self: end; }
  body .tv-header > .e-con-inner,
  body .tv-header :is(.tv-navwrap, .tv-nav, .tv-nav > .elementor-widget-container) { position: static !important; }
  body .tv-header .tv-nav .elementor-nav-menu--dropdown { top: 100% !important; left: 0 !important; width: 100% !important; margin-top: 0 !important; }
  body .tv-g3, body .tv-g4, body .tv-fcols { grid-template-columns: 1fr; }
  body .tv-products ul.products { grid-template-columns: 1fr !important; }
  body .tv-btn .elementor-button-text .tv-long { display: none; }
  body .tv-lang .tv-btn .elementor-button { white-space: normal; text-align: center; }
  body .tv-header .tv-btn-sm .elementor-button { padding: 10px 14px; font-size: 13px; }
  body .tv-stats .elementor-heading-title { font-size: 24px; }
  body .tv-student .elementor-button-text { display: none; }
  body .tv-student .elementor-button { width: 42px; height: 42px; padding: 0 !important; justify-content: center; }
  body .tv-logo-t .elementor-heading-title { font-size: 19px; }
  body .tv-ghost .elementor-heading-title { font-size: 240px; }
  body .tv-big .elementor-heading-title { font-size: 200px; }
  body .tv-tl { grid-template-columns: 44px 1fr; gap: 14px; padding: 20px !important; }
  body .tv-dot .elementor-heading-title { width: 44px; height: 44px; border-radius: 14px; font-size: 15px; }
  body .tv-faq .elementor-tab-title { padding: 18px 18px !important; }
  body .tv-faq .elementor-tab-content { padding: 0 18px 18px !important; }
  .tvb .tvb-panel, .tvb .tvb-plan { padding: 20px; }
  .tvb .tvb-tab { font-size: 13px; }
}
body:not(.logged-in) .tv-only-member { display: none !important; }
body.logged-in .tv-only-guest { display: none !important; }
body .tv-user-src, body .tv-dash-data, body .tv-acc-js { display: none !important; }
body .tv-acc { --tv-acc-h: calc(100vh - var(--tv-header-h) - var(--wp-admin--admin-bar--height, 0px)); }
body:not(.logged-in) .tv-acc { display: grid !important; grid-template-columns: 1fr 1fr; min-height: var(--tv-acc-h); background: #fff; }
body .tv-auth-side { position: relative; overflow: hidden; padding: 56px 40px !important; background: radial-gradient(900px 500px at 0% 0%, #1F5A8C, transparent 60%), var(--tv-deep); color: #fff; width: auto !important; }
body .tv-auth-side .tv-ghost { right: -40px; bottom: -80px; }
body .tv-auth-side .tv-ghost .elementor-heading-title { font-size: 380px; color: rgba(152,204,253,.07) !important; }
body .tv-auth-copy { position: relative; z-index: 1; max-width: 560px; }
body .tv-auth-copy .elementor-heading-title { color: #fff; }
body .tv-auth-h1 .elementor-heading-title { font-size: 52px !important; line-height: 1.02 !important; }
body .tv-perks .elementor-icon-list-item { padding-bottom: 12px !important; }
body .tv-perks .elementor-icon-list-item > * { align-items: center; }
body .tv-perks .elementor-icon-list-icon { width: 36px; height: 36px; border-radius: 12px; background: rgba(255,255,255,.08); display: grid !important; place-items: center; margin-right: 4px; }
body .tv-perks .elementor-icon-list-icon i, body .tv-perks .elementor-icon-list-icon svg { color: var(--tv-sky); fill: var(--tv-sky); font-size: 14px; width: 14px; }
body .tv-perks .elementor-icon-list-text { color: rgba(229,243,255,.85) !important; }
body:not(.logged-in) .tv-acc-main { padding: 40px !important; justify-content: center !important; width: auto !important; }
body:not(.logged-in) .tv-acc-main > .elementor-element { width: 100%; max-width: 420px !important; margin-inline: auto; }
body .tv-auth-langs { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-weight: 700; font-size: 13px; color: var(--tv-muted); margin: 0 0 40px !important; }
body .tv-auth-langs a.tv-back { font-weight: 500; font-size: 14px; }
body .tv-auth-langs a.tv-back:hover { color: var(--tv-ink) !important; }
body .tv-auth-logo { position: absolute !important; top: 40px; left: 40px; z-index: 2; width: auto !important; }
body .tv-auth-copyr { position: absolute !important; bottom: 36px; left: 40px; z-index: 2; width: auto !important; }
body .tv-auth-copyr, body .tv-auth-copyr p { color: rgba(229,243,255,.5) !important; font-size: 13px; margin: 0; }
body .tv-auth-langs a { color: var(--tv-muted) !important; }
body .tv-auth-langs a.on { color: var(--tv-ink) !important; }
body .tv-auth-title .elementor-heading-title { font-size: 40px !important; letter-spacing: -.035em; }
body .tv-auth-sub { color: var(--tv-muted) !important; }
body .tv-auth-foot { text-align: center; color: var(--tv-muted); margin-top: 6px; }
body .tv-auth-foot a { color: var(--tv-blue-ink); font-weight: 600; }
body .tv-acc #customer_login { display: block; margin: 12px 0 0; }
body .tv-acc #customer_login .u-column1, body .tv-acc #customer_login .u-column2 { float: none; width: 100%; max-width: none; padding: 0; }
body .tv-acc #customer_login .u-column1 > h2 { display: none; }
body .tv-acc .woocommerce-form-login { display: grid !important; grid-template-columns: 1fr auto; gap: 14px; border: 0 !important; padding: 0 !important; margin: 0 !important; }
body .tv-acc .woocommerce-form-login > p.form-row-wide { grid-column: 1 / -1; display: grid; gap: 6px; margin: 0 !important; }
body .tv-acc .woocommerce-form-login > p.form-row:not(.form-row-wide) { display: contents; }
body .tv-acc .woocommerce-form-login__rememberme { grid-column: 1; order: 1; display: flex !important; gap: 10px; align-items: center; font-size: 14px; color: var(--tv-text); }
body .tv-acc .woocommerce-form-login .lost_password { grid-column: 2; order: 2; margin: 0 !important; align-self: center; font-size: 14px; }
body .tv-acc .woocommerce-form-login .lost_password a { color: var(--tv-blue-ink); font-weight: 500; }
body .tv-acc .woocommerce-form-login__submit { grid-column: 1 / -1; order: 3; width: 100%; margin: 6px 0 0 !important; }
body .tv-acc .woocommerce-form-row label { font-size: 14px; font-weight: 500; color: var(--tv-text); }
body .tv-acc .woocommerce-form-row label .required { color: var(--tv-muted); }
body .tv-acc input.input-text, body .tv-acc .woocommerce-MyAccount-content input[type=text], body .tv-acc .woocommerce-MyAccount-content input[type=email], body .tv-acc .woocommerce-MyAccount-content input[type=password], body .tv-acc select { width: 100%; border: 1.5px solid var(--tv-line) !important; border-radius: 14px !important; padding: 13px 16px !important; font-size: 15px; color: var(--tv-ink); background: #fff; }
body .tv-acc input.input-text:focus { outline: none; border-color: var(--tv-blue) !important; box-shadow: 0 0 0 4px rgba(76,156,225,.15); }
body .tv-acc .button, body .tv-acc button.button, body .tv-acc .woocommerce-button { border-radius: 999px !important; background: var(--tv-ink) !important; color: #fff !important; padding: 15px 28px !important; font-family: var(--tv-title); font-weight: 700; font-size: 14.5px; border: 0 !important; transition: transform .25s, background .25s; }
body .tv-acc .button:hover { background: var(--tv-deep3) !important; transform: translateY(-2px); }
body .tv-acc .tv-reg-toggle { margin: 22px 0 0; text-align: center; }
body .tv-acc .tv-reg-toggle button { background: none; border: 0; padding: 0; color: var(--tv-muted); font-size: 13.5px; text-decoration: underline; cursor: pointer; }
body .tv-acc .u-column2.tv-reg-fold { display: none; margin-top: 18px; padding: 22px !important; border-radius: 20px; background: var(--tv-bg); }
body .tv-acc .u-column2.tv-reg-fold.open { display: block; }
body .tv-acc .u-column2 h2 { font-family: var(--tv-title); font-weight: 800; font-size: 20px; margin: 0 0 12px; }
body .tv-acc .woocommerce-notices-wrapper .woocommerce-error, body .tv-acc .woocommerce-notices-wrapper .woocommerce-message { margin: 0 0 16px !important; border-radius: 14px; }
body.logged-in .tv-acc { background: var(--tv-bg); }
body.logged-in .tv-acc-main { padding: 0 !important; }
body.logged-in .tv-acc .elementor-widget-woocommerce-my-account .e-my-account-tab > .woocommerce,
body.logged-in .tv-acc .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid !important; grid-template-columns: 260px minmax(0, 1fr); gap: 0; min-height: var(--tv-acc-h); align-items: stretch; }
body .tv-acc .e-my-account-tab .woocommerce::before, body .tv-acc .e-my-account-tab .woocommerce::after { content: none !important; display: none !important; }
body.logged-in .tv-acc .woocommerce-MyAccount-navigation { grid-column: 1; }
body.logged-in .tv-acc .woocommerce-MyAccount-content { grid-column: 2; }
body.logged-in .tv-acc .woocommerce-MyAccount-navigation li a, body.logged-in .tv-acc .woocommerce-MyAccount-navigation li { background-color: transparent !important; border: 0 !important; }
body.logged-in .tv-acc .woocommerce-MyAccount-navigation li.is-active a { background-color: rgba(76,156,225,.18) !important; }
body.logged-in .tv-acc .woocommerce-MyAccount-navigation li a:hover { background-color: rgba(255,255,255,.06) !important; }
body.logged-in .tv-acc .woocommerce-MyAccount-navigation { width: auto !important; float: none !important; background: var(--tv-deep); padding: 24px 16px !important; display: flex; flex-direction: column; gap: 4px; position: relative; }
body.logged-in .tv-acc .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 4px; position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 16px); }
body.logged-in .tv-acc .woocommerce-MyAccount-navigation li { border: 0 !important; margin: 0 !important; padding: 0 !important; }
body.logged-in .tv-acc .woocommerce-MyAccount-navigation li a { display: flex; gap: 12px; align-items: center; padding: 12px 14px !important; border-radius: 14px; font-family: var(--tv-title); font-weight: 700; font-size: 14px; color: rgba(229,243,255,.7) !important; text-decoration: none; transition: background .2s, color .2s; }
body.logged-in .tv-acc .woocommerce-MyAccount-navigation li a::before { width: 22px; text-align: center; flex-shrink: 0; font-family: var(--tv-body); }
body.logged-in .tv-acc .woocommerce-MyAccount-navigation li a:hover { background: rgba(255,255,255,.06); color: #fff !important; }
body.logged-in .tv-acc .woocommerce-MyAccount-navigation li.is-active a { background: rgba(76,156,225,.18); color: #fff !important; }
.woocommerce-MyAccount-navigation-link--dashboard a::before { content: "⌂"; }
.woocommerce-MyAccount-navigation-link--tv-clases a::before { content: "◷"; }
.woocommerce-MyAccount-navigation-link--tv-apps a::before { content: "▦"; }
.woocommerce-MyAccount-navigation-link--tv-materiales a::before { content: "▤"; }
.woocommerce-MyAccount-navigation-link--subscriptions a::before { content: "€"; }
.woocommerce-MyAccount-navigation-link--orders a::before { content: "≡"; }
.woocommerce-MyAccount-navigation-link--downloads a::before { content: "⇩"; }
.woocommerce-MyAccount-navigation-link--edit-address a::before { content: "⌖"; }
.woocommerce-MyAccount-navigation-link--payment-methods a::before { content: "▭"; }
.woocommerce-MyAccount-navigation-link--edit-account a::before { content: "⚙"; }
.woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "⎋"; }
body .tv-acc .tv-me { margin-top: auto; display: flex; gap: 12px; align-items: center; padding: 14px; border-radius: 16px; background: rgba(255,255,255,.06); color: #fff; position: sticky; bottom: 16px; }
body .tv-acc .tv-me-av { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; font-family: var(--tv-title); font-weight: 800; color: var(--tv-deep); background: linear-gradient(135deg, var(--tv-ice), var(--tv-sky)); }
body .tv-acc .tv-me b { display: block; font-size: 14px; font-weight: 500; }
body .tv-acc .tv-me small { display: block; color: rgba(229,243,255,.55); font-size: 12px; }
body.logged-in .tv-acc .woocommerce-MyAccount-content { width: auto !important; float: none !important; padding: 32px 40px 60px !important; max-width: 1180px; color: var(--tv-text); background: none; border: 0; }
body.logged-in .tv-acc .woocommerce-MyAccount-content:not(:has(.tv-dash)) > * { max-width: 920px; }
body.logged-in .tv-acc .woocommerce-MyAccount-content:not(:has(.tv-dash)) { background: none; }
body.logged-in .tv-acc .woocommerce-MyAccount-content:not(:has(.tv-dash)) > p:first-child, body.logged-in .tv-acc .woocommerce-MyAccount-content table.shop_table, body.logged-in .tv-acc .woocommerce-MyAccount-content form, body.logged-in .tv-acc .woocommerce-MyAccount-content .woocommerce-Addresses, body.logged-in .tv-acc .woocommerce-MyAccount-content .woocommerce-info { background: #fff; border: 1px solid var(--tv-line) !important; border-radius: 24px !important; padding: 24px !important; }
body.logged-in .tv-acc .woocommerce-MyAccount-content table.shop_table { border-collapse: separate; overflow: hidden; }
body.logged-in .tv-acc .woocommerce-MyAccount-content table.shop_table th { font-family: var(--tv-title); font-size: 13px; letter-spacing: .04em; color: var(--tv-muted); }
body.logged-in .tv-acc .woocommerce-MyAccount-content:not(:has(.tv-dash)) a:not(.button) { color: var(--tv-blue-ink); font-weight: 600; }
body.logged-in .tv-acc .woocommerce-MyAccount-content h2, body.logged-in .tv-acc .woocommerce-MyAccount-content h3 { font-family: var(--tv-title); font-weight: 800; color: var(--tv-ink); letter-spacing: -.02em; }
body.logged-in .tv-acc .woocommerce-MyAccount-content .button { padding: 10px 18px !important; font-size: 13.5px; }
body .tv-acc .tv-dash .elementor-heading-title, body .tv-acc .tv-dash h3, body .tv-acc .tv-dash h2 { font-family: var(--tv-title) !important; margin: 0 !important; text-transform: none !important; }
body .tv-acc .tv-dcard-head .elementor-heading-title { font-size: 18px !important; font-weight: 700 !important; letter-spacing: -.01em !important; line-height: 1.3 !important; color: var(--tv-ink) !important; }
body .tv-acc .tv-dlink .elementor-heading-title, body .tv-acc .tv-dlink a { font-family: var(--tv-body) !important; font-weight: 500 !important; font-size: 13.5px !important; color: var(--tv-blue-ink) !important; }
body .tv-acc .tv-app h3.elementor-heading-title { font-size: 15px !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--tv-ink) !important; }
body .tv-acc .tv-app.tv-locked h3.elementor-heading-title { color: var(--tv-muted) !important; }
body .tv-acc .tv-next .tv-lab .elementor-heading-title { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important; }
body .tv-acc .tv-dash .tv-btn-blue .elementor-button { color: var(--tv-deep) !important; }
body .tv-acc .tv-dash .tv-quick .elementor-heading-title { font-family: var(--tv-body) !important; font-weight: 500 !important; font-size: 14px !important; line-height: 1.35 !important; color: var(--tv-ink) !important; }
body .tv-acc .tv-dash .tv-quick-ic .elementor-heading-title { font-size: 16px !important; }
body .tv-acc .tv-dash .tv-app-ic .elementor-heading-title { font-family: var(--tv-cjk) !important; font-size: 22px !important; color: #fff !important; margin-bottom: 14px !important; }
body .tv-acc .tv-dash .tv-soon .elementor-heading-title { font-family: var(--tv-body) !important; font-size: 11px !important; }
body .tv-acc .tv-dash a { text-decoration: none !important; }
body .tv-acc .tv-dash .tv-tagsrow a { color: #fff !important; }
body .tv-acc .tv-next-body h3 { font-weight: 800 !important; font-size: 30px !important; line-height: 1.15 !important; letter-spacing: -.02em !important; margin: 10px 0 6px !important; color: #fff !important; }
body .tv-acc .tv-next-body p { font-size: 16px !important; }
@media (max-width: 767px) { body .tv-acc .tv-next-body h3 { font-size: 24px !important; } }
body.logged-in .tv-acc .woocommerce-MyAccount-navigation li a { display: flex !important; gap: 12px !important; align-items: center; }
body .tv-dash { width: 100%; }
body:not(.elementor-editor-active) .tv-dash:not(.tv-dash--in) { display: none !important; }
body .tv-wc-default { display: none !important; }
body.elementor-editor-active .tv-acc-main > .tv-dash { padding: 32px 40px !important; }
body .tv-hello-h .elementor-heading-title { font-family: var(--tv-title) !important; font-weight: 800 !important; font-size: 36px !important; letter-spacing: -.03em !important; line-height: 1.1 !important; }
body .tv-hello-cjk .elementor-heading-title { font-family: var(--tv-cjk) !important; color: var(--tv-blue) !important; }
body .tv-hello-sub { color: var(--tv-muted); margin: 0; }
body .tv-dgrid { display: grid !important; grid-template-columns: 2fr 1fr; }
body .tv-dgrid > .e-con { width: auto !important; }
body .tv-dgrid > .tv-full { grid-column: 1 / -1; }
body .tv-dcard { background: #fff; border: 1px solid var(--tv-line); border-radius: 24px; padding: 24px !important; position: relative; }
body .tv-dcard-head { margin-bottom: 4px; }
body .tv-dcard-head .elementor-heading-title { font-size: 18px; }
body .tv-dlink .elementor-heading-title { font-family: var(--tv-body); font-weight: 500; font-size: 13.5px; color: var(--tv-blue-ink) !important; }
body .tv-next { background: linear-gradient(135deg, var(--tv-deep) 0%, var(--tv-deep3) 70%, var(--tv-blue) 140%); border: 0; overflow: hidden; color: #fff; min-height: 220px; }
body .tv-next-ghost { position: absolute !important; right: -10px; bottom: -50px; width: auto !important; pointer-events: none; }
body .tv-next-ghost .elementor-heading-title { font-family: var(--tv-cjk); font-weight: 800; font-size: 200px; line-height: 1; color: rgba(152,204,253,.10) !important; }
body .tv-next .tv-lab .elementor-heading-title { color: var(--tv-sky) !important; }
body .tv-next-body { position: relative; z-index: 1; }
body .tv-next-body h3 { font-family: var(--tv-title); font-weight: 800; font-size: 30px; letter-spacing: -.02em; margin: 10px 0 6px; color: #fff !important; line-height: 1.15; }
body .tv-next-body p { font-family: var(--tv-body); font-weight: 400; color: rgba(229,243,255,.8) !important; margin: 0; }
body .tv-dash .elementor-widget-html { font-family: var(--tv-body); font-weight: 400; }
body .tv-tagsrow { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
body .tv-tagsrow span, body .tv-tagsrow a { padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.1); font-size: 13.5px; color: #fff !important; }
body .tv-skel { color: rgba(229,243,255,.6); }
body .tv-amount { font-family: var(--tv-title); font-weight: 800; font-size: 34px; letter-spacing: -.02em; margin: 14px 0 4px; color: var(--tv-ink); }
body .tv-amount small { font-family: var(--tv-body); font-weight: 400; font-size: 14px; }
body .tv-break { color: var(--tv-muted); }
body .tv-paylist { list-style: none; padding: 0; margin: 18px 0 0; }
body .tv-paylist li { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-top: 1px solid var(--tv-line); font-size: 14px; color: var(--tv-text); }
body .tv-paylist b { color: var(--tv-ink); text-align: right; }
body .tv-paylist b.tv-ok { color: var(--tv-ok); }
body .tv-cls { display: grid; grid-template-columns: 52px 1fr auto; gap: 14px; align-items: center; padding: 14px; border-radius: 18px; background: var(--tv-bg); margin-top: 10px; }
body .tv-cls .g { width: 52px; height: 52px; border-radius: 15px; background: linear-gradient(135deg, var(--tv-ice), var(--tv-sky)); display: grid; place-items: center; font-family: var(--tv-cjk); font-weight: 800; font-size: 24px; color: var(--tv-deep); }
body .tv-cls b { font-family: var(--tv-title); font-size: 15.5px; color: var(--tv-ink); }
body .tv-cls small { display: block; color: var(--tv-muted); font-size: 13px; margin-top: 3px; }
body .tv-empty { color: var(--tv-muted); margin: 12px 0 0; }
body .tv-quick { display: grid !important; grid-template-columns: 1fr 1fr; margin-top: 12px; }
body .tv-quick > .e-con { width: auto !important; padding: 12px 14px !important; gap: 8px !important; border-radius: 14px; background: var(--tv-bg); transition: background .2s; }
body .tv-acc .tv-dash .tv-quick > .e-con .elementor-heading-title { white-space: nowrap; }
body .tv-quick > .e-con:hover { background: var(--tv-ice); }
body .tv-quick-ic .elementor-heading-title { font-size: 16px; line-height: 1; }
body .tv-quick .elementor-heading-title { color: var(--tv-ink) !important; font-weight: 500; }
body .tv-apps { margin-top: 16px; }
body .tv-app { border-radius: 20px; padding: 18px !important; background: var(--tv-bg); border: 1px solid transparent; position: relative; cursor: pointer; transition: border-color .25s, transform .25s, background .25s; }
body .tv-app:hover { border-color: var(--tv-sky); transform: translateY(-3px); background: #fff; }
body .tv-app-ic .elementor-heading-title { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; font-family: var(--tv-cjk); font-weight: 800; font-size: 22px; color: #fff !important; background: linear-gradient(135deg, var(--tv-blue), var(--tv-blue-ink)); margin-bottom: 14px; }
body .tv-app h3.elementor-heading-title { font-size: 15px; }
body .tv-app .elementor-widget-text-editor { color: var(--tv-muted) !important; font-size: 13px; line-height: 1.4; margin-top: 4px; }
body .tv-acc .tv-dash .tv-app .elementor-widget-text-editor, body .tv-acc .tv-dash .tv-app .elementor-widget-text-editor p { font-size: 13px !important; line-height: 1.45 !important; }
body:has(.tv-acc) .elementor-location-header, body:has(.tv-acc) .elementor-location-footer { display: none !important; } 
body .tv-acc .tv-side-logo { display: flex; align-items: center; gap: 10px; padding: 6px 10px 22px; font-family: var(--tv-title); font-weight: 800; font-size: 21px; letter-spacing: -.02em; line-height: 1; color: #fff !important; text-decoration: none; }
body .tv-acc .tv-side-logo-i { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; flex-shrink: 0; font-family: var(--tv-cjk); font-size: 16px; color: var(--tv-deep); background: linear-gradient(135deg, var(--tv-sky), var(--tv-blue)); }
body .tv-soon { position: absolute !important; top: 14px; right: 14px; width: auto !important; }
body .tv-soon .elementor-heading-title { display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 999px; background: var(--tv-ice); color: var(--tv-blue-ink) !important; }
body .tv-app.tv-locked, body .tv-app.tv-soon-app { cursor: default; }
body .tv-app.tv-locked { opacity: .55; }
body .tv-app.tv-locked:hover, body .tv-app.tv-soon-app:hover { transform: none; border-color: transparent; background: var(--tv-bg); }
body .tv-app:not(.tv-locked) .tv-soon:has(.elementor-heading-title:empty) { display: none; }
body .tv-app[data-tv-app="hangul"]:not(.tv-locked) .tv-soon { display: none; }
@media (max-width: 1024px) {
  body:not(.logged-in) .tv-acc { grid-template-columns: 1fr; }
  body .tv-auth-side { display: none !important; }
  body.logged-in .tv-acc .elementor-widget-woocommerce-my-account .e-my-account-tab > .woocommerce,
  body.logged-in .tv-acc .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; min-height: 0; }
  body.logged-in .tv-acc .woocommerce-MyAccount-navigation { padding: 14px !important; }
  body.logged-in .tv-acc .woocommerce-MyAccount-navigation, body.logged-in .tv-acc .woocommerce-MyAccount-content { grid-column: 1; }
  body.logged-in .tv-acc .woocommerce-MyAccount-navigation ul { display: flex !important; flex-wrap: wrap; gap: 4px 6px; position: static; }
  body.logged-in .tv-acc .woocommerce-MyAccount-navigation li { width: auto !important; flex: 0 0 auto; }
  body.logged-in .tv-acc .woocommerce-MyAccount-navigation li a { padding: 10px 12px !important; font-size: 13px; }
  body .tv-acc .tv-me { display: none; }
  body .tv-acc .tv-side-logo { padding: 6px 10px 12px; font-size: 19px; }
  body.logged-in .tv-acc .woocommerce-MyAccount-content { padding: 24px 18px 48px !important; }
  body .tv-dgrid, body .tv-apps { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  body:not(.logged-in) .tv-acc-main { padding: 28px 16px !important; }
  body .tv-auth-title .elementor-heading-title { font-size: 32px !important; }
  body .tv-hello-h .elementor-heading-title { font-size: 28px !important; }
  body .tv-next-body h3 { font-size: 24px; }
  body .tv-acc .tv-dash .tv-quick > .e-con .elementor-heading-title { white-space: normal; }
}
body .tv-course-top .tv-ptitle :is(h1,.product_title,.elementor-heading-title) {
  max-width: 960px; font-size: clamp(38px, 5vw, 68px) !important; line-height: 1.08;
  letter-spacing: -.04em; text-wrap: balance;
}
body .tv-course-top .tv-pprice { margin-top: 4px; }
body .tv-course-top .tv-pprice .price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; margin: 0; }
body .tv-course-top .tv-pprice :is(.amount, bdi) { color: var(--tv-sky) !important; font-size: 32px; }
body .tv-course-top .tv-pprice .subscription-details { color: rgba(229,243,255,.78); font-size: 15px; }
body .tv-course-booking {
  border: 1px solid var(--tv-line); border-radius: 28px; background: #fff;
  box-shadow: 0 12px 36px rgba(29,78,122,.045); padding: 30px !important;
}
body .tv-course-booking > .elementor-widget-heading .elementor-heading-title { line-height: 1.25; }
body .tv-course-sidebar { align-self: start; }
body .tv-course-sidebar .tv-pinfo { padding: 28px !important; }
body .tv-course-sidebar .tv-howto { border-radius: 24px; padding: 28px !important; }
body .tv-course-sidebar .tv-howto .elementor-icon-list-item { align-items: flex-start; margin: 0 0 10px; }
body .tv-course-sidebar .tv-howto .elementor-icon-list-text { line-height: 1.6; }
body .tv-course-overview { display: grid; gap: 22px; }
body .tv-course-overview .tv-course-intro { display: grid; gap: 10px; }
body .tv-pdesc .tv-course-intro :is(h2,h3) {
  font-size: 23px !important; line-height: 1.25; letter-spacing: -.025em; margin: 0 !important;
}
body .tv-pdesc .tv-course-intro p { margin: 0 !important; font-size: 15px; line-height: 1.65; }
body :is(.tv-course-facts,.tv-group-facts) {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px;
  margin: 0; padding: 0; list-style: none;
}
body :is(.tv-course-facts,.tv-group-facts) > div {
  display: flex; flex-direction: column; gap: 7px; min-width: 0;
  padding: 15px; border: 1px solid var(--tv-line); border-radius: 14px; background: var(--tv-bg);
}
body :is(.tv-course-facts,.tv-group-facts) dt {
  margin: 0; color: var(--tv-blue-ink); font-family: var(--tv-title); font-size: 11px;
  font-weight: 800; line-height: 1.4; letter-spacing: .085em; text-transform: uppercase;
}
body :is(.tv-course-facts,.tv-group-facts) dd {
  margin: 0; color: var(--tv-ink); font-family: var(--tv-body); font-size: 14.5px;
  font-weight: 500; line-height: 1.55; overflow-wrap: anywhere;
}
body .tv-course-overview > p { margin: 0; color: var(--tv-text); font-size: 14px; line-height: 1.65; }
body .tv-course-overview :is(ul,ol) { margin: 0; padding-left: 20px; }
body .tv-course-overview li { margin: 5px 0; line-height: 1.6; }
body .tv-course-overview li::marker { color: var(--tv-blue-ink); }
body .tv-course-overview a { color: var(--tv-blue-ink); text-decoration: underline; text-underline-offset: 3px; }
body .tv-kanji-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)) !important; }
body .tv-course-booking .tv-atc { width: 100%; }
body .tv-course-booking .tv-atc form { margin: 8px 0 0; }
body .tv-course-booking .tv-atc table.variations { width: 100%; margin: 0 0 6px; }
body .tv-course-booking .tv-atc table.variations tr { gap: 10px; margin-bottom: 22px; }
body .tv-course-booking .tv-atc table.variations label { display: inline-block; font-size: 14px; line-height: 1.5; }
body .tv-course-booking .tv-atc table.variations .woo-selected-variation-item-name { color: var(--tv-blue-ink); }
body .tv-course-booking .tv-atc table.variations select {
  min-height: 46px; color: var(--tv-ink); font-family: var(--tv-body); font-size: 15px;
}
body .tv-course-booking .tv-atc .variable-items-wrapper { gap: 8px; }
body .tv-course-booking .tv-atc .variable-item:not(.radio-variable-item) {
  min-width: 44px; min-height: 44px; padding: 0 7px !important; border-radius: 13px !important;
  box-shadow: 0 0 0 1px var(--tv-line) !important; transition: background .15s, box-shadow .15s;
}
body .tv-course-booking .tv-atc .variable-item .variable-item-span {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
  padding: 0 8px; color: var(--tv-text); font-family: var(--tv-body); font-size: 14px; line-height: 1.3;
}
body .tv-course-booking .tv-atc .variable-item.selected:not(.radio-variable-item) {
  background: var(--tv-ice) !important; box-shadow: 0 0 0 2px var(--tv-blue) !important;
}
body .tv-course-booking .tv-atc .variable-item.selected .variable-item-span { color: var(--tv-deep); font-weight: 700; }
body .tv-course-booking .tv-atc .variable-item:not(.disabled):not(.no-stock):hover {
  box-shadow: 0 0 0 2px var(--tv-sky) !important;
}
body .tv-course-booking .tv-atc .variable-item:is(.disabled,.no-stock) {
  opacity: .68; background: #F4F7FA !important; cursor: not-allowed;
}
body .tv-course-booking .tv-atc .variable-item:is(.disabled,.no-stock) .variable-item-span { color: #687987; }
body .tv-course-booking .tv-atc .variable-item:focus-visible,
body .tv-course-booking .tv-atc select:focus-visible,
body .tv-course-booking .tv-atc .reset_variations:focus-visible {
  outline: 3px solid var(--tv-blue); outline-offset: 4px;
}
body .tv-course-booking .tv-atc .reset_variations { display: inline-flex; align-items: center; min-height: 44px; font-weight: 500; }
body .tv-group-selection[hidden] { display: none !important; }
body .tv-group-selection { margin: 6px 0 18px; }
body .tv-group-selection-title {
  margin: 0 0 10px; color: var(--tv-blue-ink); font-family: var(--tv-title);
  font-size: 11px; line-height: 1.4; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
}
body .tv-group-selection-list { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
body .tv-group-selection-list > li { display: grid; gap: 3px; flex: 1 1 115px; min-width: 0; padding: 10px 12px; border-radius: 12px; background: var(--tv-ice); }
body .tv-group-selection-list > li > span { color: var(--tv-blue-ink); font-size: 11px; line-height: 1.4; }
body .tv-group-selection-list > li > strong { color: var(--tv-deep); font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
body .tv-course-booking .tv-atc .woocommerce-variation-description { margin: 0 0 16px; color: var(--tv-text); }
body .tv-group-summary { padding: 20px; border: 1px solid var(--tv-line); border-radius: 20px; background: #fff; }
body .tv-group-summary-title {
  margin: 0 0 14px; color: var(--tv-ink); font-family: var(--tv-title); font-size: 17px;
  font-weight: 800; line-height: 1.35; letter-spacing: -.02em;
}
body .tv-group-summary > p { margin: 12px 0 0; font-size: 14px; line-height: 1.65; }
body .tv-course-booking .tv-atc .woocommerce-variation-description > p {
  margin: 0; padding: 16px; border-left: 3px solid var(--tv-blue); border-radius: 0 12px 12px 0;
  background: var(--tv-bg); font-size: 15px; line-height: 1.65;
}
body .tv-course-booking .tv-atc .woocommerce-variation-price {
  margin: 18px 0 12px; padding: 17px 18px; border: 1px solid var(--tv-line); border-radius: 16px; background: var(--tv-ice);
}
body .tv-course-booking .tv-atc .woocommerce-variation-price :is(.price,.amount,bdi) {
  color: var(--tv-blue-ink) !important; font-family: var(--tv-title); font-weight: 800;
}
body .tv-course-booking .tv-atc .woocommerce-variation-price .price { font-size: 30px; line-height: 1.3; }
body .tv-course-booking .tv-atc .woocommerce-variation-price .subscription-details { color: var(--tv-text); font-family: var(--tv-body); font-size: 15px; font-weight: 400; }
body .tv-course-booking .tv-atc .woocommerce-variation-price del :is(.amount,bdi) { color: var(--tv-muted) !important; font-size: 17px; font-weight: 400; }
body .tv-course-booking .tv-atc .woocommerce-variation-price ins { text-decoration: none; }
body .tv-course-booking .tv-atc .woocommerce-variation-availability { margin: 12px 0; }
body .tv-course-booking .tv-atc .woocommerce-variation-availability .stock {
  display: inline-flex; align-items: center; margin: 0; padding: 8px 12px; border-radius: 9px;
  background: var(--tv-ok-bg); color: var(--tv-ok); font-size: 13px; font-weight: 700; line-height: 1.5;
}
body .tv-course-booking .tv-atc .woocommerce-variation-availability .out-of-stock { background: #FFF0EF; color: #A12A2A; }
body .tv-course-booking .tv-atc .woocommerce-subscriptions-product-details { display: grid; gap: 9px; margin: 14px 0 20px; }
body .tv-course-booking .tv-atc [data-tv-payment-kind][hidden] { display: none !important; }
body .tv-course-booking .tv-atc :is(.tv-payment-renewal,.tv-payment-deferred,.tv-payment-reserve) {
  display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; column-gap: 14px; row-gap: 8px;
  margin: 0; padding: 15px 16px; border: 1px solid var(--tv-line); border-radius: 15px; background: #fff;
}
body .tv-course-booking .tv-atc .tv-payment-reserve { background: var(--tv-bg); }
body .tv-course-booking .tv-atc .tv-payment-label { color: var(--tv-text); font-family: var(--tv-body); font-size: 13px; font-weight: 500; line-height: 1.5; }
body .tv-course-booking .tv-atc .tv-payment-value,
body .tv-course-booking .tv-atc .tv-payment-value :is(.amount,bdi) { color: var(--tv-blue-ink) !important; font-family: var(--tv-title); font-size: 16px; font-weight: 800; line-height: 1.4; }
body .tv-course-booking .tv-atc .tv-payment-note { grid-column: 1 / -1; color: var(--tv-muted); font-family: var(--tv-body); font-size: 12.5px; line-height: 1.55; }
body .tv-course-booking .tv-atc .woocommerce-variation-add-to-cart { margin-top: 18px; }
body .tv-course-booking .tv-atc .single_add_to_cart_button {
  width: 100%; min-height: 50px; padding: 15px 22px !important; border-radius: 16px !important;
  background: var(--tv-blue) !important; color: var(--tv-deep) !important; font-size: 15px; line-height: 1.4; white-space: normal;
}
body .tv-course-booking .tv-atc .single_add_to_cart_button:not(.disabled):not(:disabled):hover { background: var(--tv-sky) !important; }
body .tv-course-booking .tv-atc .single_add_to_cart_button.disabled,
body .tv-course-booking .tv-atc .single_add_to_cart_button:disabled { background: #D7E0E8 !important; color: #536373 !important; opacity: 1; }
body .tv-course-booking .tv-atc .single_add_to_cart_button:focus-visible { outline: 3px solid var(--tv-blue-ink); outline-offset: 4px; }
body .tv-course-booking .tv-atc input.qty { min-height: 44px; max-width: 88px; margin-bottom: 10px; border: 1px solid var(--tv-line); border-radius: 12px; color: var(--tv-ink); }
body .tv-course-information { scroll-margin-top: 28px; }
body .tv-course-information .tv-pcontent .elementor-accordion { gap: 14px; }
body .tv-course-information .tv-pcontent .elementor-accordion-item { border-radius: 18px; }
body .tv-course-information .tv-pcontent .elementor-accordion .elementor-tab-title { min-height: 64px; padding: 16px 20px !important; }
body .tv-course-information .tv-pcontent .elementor-accordion .elementor-tab-title a { font-size: 14px; line-height: 1.4; letter-spacing: .015em; }
body .tv-course-information .tv-pcontent .elementor-accordion .elementor-tab-content { font-size: 15px; line-height: 1.75; }
body .tv-course-information .tv-pcontent .elementor-tab-content :is(p,ul,ol) { margin-top: 0; margin-bottom: 12px; }
body .tv-course-information .tv-pcontent .elementor-tab-content :is(h2,h3,h4) { margin: 20px 0 10px; color: var(--tv-ink); font-family: var(--tv-title); font-size: 19px; line-height: 1.35; }
body .tv-course-information .tv-pcontent iframe { max-width: 100%; }
body .tv-course-information .tv-pcontent .elementor-accordion .elementor-tab-title a:focus-visible { outline: 3px solid var(--tv-blue); outline-offset: 5px; }
@media (max-width: 1024px) {
  body .tv-course-sidebar { position: static !important; }
  body .tv-course-booking { padding: 26px !important; }
  body .tv-course-sidebar .tv-pinfo, body .tv-course-sidebar .tv-howto { padding: 26px !important; }
}
@media (max-width: 640px) {
  body .tv-course-top .tv-ptitle :is(h1,.product_title,.elementor-heading-title) { font-size: clamp(34px,9vw,48px) !important; }
  body .tv-course-booking { padding: 20px !important; border-radius: 22px; }
  body .tv-course-sidebar .tv-pinfo, body .tv-course-sidebar .tv-howto { padding: 22px !important; border-radius: 22px; }
  body :is(.tv-course-facts,.tv-group-facts) { grid-template-columns: minmax(0,1fr); }
  body .tv-group-summary { padding: 16px; border-radius: 16px; }
  body .tv-course-booking .tv-atc .woocommerce-variation-price { padding: 15px; }
  body .tv-course-booking .tv-atc .woocommerce-variation-price .price { font-size: 28px; }
  body .tv-course-information .tv-pcontent .elementor-accordion .elementor-tab-title { padding: 15px 16px !important; }
  body .tv-course-information .tv-pcontent .elementor-accordion .elementor-tab-content { padding: 0 18px 20px !important; }
  body .tv-course-information .tv-pcontent .wpcf7 { padding: 20px; }
}
@media (max-width: 479px) {
  body .tv-course-booking .tv-atc :is(.tv-payment-renewal,.tv-payment-deferred,.tv-payment-reserve) { grid-template-columns: minmax(0,1fr); gap: 6px; }
  body .tv-course-booking .tv-atc .tv-payment-note { grid-column: auto; margin-top: 2px; }
  body .tv-course-booking .tv-atc .variable-item .variable-item-span { font-size: 13px; padding: 0 6px; }
}
@media (prefers-reduced-motion: reduce) {
  body .tv-course-booking .tv-atc .variable-item { transition: none; }
}
body #cookie-law-info-bar {
  position: fixed !important; inset: auto 20px 20px auto !important;
  width: min(440px, calc(100vw - 40px)) !important; max-width: none !important;
  margin: 0 !important; padding: 24px !important; border: 1px solid var(--tv-line, #D6E6F5) !important;
  border-radius: 24px !important; background: #fff !important; color: var(--tv-text, #3A4A5A) !important;
  box-shadow: 0 18px 60px rgba(11,29,46,.2) !important; text-align: left !important;
  font-family: var(--tv-body, Roboto, sans-serif) !important; z-index: 999990 !important;
  max-height: calc(100dvh - 40px); overflow-y: auto;
}
body #cookie-law-info-bar .cli-bar-container { display: block !important; padding: 0 !important; }
body #cookie-law-info-bar .cli-bar-message { margin: 0 !important; padding: 0 !important; width: auto !important; font-size: 14px; line-height: 1.6; }
body #cookie-law-info-bar .tv-cookie-title { font-family: var(--tv-title, Montserrat, sans-serif); font-size: 19px; line-height: 1.3; font-weight: 800; color: var(--tv-ink, #0E2236); margin: 0 0 10px; }
body #cookie-law-info-bar .cli-bar-message p { margin: 0 0 8px; }
body #cookie-law-info-bar .cli-bar-message > a { color: var(--tv-blue-ink, #2C6FA8); text-decoration: underline; text-underline-offset: 3px; }
body #cookie-law-info-bar .cli-bar-btn_container { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 0 !important; margin: 18px 0 0 !important; width: 100% !important; }
body #cookie-law-info-bar .cli-plugin-button { display: flex !important; align-items: center; justify-content: center; min-height: 44px; width: auto; margin: 0 !important; padding: 11px 12px !important; border: 1px solid var(--tv-deep, #0B1D2E) !important; border-radius: 999px !important; background: var(--tv-deep, #0B1D2E) !important; color: #fff !important; font-family: var(--tv-title, Montserrat, sans-serif); font-size: 12.5px !important; font-weight: 700 !important; line-height: 1.35 !important; text-align: center; text-transform: none !important; }
body #cookie-law-info-bar :is(#cookie_action_close_header_reject,#wt-cli-accept-all-btn):hover { background: var(--tv-deep3, #1D4E7A) !important; }
body #cookie-law-info-bar .cli_settings_button { order: 2; grid-column: 1/-1; border-color: transparent !important; background: transparent !important; color: var(--tv-blue-ink, #2C6FA8) !important; min-height: 36px; padding: 6px 10px !important; text-decoration: underline; text-underline-offset: 3px; }
body #cookie-law-info-bar #cookie_action_close_header { display: none !important; }
body #cookie-law-info-again { position: fixed !important; inset: auto auto 16px 16px !important; transform: none !important; margin: 0 !important; padding: 10px 15px !important; border: 1px solid var(--tv-line, #D6E6F5) !important; border-radius: 999px !important; background: #fff !important; color: var(--tv-ink, #0E2236) !important; box-shadow: 0 4px 18px rgba(11,29,46,.12) !important; font-family: var(--tv-body, Roboto, sans-serif) !important; font-size: 12px !important; line-height: 1.4; z-index: 999980 !important; }
body #cliSettingsPopup { z-index: 999999 !important; font-family: var(--tv-body, Roboto, sans-serif); }
body .cli-modal-backdrop, body .cli-settings-overlay { z-index: 999995 !important; }
body #cliSettingsPopup .cli-modal-dialog { width: min(720px, calc(100vw - 32px)) !important; max-width: 720px !important; margin: 24px auto !important; }
body #cliSettingsPopup .cli-modal-content { border: 1px solid var(--tv-line, #D6E6F5); border-radius: 24px !important; overflow: hidden; box-shadow: 0 20px 80px rgba(11,29,46,.25); background: #fff; color: var(--tv-text, #3A4A5A); padding: 0; }
body #cliSettingsPopup .cli-modal-body { padding: 28px !important; max-height: calc(100vh - 170px); max-height: calc(100dvh - 170px); overflow-y: auto; overscroll-behavior: contain; }
body #cliSettingsPopup .cli-modal-close { top: 8px !important; right: 8px !important; width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--tv-bg, #F5F9FD); color: var(--tv-ink, #0E2236); padding: 10px; }
body #cliSettingsPopup .cli-privacy-overview h4 { margin: 0 34px 12px 0; font-family: var(--tv-title, Montserrat, sans-serif); font-weight: 800; font-size: 22px; line-height: 1.25; color: var(--tv-ink, #0E2236); }
body #cliSettingsPopup .cli-privacy-content-text { font-family: var(--tv-body, Roboto, sans-serif); font-size: 14px; line-height: 1.6; color: var(--tv-text, #3A4A5A); }
body #cliSettingsPopup .cli-privacy-content-text a { color: var(--tv-blue-ink, #2C6FA8); text-decoration: underline; }
body #cliSettingsPopup .cli-privacy-readmore { color: var(--tv-blue-ink, #2C6FA8); font-size: 13px; }
body #cliSettingsPopup .cli-tab-section { margin: 10px 0 0; border: 1px solid var(--tv-line, #D6E6F5); border-radius: 14px; overflow: hidden; }
body #cliSettingsPopup .cli-tab-header { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 14px 16px; background: var(--tv-bg, #F5F9FD); border-radius: 0; }
body #cliSettingsPopup .cli-nav-link { flex: 1; min-width: 0; color: var(--tv-ink, #0E2236); font-family: var(--tv-title, Montserrat, sans-serif); font-size: 13px; font-weight: 700; line-height: 1.4; text-transform: none; }
body #cliSettingsPopup .cli-switch { flex: 0 0 auto; margin: 0; min-height: 24px; width: 38px; position: relative; }
body #cliSettingsPopup .tv-cookie-essential .cli-switch { display: none !important; }
body #cliSettingsPopup .tv-cookie-always { flex: 0 0 auto; font-size: 12px; font-weight: 700; color: var(--tv-ok, #237A47); }
body #cliSettingsPopup .cli-switch input:checked + .cli-slider { background: var(--tv-blue, #4C9CE1); }
body #cliSettingsPopup .cli-tab-content { padding: 0; }
body #cliSettingsPopup .wt-cli-cookie-description { padding: 16px; font-size: 13px; line-height: 1.6; overflow-x: auto; }
body #cliSettingsPopup table { width: 100%; margin: 16px 0 0; font-size: 12px; line-height: 1.5; border-collapse: collapse; }
body #cliSettingsPopup :is(td,th) { padding: 8px; border-color: var(--tv-line, #D6E6F5); vertical-align: top; overflow-wrap: anywhere; }
body #cliSettingsPopup .cli-modal-footer { border-top: 1px solid var(--tv-line, #D6E6F5); background: var(--tv-bg, #F5F9FD); padding: 18px 28px !important; }
body #cliSettingsPopup #wt-cli-privacy-save-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 12px 20px; background: var(--tv-deep, #0B1D2E) !important; color: #fff !important; border: 0; border-radius: 999px; font-family: var(--tv-title, Montserrat, sans-serif); font-weight: 700; font-size: 13px; line-height: 1.35; text-transform: none; }
body :is(#cookie-law-info-bar,#cliSettingsPopup,#cookie-law-info-again) :is(a,button,input):focus-visible { outline: 3px solid var(--tv-blue, #4C9CE1) !important; outline-offset: 3px; }
.tv-consent-embed { position: relative; width: 100%; max-width: 100%; }
.tv-consent-embed iframe[hidden], .tv-consent-embed .tv-embed-placeholder[hidden] { display: none !important; }
.tv-consent-embed .tv-embed-placeholder { display: flex; min-height: 240px; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 28px; border: 1px dashed var(--tv-line, #D6E6F5); border-radius: 18px; background: var(--tv-bg, #F5F9FD); text-align: center; color: var(--tv-text, #3A4A5A); }
.tv-consent-embed .tv-embed-placeholder p { margin: 0; max-width: 52ch; font-size: 14px; line-height: 1.6; }
.tv-consent-embed .tv-embed-settings { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; padding: 11px 18px; border: 0; border-radius: 999px; background: var(--tv-deep, #0B1D2E); color: #fff; font: 700 13px/1.4 var(--tv-title, Montserrat, sans-serif); cursor: pointer; }
.tv-consent-embed .tv-embed-settings:hover { background: var(--tv-deep3, #1D4E7A); }
.tv-consent-embed .tv-embed-settings:focus-visible { outline: 3px solid var(--tv-blue, #4C9CE1); outline-offset: 3px; }
.tv-consent-embed:has(iframe[data-tv-src*="canva.com"]) { position: absolute !important; inset: 0; height: 100%; min-height: 0 !important; display: grid; }
.tv-consent-embed:has(iframe[data-tv-src*="canva.com"]) .tv-embed-placeholder { height: 100%; min-height: 0; box-sizing: border-box; }
.tv-consent-embed:has(iframe[data-tv-src*="maps.google.com"]) .tv-embed-placeholder { min-height: 320px; }
@media(max-width:767px) {
  body #cookie-law-info-bar { inset: auto 12px 12px !important; width: calc(100vw - 24px) !important; padding: 20px !important; border-radius: 20px !important; max-height: calc(100dvh - 24px); }
  body #cliSettingsPopup .cli-modal-dialog { width: calc(100vw - 24px) !important; margin: 12px auto !important; }
  body #cliSettingsPopup .cli-modal-body { padding: 22px 18px !important; max-height: calc(100dvh - 145px); }
  body #cliSettingsPopup .cli-privacy-overview h4 { font-size: 19px; }
  body #cliSettingsPopup .cli-tab-header { padding: 12px; gap: 12px; flex-wrap: wrap; }
  body #cliSettingsPopup .cli-nav-link { flex: 1 1 100%; width: 100%; }
  body #cliSettingsPopup .cli-switch { margin: 0 0 0 auto !important; flex: 0 0 auto; }
  body #cliSettingsPopup .tv-cookie-always { margin: 0; font-size: 12px; }
  body #cliSettingsPopup .cli-modal-footer { padding: 14px 18px !important; }
  body #cliSettingsPopup #wt-cli-privacy-save-btn { width: 100%; }
  .tv-consent-embed .tv-embed-placeholder { min-height: 220px; padding: 22px 16px; }
}
body .tv-material-product { color: var(--tv-text); background: #fff; }
body .tv-material-product .e-con,
body .tv-material-product .elementor-widget { min-width: 0; }
body .tv-material-top .tv-material-breadcrumb,
body .tv-material-top .tv-material-breadcrumb .woocommerce-breadcrumb { font: 400 13px/1.6 var(--tv-body); color: var(--tv-sky); }
body .tv-material-top .tv-material-breadcrumb a { color: var(--tv-ice); }
body .tv-material-top .tv-material-breadcrumb a:hover { color: #fff; text-decoration: underline; }
body .tv-material-title :is(h1,.product_title,.elementor-heading-title) { max-width: 1000px; margin: 0; color: #fff !important; font-family: var(--tv-title) !important; font-size: clamp(30px, 4vw, 54px) !important; font-weight: 800; line-height: 1.14; letter-spacing: -.035em; text-transform: none; overflow-wrap: break-word; text-wrap: balance; }
body .tv-material-main { background: var(--tv-bg); }
body .tv-material-layout { display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: start; }
body .tv-material-layout > .e-con { width: 100% !important; }
body .tv-material-gallery-panel { padding: 28px !important; border: 1px solid var(--tv-line); border-radius: 28px; background: #fff; }
body .tv-material-gallery .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; }
body .tv-material-gallery .woocommerce-product-gallery__wrapper { margin: 0; }
body .tv-material-gallery .woocommerce-product-gallery__image { background: var(--tv-bg); border-radius: 16px; overflow: hidden; }
body .tv-material-gallery .woocommerce-product-gallery__image a { display: block; }
body .tv-material-gallery .woocommerce-product-gallery__image img { width: 100%; height: min(480px, 40vw); object-fit: contain; object-position: center; border-radius: 0; }
body .tv-material-gallery .woocommerce-product-gallery__trigger { display: none !important; }
body .tv-material-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 18px 0 0 !important; padding: 0 !important; }
body .tv-material-gallery .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
body .tv-material-gallery .flex-control-thumbs img { width: 100%; height: 74px; object-fit: contain; border: 1px solid var(--tv-line); border-radius: 10px; background: var(--tv-bg); }
body .tv-material-gallery .flex-control-thumbs img.flex-active { border-color: var(--tv-blue); box-shadow: 0 0 0 2px var(--tv-ice); opacity: 1; }
body .tv-material-buy-panel { padding: 30px !important; border: 1px solid var(--tv-line); border-radius: 28px; background: #fff; box-shadow: 0 16px 50px rgba(14,34,54,.045); }
body .tv-material-buy-title .elementor-heading-title { color: var(--tv-ink); font-weight: 800; line-height: 1.25; }
body .tv-material-product .tv-material-only-pdf,
body .tv-material-product .tv-material-only-coursebooks,
body .tv-material-product .tv-material-only-amazon { display: none; }
body:is(.postid-18313,.postid-18319,.postid-18246,.postid-18251) .tv-material-product .tv-material-only-pdf,
body:is(.postid-15363,.postid-15737) .tv-material-product .tv-material-only-coursebooks,
body:is(.postid-17086,.postid-17897,.postid-17964) .tv-material-product .tv-material-only-amazon { display: block; }
body .tv-material-facts { display: grid; gap: 0; margin: 0; border-block: 1px solid var(--tv-line); font: 400 15px/1.5 var(--tv-body); }
body .tv-material-facts > div { display: grid; grid-template-columns: minmax(85px,.75fr) minmax(0,1.4fr); gap: 12px; padding: 12px 0; }
body .tv-material-facts > div + div { border-top: 1px solid var(--tv-line); }
body .tv-material-facts dt { color: var(--tv-muted); font-weight: 400; }
body .tv-material-facts dd { margin: 0; color: var(--tv-ink); font-weight: 700; }
body .tv-material-price-label .elementor-heading-title { font: 500 13px/1.4 var(--tv-body); color: var(--tv-muted); }
body .tv-material-price .price,
body .tv-material-price .price .amount,
body .tv-material-atc .woocommerce-variation-price .price,
body .tv-material-atc .woocommerce-variation-price .amount { color: var(--tv-blue-ink) !important; font: 800 clamp(26px,3vw,34px)/1.25 var(--tv-title) !important; letter-spacing: -.03em; }
body .tv-material-price .price { margin: 0; }
body .tv-material-price .price del,
body .tv-material-price .price del .amount { color: var(--tv-muted) !important; font-size: .72em !important; font-weight: 500 !important; }
body .tv-material-price .price ins { background: none; color: inherit; text-decoration: none; }
body:is(.postid-17086,.postid-17897,.postid-17964) .tv-material-product .tv-material-price-group { display: none !important; }
body .tv-material-atc form.cart { margin: 0; }
body .product-type-external .tv-material-product .tv-material-atc form.cart,
body .tv-material-atc .elementor-product-external form.cart { display: block; }
body .tv-material-atc .single_add_to_cart_button,
body .tv-material-atc .button { width: 100%; min-height: 50px; padding: 15px 20px !important; border: 0 !important; border-radius: 999px !important; background: var(--tv-blue) !important; color: var(--tv-deep) !important; font: 800 15px/1.3 var(--tv-title) !important; text-align: center; white-space: normal; box-shadow: 0 8px 24px rgba(76,156,225,.2); transition: background .2s, box-shadow .2s; }
body .tv-material-atc .single_add_to_cart_button:hover,
body .tv-material-atc .button:hover { background: var(--tv-sky) !important; box-shadow: 0 8px 28px rgba(76,156,225,.28); }
body .tv-material-atc .button.disabled,
body .tv-material-atc .button:disabled { opacity: .5; box-shadow: none; }
body .tv-material-atc .quantity { margin: 0 0 12px; }
body .tv-material-atc .quantity .qty { min-height: 44px; max-width: 100%; border: 1px solid var(--tv-line); border-radius: 12px; background: #fff; color: var(--tv-ink); }
body .tv-material-atc table.variations { width: 100%; margin: 0 0 18px; border: 0; }
body .tv-material-atc .variations tbody,
body .tv-material-atc .variations tr,
body .tv-material-atc .variations td,
body .tv-material-atc .variations th { display: block; width: 100%; border: 0; background: none; padding: 0; }
body .tv-material-atc .variations tr + tr { margin-top: 20px; }
body .tv-material-atc .variations .label { margin-bottom: 10px; color: var(--tv-ink); font: 700 15px/1.4 var(--tv-title); text-align: left; }
body .tv-material-atc .variations select { width: 100%; min-height: 48px; margin: 0; padding: 10px 14px; border: 1px solid var(--tv-line); border-radius: 12px; background-color: #fff; color: var(--tv-ink); font: 400 16px/1.4 var(--tv-body); }
body .tv-material-atc .variable-items-wrapper { gap: 8px; flex-wrap: wrap; margin: 0; }
body .tv-material-atc .variable-items-wrapper .variable-item { width: auto; height: auto; min-height: 42px; margin: 0; padding: 8px 12px; border: 1px solid var(--tv-line); border-radius: 12px; background: #fff; box-shadow: none; color: var(--tv-ink); }
body .tv-material-atc .variable-items-wrapper .variable-item.selected { border-color: var(--tv-ink); background: var(--tv-ink); color: #fff; }
body .tv-material-atc .variable-item-span { white-space: normal; font: 500 14px/1.4 var(--tv-body); }
body .tv-material-atc .reset_variations { display: inline-block; margin-top: 10px; color: var(--tv-blue-ink); font-size: 13px; text-decoration: underline; }
body .tv-material-atc .stock { font: 500 14px/1.5 var(--tv-body); }
body .tv-material-atc .in-stock { color: var(--tv-ok); }
body .tv-material-atc .out-of-stock { color: #A52D35; }
body .tv-material-atc .woocommerce-variation-description { margin: 10px 0 16px; color: var(--tv-text); font: 400 15px/1.6 var(--tv-body); }
body .tv-material-external-note,
body .tv-material-selection-note { color: var(--tv-muted); font-size: 14px; line-height: 1.6; }
body .tv-material-back .elementor-button { width: 100%; white-space: normal; }
body .tv-material-details { background: #fff; }
body .tv-material-details-heading { max-width: 780px; }
body .tv-material-details-title .elementor-heading-title { font-size: clamp(25px,3vw,36px); line-height: 1.2; letter-spacing: -.025em; }
body .tv-material-description-card { padding: clamp(20px,3.5vw,40px) !important; border: 1px solid var(--tv-line); border-radius: 28px; background: #fff; }
body .tv-material-short-description,
body .tv-material-content { color: var(--tv-text); font: 400 17px/1.75 var(--tv-body); overflow-wrap: anywhere; }
body .tv-material-short-description .woocommerce-product-details__short-description { max-width: 82ch; margin: 0; }
body .tv-material-short-description p,
body .tv-material-content p { margin: 0 0 1.1em; }
body .tv-material-short-description strong,
body .tv-material-content strong { color: var(--tv-ink); font-weight: 700; }
body .tv-material-short-description ul,
body .tv-material-short-description ol,
body .tv-material-content ul,
body .tv-material-content ol { padding-inline-start: 1.4em; margin: 1em 0; }
body .tv-material-short-description li,
body .tv-material-content li { margin: .55em 0; padding-inline-start: .2em; }
body .tv-material-short-description hr,
body .tv-material-content hr { height: 0; margin: 28px 0; border: 0; border-top: 1px solid var(--tv-line); }
body .tv-material-short-description a,
body .tv-material-content a { color: var(--tv-blue-ink); text-decoration: underline; text-underline-offset: .16em; }
body .tv-material-content :is(h2,h3,h4) { margin: 1.6em 0 .65em; color: var(--tv-ink); font-family: var(--tv-title); font-weight: 800; line-height: 1.3; }
body .tv-material-content img { max-width: 100%; height: auto; }
body .tv-material-content table { display: block; max-width: 100%; overflow-x: auto; }
body .tv-material-help { padding: 24px !important; border-radius: 22px; background: var(--tv-bg); }
body .tv-material-help-text { color: var(--tv-ink); font-weight: 500; }
body .tv-material-help-button { flex: 0 0 auto; width: auto !important; }
body .tv-material-product :is(a,button,input,select,textarea):focus-visible { outline: 3px solid var(--tv-blue-ink); outline-offset: 3px; }
body .tv-material-notices .woocommerce-message,
body .tv-material-notices .woocommerce-info,
body .tv-material-notices .woocommerce-error { border-radius: 16px; font: 400 15px/1.6 var(--tv-body); }
@media (max-width: 1024px) {
  body .tv-material-layout { gap: 24px !important; }
  body .tv-material-gallery-panel,
  body .tv-material-buy-panel { padding: 22px !important; border-radius: 22px; }
  body .tv-material-gallery .woocommerce-product-gallery__image img { height: min(400px,45vw); }
  body .tv-material-facts > div { grid-template-columns: minmax(75px,.8fr) minmax(0,1.4fr); }
}
@media (max-width: 767px) {
  body .tv-material-layout { grid-template-columns: minmax(0,1fr); gap: 20px !important; }
  body .tv-material-top-inner { gap: 12px !important; }
  body .tv-material-title :is(h1,.product_title,.elementor-heading-title) { font-size: clamp(28px,7.5vw,38px) !important; line-height: 1.17; letter-spacing: -.03em; }
  body .tv-material-gallery-panel { padding: 16px !important; }
  body .tv-material-gallery .woocommerce-product-gallery__image img { height: 300px; max-height: 80vw; }
  body .tv-material-gallery .flex-control-thumbs { gap: 8px; margin-top: 12px !important; }
  body .tv-material-gallery .flex-control-thumbs img { height: 54px; }
  body .tv-material-buy-panel { padding: 22px 20px !important; }
  body .tv-material-short-description,
  body .tv-material-content { font-size: 16px; line-height: 1.7; }
  body .tv-material-description-card { border-radius: 22px; }
  body .tv-material-help { align-items: flex-start !important; padding: 20px !important; }
  body .tv-material-help-button,
  body .tv-material-help-button .elementor-button { width: 100% !important; }
}
@media (prefers-reduced-motion: reduce) {
  body .tv-material-atc .button { transition: none; }
}
body .tv-commerce-page { background: var(--tv-bg); color: var(--tv-text); }
body .tv-commerce-content { width: 100%; min-width: 0; }
body .tv-commerce-hero .elementor-heading-title { color: #fff !important; }
body .tv-commerce-hero h1.elementor-heading-title { font-size: clamp(36px,5vw,64px) !important; line-height: 1.08; letter-spacing: -.04em; }
body .tv-commerce-hero .tv-lead { max-width: 720px; }
body .tv-commerce-hero > .e-con-boxed > .e-con-inner { padding-top: calc(var(--tv-header-h) + 42px) !important; }
body .tv-commerce-hero .tv-commerce-steps ol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 6px 0 0; padding: 0; list-style: none; }
body .tv-commerce-hero .tv-commerce-steps li {
  display: inline-flex; align-items: center; gap: 8px; min-width: 0; max-width: 100%; min-height: 44px; padding: 6px 12px;
  border: 1px solid rgba(152,204,253,.2); border-radius: 999px; background: rgba(229,243,255,.045); color: rgba(229,243,255,.74);
  font-family: var(--tv-title); font-size: 12px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; box-sizing: border-box;
}
body .tv-commerce-hero .tv-commerce-steps li > a { display: inline-flex; align-items: center; gap: 8px; min-width: 0; min-height: 44px; padding: 6px 12px; border-radius: inherit; color: inherit; text-decoration: none; }
body .tv-commerce-hero .tv-commerce-steps li:has(>a) { padding: 0; }
body .tv-commerce-hero .tv-commerce-steps li span { display: grid; flex: 0 0 26px; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(152,204,253,.13); color: var(--tv-sky); font-size: 11px; font-weight: 800; }
body .tv-commerce-hero .tv-commerce-steps li.is-active { border-color: var(--tv-sky); background: var(--tv-ice); color: var(--tv-deep); font-weight: 800; }
body .tv-commerce-hero .tv-commerce-steps li.is-active span { background: var(--tv-blue); color: var(--tv-deep); }
body .tv-commerce-hero .tv-commerce-steps a:hover { color: #fff; background: rgba(152,204,253,.1); }
body .tv-commerce-hero .tv-commerce-steps a:focus-visible { outline: 3px solid var(--tv-sky); outline-offset: 3px; }
body .tv-commerce-content :is(.elementor-widget,.elementor-widget-container,.woocommerce) { min-width: 0; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.cart-collaterals,form.checkout,.woocommerce-form-coupon,.woocommerce-form-login,.woocommerce-order) {
  min-width: 0; color: var(--tv-text); font-family: var(--tv-body); font-size: 15px; line-height: 1.65;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.cart-collaterals,form.checkout,.woocommerce-form-coupon,.woocommerce-form-login,.woocommerce-order) a {
  color: var(--tv-blue-ink); text-underline-offset: 3px;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.cart_totals,form.checkout,.woocommerce-order) :is(h2,h3) {
  margin: 0 0 20px; color: var(--tv-ink); font-family: var(--tv-title); font-size: 23px; font-weight: 800; line-height: 1.25; letter-spacing: -.025em;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .e-cart__container {
  display: grid !important; grid-template-columns: minmax(0,1.85fr) minmax(300px,.95fr) !important; align-items: start; gap: 24px !important;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .e-cart__column { min-width: 0; width: auto !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.e-shop-table,.e-cart-totals,.e-cart__column-inner) { padding: 0 !important; border: 0 !important; border-radius: 0; background: transparent !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form {
  margin: 0; padding: 24px; border: 1px solid var(--tv-line); border-radius: 24px; background: #fff; box-shadow: 0 12px 36px rgba(29,78,122,.035);
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart-collaterals { width: auto; padding: 0; border: 0; background: transparent; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart-collaterals .cart_totals {
  float: none; width: 100%; margin: 0; padding: 26px; border: 1px solid var(--tv-line); border-radius: 24px; background: #fff; box-shadow: 0 12px 36px rgba(29,78,122,.035);
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals.calculated_shipping { width: 100%; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table {
  width: 100%; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; background: transparent;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table thead th {
  padding: 0 10px 16px; border: 0; border-bottom: 1px solid var(--tv-line); background: transparent;
  color: var(--tv-muted); font-family: var(--tv-title); font-size: 10px; font-weight: 700; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table td {
  padding: 20px 10px; border: 0; border-bottom: 1px solid var(--tv-line); background: transparent; vertical-align: middle;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .product-name { min-width: 0; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .product-name > a {
  color: var(--tv-ink); font-family: var(--tv-title); font-size: 15px; font-weight: 800; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form td.product-thumbnail { width: 70px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .product-thumbnail img {
  display: block; width: 60px; max-width: none; height: 60px; border: 1px solid var(--tv-line); border-radius: 14px; object-fit: contain; background: var(--tv-bg);
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.woocommerce-checkout-review-order-table) dl.variation {
  display: grid; grid-template-columns: max-content minmax(0,1fr); column-gap: 7px; row-gap: 3px; margin: 10px 0 0; font-size: 12px; line-height: 1.5;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.woocommerce-checkout-review-order-table) dl.variation :is(dt,dd) {
  float: none; margin: 0; padding: 0; color: var(--tv-muted); font-weight: 400; overflow-wrap: anywhere;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.woocommerce-checkout-review-order-table) dl.variation dt { font-weight: 700; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.woocommerce-checkout-review-order-table) dl.variation p { margin: 0; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form a.remove {
  display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--tv-line); border-radius: 12px;
  background: #fff; color: var(--tv-muted) !important; font-size: 23px; font-weight: 400; line-height: 1; text-decoration: none;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form a.remove:hover { color: #A12A2A !important; border-color: #E9B4AF; background: #FFF0EF; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .quantity .qty {
  width: 70px; min-width: 60px; min-height: 46px; margin: 0; padding: 10px 5px; border: 1px solid var(--tv-line); border-radius: 12px;
  background: #fff; color: var(--tv-ink); font-family: var(--tv-body); font-size: 16px; line-height: 1.4; text-align: center;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .actions { padding-top: 20px !important; padding-bottom: 0 !important; border-bottom: 0 !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .coupon { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; max-width: 100%; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .coupon .input-text {
  width: 170px; min-width: 0; min-height: 46px; margin: 0; padding: 11px 13px; border: 1px solid var(--tv-line); border-radius: 12px; font-family: var(--tv-body); font-size: 15px;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .coupon.e-cart-section { width: 100%; margin: 20px 0 0; padding: 0 !important; border: 0 !important; background: transparent !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .coupon-col { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; margin: 0; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .coupon-col-start { flex: 1 1 150px; width: auto; min-width: 0; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .coupon-col-end { flex: 1 1 auto; width: auto; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .coupon-col .input-text { width: 100% !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .coupon-col button { width: 100%; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form button[name="update_cart"] { margin-top: 10px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals,.woocommerce-checkout-review-order-table) table { width: 100%; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals table,.woocommerce-checkout-review-order-table) {
  margin: 0; border: 0; border-collapse: separate; border-spacing: 0; background: transparent; font-size: 14px;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals table.shop_table_responsive { display: table !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals table.shop_table_responsive tbody { display: table-row-group !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals table.shop_table_responsive tr { display: table-row !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals table.shop_table_responsive :is(th,td) { display: table-cell !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals table.shop_table_responsive th { text-align: left !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals table.shop_table_responsive th:not([colspan]) { width: 45%; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals table.shop_table_responsive td { text-align: right !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals table.shop_table_responsive td::before { display: none !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals table,.woocommerce-checkout-review-order-table) :is(th,td) {
  padding: 14px 0; border: 0; border-bottom: 1px solid var(--tv-line); background: transparent; color: var(--tv-text); line-height: 1.55; vertical-align: top; overflow-wrap: anywhere;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals table,.woocommerce-checkout-review-order-table) th { font-weight: 500; text-align: left; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals table,.woocommerce-checkout-review-order-table) td { text-align: right; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order-table) :is(.amount,bdi) {
  color: var(--tv-blue-ink) !important; font-family: var(--tv-title); font-size: 15px; font-weight: 800;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order-table) del :is(.amount,bdi) { color: var(--tv-muted) !important; font-size: 12px; font-weight: 400; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order-table) ins { text-decoration: none; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals,.woocommerce-checkout-review-order-table) .order-total:not(.recurring-total) > :is(th,td) {
  padding: 17px 12px; border-bottom: 0; background: var(--tv-ice); color: var(--tv-ink); font-family: var(--tv-title); font-weight: 800;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals,.woocommerce-checkout-review-order-table) .order-total:not(.recurring-total) > th { border-radius: 12px 0 0 12px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals,.woocommerce-checkout-review-order-table) .order-total:not(.recurring-total) > td { border-radius: 0 12px 12px 0; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals,.woocommerce-checkout-review-order-table) .order-total:not(.recurring-total) :is(.amount,bdi) { font-size: 22px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals,.woocommerce-checkout-review-order-table) .recurring-totals th {
  padding: 26px 0 8px; border-bottom: 0; color: var(--tv-blue-ink); font-family: var(--tv-title); font-size: 12px; font-weight: 800; letter-spacing: .04em;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals,.woocommerce-checkout-review-order-table) .recurring-total :is(th,td) { font-size: 13px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals,.woocommerce-checkout-review-order-table) .first-payment-date {
  margin-top: 7px; padding: 8px 10px; border-radius: 9px; background: var(--tv-bg); color: var(--tv-muted); font-size: 12px; line-height: 1.55;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals,.woocommerce-checkout-review-order-table) .first-payment-date small { font-size: inherit; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals .wc-proceed-to-checkout { margin: 22px 0 0; padding: 0; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.woocommerce-checkout-review-order-table) .subscription-price { color: var(--tv-text); font-size: 12px; line-height: 1.55; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .wcs-checkout-item-price { margin-top: 9px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .tv-commerce-payment {
  display: grid; gap: 3px; margin: 8px 0 0; padding: 8px 10px; border-left: 2px solid var(--tv-sky); border-radius: 0 8px 8px 0; background: var(--tv-bg); text-align: left;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .tv-commerce-payment-label { color: var(--tv-muted); font-family: var(--tv-body); font-size: 11px; font-weight: 400; line-height: 1.45; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .tv-commerce-payment-value,
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .tv-commerce-payment-value :is(.amount,bdi) { color: var(--tv-blue-ink) !important; font-family: var(--tv-body); font-size: 12px; font-weight: 700; line-height: 1.45; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .tv-commerce-payment[data-tv-commerce-payment="reserve"] { background: var(--tv-ice); }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form button.button,.cart_totals a.checkout-button,.return-to-shop a.button,.woocommerce-form-coupon button.button,.woocommerce-form-login button.button,#place_order) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 19px !important; border: 0; border-radius: 13px !important;
  background: var(--tv-blue) !important; color: var(--tv-deep) !important; font-family: var(--tv-title); font-size: 14px; font-weight: 800; line-height: 1.45; text-align: center; text-decoration: none; white-space: normal;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals a.checkout-button,#place_order) { width: 100%; font-size: 15px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form button.button,.cart_totals a.checkout-button,.return-to-shop a.button,.woocommerce-form-coupon button.button,.woocommerce-form-login button.button,#place_order):not(:disabled):not(.disabled):hover { background: var(--tv-sky) !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form button.button,.woocommerce-form-coupon button.button,#place_order):is(:disabled,.disabled) { background: #D7E0E8 !important; color: #536373 !important; opacity: 1; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout { margin: 0; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .e-checkout__container { display: grid !important; grid-template-columns: minmax(0,1.3fr) minmax(320px,1fr) !important; align-items: start; gap: 24px !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .e-checkout__column { min-width: 0; width: auto !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.e-checkout__column-inner,.e-checkout__order_review,.e-checkout__order_review-2) { padding: 0 !important; border: 0 !important; background: transparent !important; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout:not(:has(.e-checkout__container)) { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(320px,1fr); align-items: start; gap: 0 24px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout:not(:has(.e-checkout__container)) > #customer_details { grid-column: 1; grid-row: span 2; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout:not(:has(.e-checkout__container)) > :is(#order_review_heading,#order_review) { grid-column: 2; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout:not(:has(.e-checkout__container)) > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout > wc-order-attribution-inputs { display: none; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #customer_details {
  width: 100%; min-width: 0; padding: 28px; border: 1px solid var(--tv-line); border-radius: 24px; background: #fff; box-shadow: 0 12px 36px rgba(29,78,122,.035);
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #customer_details :is(.col-1,.col-2) { float: none; width: 100%; min-width: 0; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #customer_details .woocommerce-additional-fields h3 { margin-top: 26px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #order_review_heading { margin: 0 0 16px; color: var(--tv-ink); font-family: var(--tv-title); font-size: 23px; font-weight: 800; line-height: 1.3; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #order_review {
  min-width: 0; padding: 26px; border: 1px solid var(--tv-line); border-radius: 24px; background: #fff; box-shadow: 0 12px 36px rgba(29,78,122,.035);
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-checkout-review-order-table thead th { color: var(--tv-muted); font-family: var(--tv-title); font-size: 11px; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-checkout-review-order-table th.product-total { text-align: right; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-checkout-review-order-table td.product-name { padding-right: 16px; color: var(--tv-ink); font-size: 14px; text-align: left; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-checkout-review-order-table .product-quantity { white-space: nowrap; color: var(--tv-muted); font-size: 12px; font-weight: 500; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(form.checkout,.woocommerce-form-coupon,.woocommerce-form-login) .form-row { margin: 0 0 18px; padding: 0; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(form.checkout,.woocommerce-form-coupon,.woocommerce-form-login) .form-row label { margin: 0 0 7px; color: var(--tv-ink); font-family: var(--tv-body); font-size: 13px; font-weight: 500; line-height: 1.5; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(form.checkout,.woocommerce-form-coupon,.woocommerce-form-login) :is(input.input-text,textarea,select) {
  width: 100%; max-width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 12px 14px; border: 1px solid var(--tv-line); border-radius: 12px;
  background: #fff; color: var(--tv-ink); font-family: var(--tv-body); font-size: 16px; font-weight: 400; line-height: 1.4; box-sizing: border-box;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout textarea { min-height: 112px; resize: vertical; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(form.checkout,.woocommerce-form-coupon,.woocommerce-form-login) .required { color: #A12A2A; text-decoration: none; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout .woocommerce-invalid :is(input.input-text,select,.select2-selection) { border-color: #B63D35; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout :is(.woocommerce-form__label-for-checkbox,.woocommerce-terms-and-conditions-checkbox-text) { color: var(--tv-text); font-size: 13px; line-height: 1.65; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout label:has(input[type="checkbox"]) { display: inline-block; min-height: 44px; padding: 10px 0; cursor: pointer; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--tv-blue-ink); }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout .select2-container { max-width: 100%; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout .select2-selection--single { min-height: 48px; border: 1px solid var(--tv-line); border-radius: 12px; background: #fff; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout .select2-selection--single .select2-selection__rendered { padding: 9px 32px 9px 14px; color: var(--tv-ink); font-family: var(--tv-body); font-size: 16px; line-height: 28px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout .select2-selection--single .select2-selection__arrow { top: 1px; right: 6px; height: 46px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .select2-dropdown { border-color: var(--tv-line); border-radius: 12px; font-family: var(--tv-body); font-size: 15px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .select2-search--dropdown .select2-search__field { min-height: 44px; border: 1px solid var(--tv-line); border-radius: 8px; font-size: 16px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #payment {
  margin-top: 22px; padding: 24px; border: 1px solid var(--tv-line); border-radius: 22px; background: #fff;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #order_review #payment { padding: 0; border: 0; border-radius: 0; background: transparent; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #payment ul.payment_methods { margin: 0 0 18px; padding: 0; border: 0; list-style: none; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #payment ul.payment_methods li.wc_payment_method { margin: 0 0 10px; padding: 15px; border: 1px solid var(--tv-line); border-radius: 14px; background: #fff; line-height: 1.65; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #payment ul.payment_methods li > label { color: var(--tv-ink); font-family: var(--tv-body); font-size: 14px; font-weight: 700; line-height: 1.5; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #payment ul.payment_methods li > label img { max-height: 26px; width: auto; margin-left: 8px; vertical-align: middle; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #payment .payment_box { width: auto; margin: 14px 0 0; padding: 15px; border-radius: 12px; background: var(--tv-bg); color: var(--tv-text); font-family: var(--tv-body); font-size: 14px; line-height: 1.65; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #payment .payment_box::before { border-bottom-color: var(--tv-bg); }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #payment .payment_box p:last-child { margin-bottom: 0; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #payment .wc-stripe-elements-field { min-height: 44px; padding: 12px; border: 1px solid var(--tv-line); border-radius: 10px; background: #fff; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #payment .place-order { margin: 0; padding: 0; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper) { color: var(--tv-muted); font-family: var(--tv-body); font-size: 12.5px; line-height: 1.65; overflow-wrap: anywhere; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper) a { color: var(--tv-blue-ink); text-decoration: underline; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #place_order { margin-top: 12px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .tv-commerce-content :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) {
  margin: 0 0 20px; padding: 16px 18px 16px 48px; border: 1px solid var(--tv-line); border-radius: 14px;
  background: var(--tv-ice); color: var(--tv-text); font-family: var(--tv-body); font-size: 14px; line-height: 1.65;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .tv-commerce-content .woocommerce-error { border-color: #E9B4AF; background: #FFF0EF; color: #922C26; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .tv-commerce-content .woocommerce-message { border-color: #B8DDC6; background: var(--tv-ok-bg); color: var(--tv-ok); }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .tv-commerce-content :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before { top: 18px; left: 18px; color: inherit; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(form.woocommerce-form-coupon,form.woocommerce-form-login) {
  margin: 0 0 24px; padding: 24px; border: 1px solid var(--tv-line); border-radius: 20px; background: #fff;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .tv-commerce-content .cart-empty {
  padding: 32px; border: 1px solid var(--tv-line); border-radius: 22px; background: #fff; color: var(--tv-ink); font-size: 17px; text-align: center;
}
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .tv-commerce-content .cart-empty::before { position: static; display: block; margin: 0 0 12px; color: var(--tv-blue-ink); font-size: 25px; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .return-to-shop { margin: 24px 0 0; text-align: center; }
body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.cart_totals,form.checkout,.woocommerce-form-coupon,.woocommerce-form-login) :is(a,button,input,textarea,select):focus-visible { outline: 3px solid var(--tv-blue); outline-offset: 3px; }
@media (max-width: 1024px) {
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.e-cart__container,.e-checkout__container,form.checkout:not(:has(.e-checkout__container))) { grid-template-columns: minmax(0,1fr) !important; gap: 22px !important; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout:not(:has(.e-checkout__container)) > :is(#customer_details,#order_review_heading,#order_review) { grid-column: 1; grid-row: auto; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) form.checkout:not(:has(.e-checkout__container)) > #order_review_heading { margin-bottom: -6px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.e-cart__column,.e-checkout__column) { width: 100%; }
}
@media (max-width: 767px) {
  body .tv-commerce-hero > .e-con-boxed > .e-con-inner { padding-top: calc(var(--tv-header-h) + 30px) !important; }
  body .tv-commerce-hero h1.elementor-heading-title { font-size: clamp(34px,8.5vw,48px) !important; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.cart-collaterals .cart_totals,#customer_details,#order_review,#payment) { padding: 22px; border-radius: 20px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table :is(thead) { display: none; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item {
    display: grid; grid-template-columns: 60px minmax(0,1fr) 44px; column-gap: 12px; row-gap: 9px; padding: 18px 0; border-bottom: 1px solid var(--tv-line);
  }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item td { min-width: 0; padding: 0; border: 0; background: transparent !important; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table :is(td.product-thumbnail,td.product-name,td.product-remove)::before { display: none; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table td.product-thumbnail { display: block !important; grid-column: 1; grid-row: 1; width: auto; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table td.product-name { display: block; grid-column: 2; grid-row: 1; text-align: left !important; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table td.product-remove { display: block; grid-column: 3; grid-row: 1; justify-self: end; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table :is(td.product-price,td.product-quantity,td.product-subtotal) { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; flex-wrap: wrap; column-gap: 12px; row-gap: 5px; min-height: 38px; text-align: right !important; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table :is(td.product-price,td.product-quantity,td.product-subtotal)::before { color: var(--tv-muted); font-family: var(--tv-body); font-size: 12px; font-weight: 500; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form td.product-price .tv-commerce-payment { flex-basis: 100%; width: 100%; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table td.actions { display: block; padding-left: 0; padding-right: 0; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .coupon { float: none; width: 100%; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .coupon :is(.input-text,button.button) { flex: 1 1 150px; width: auto !important; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form button[name="update_cart"] { width: 100%; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals table.shop_table_responsive tr { display: table-row; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals table.shop_table_responsive :is(th,td) { display: table-cell; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .cart_totals table.shop_table_responsive td::before { display: none; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(form.checkout,.woocommerce-form-coupon,.woocommerce-form-login) :is(.form-row-first,.form-row-last) { float: none; width: 100%; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.cart_totals,form.checkout) :is(h2,h3),
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #order_review_heading { font-size: 21px; }
}
@media (max-width: 479px) {
  body .tv-commerce-hero .tv-commerce-steps li { padding: 6px 10px; font-size: 11px; }
  body .tv-commerce-hero .tv-commerce-steps li:has(>a) { padding: 0; }
  body .tv-commerce-hero .tv-commerce-steps li > a { padding: 6px 10px; }
  body .tv-commerce-hero .tv-commerce-steps li span { flex-basis: 24px; width: 24px; height: 24px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.woocommerce-cart-form,.cart-collaterals .cart_totals,#customer_details,#order_review,#payment) { padding: 18px; border-radius: 18px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #order_review #payment { padding: 0; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item { grid-template-columns: 48px minmax(0,1fr) 44px; gap: 10px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .product-thumbnail img { width: 48px; height: 48px; border-radius: 11px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-cart-form .product-name > a { font-size: 14px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #payment ul.payment_methods li.wc_payment_method { padding: 12px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) #payment .payment_box { padding: 12px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) .woocommerce-checkout-review-order-table td.product-name { padding-right: 10px; font-size: 13px; }
  body:is(.woocommerce-cart,.woocommerce-checkout,:has(.tv-commerce-page)) :is(.cart_totals,.woocommerce-checkout-review-order-table) .order-total:not(.recurring-total) :is(.amount,bdi) { font-size: 19px; }
}
dialog.tv-placement {
  width: min(760px,calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 0;
  border: 1px solid var(--tv-line); border-radius: 26px; background: #fff; color: var(--tv-text);
  box-shadow: 0 32px 100px rgba(11,29,46,.3); font-family: var(--tv-body); font-size: 16px; line-height: 1.65; overflow: hidden;
}
dialog.tv-placement:not([open]) { display: none; }
dialog.tv-placement::backdrop { background: rgba(11,29,46,.72); backdrop-filter: blur(5px); }
.tv-placement .tv-placement-panel { display: flex; flex-direction: column; max-height: calc(100dvh - 32px); min-height: 0; }
.tv-placement .tv-placement-header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; border-bottom: 1px solid var(--tv-line); background: var(--tv-ice); }
.tv-placement .tv-placement-header h2 { margin: 0; color: var(--tv-ink); font-family: var(--tv-title); font-size: 18px; font-weight: 800; line-height: 1.35; letter-spacing: -.02em; }
.tv-placement .tv-placement-close { display: grid; flex: 0 0 44px; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--tv-line); border-radius: 12px; background: #fff; color: var(--tv-blue-ink); font-size: 28px; line-height: 1; cursor: pointer; }
.tv-placement .tv-placement-close:hover { background: var(--tv-sky); color: var(--tv-deep); }
.tv-placement .tv-placement-body { flex: 1 1 auto; min-height: 0; padding: 28px; overflow-y: auto; overscroll-behavior: contain; }
.tv-placement .tv-placement-body > h3 { margin: 0 0 18px; color: var(--tv-ink); font-family: var(--tv-title); font-size: 27px; font-weight: 800; line-height: 1.25; letter-spacing: -.03em; }
.tv-placement .tv-placement-body > p { margin: 0 0 18px; }
.tv-placement .tv-placement-eyebrow { margin: 0 0 13px !important; color: var(--tv-blue-ink); font-family: var(--tv-title); font-size: 11px; font-weight: 800; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
.tv-placement .tv-placement-note { margin: 20px 0; padding: 16px 18px; border-left: 3px solid var(--tv-blue); border-radius: 0 12px 12px 0; background: var(--tv-ice); color: var(--tv-text); font-size: 13px; line-height: 1.65; }
.tv-placement .tv-placement-progress-copy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; margin: 0 0 8px; color: var(--tv-muted); font-size: 12px; }
.tv-placement .tv-placement-progress { display: block; width: 100%; height: 7px; margin: 0 0 24px; border: 0; border-radius: 99px; background: var(--tv-line); color: var(--tv-blue); appearance: none; overflow: hidden; }
.tv-placement .tv-placement-progress::-webkit-progress-bar { background: var(--tv-line); border-radius: 99px; }
.tv-placement .tv-placement-progress::-webkit-progress-value { background: var(--tv-blue); border-radius: 99px; }
.tv-placement .tv-placement-progress::-moz-progress-bar { background: var(--tv-blue); border-radius: 99px; }
.tv-placement .tv-placement-question { min-width: 0; margin: 0; padding: 0; border: 0; }
.tv-placement .tv-placement-question legend { display: block; float: none; width: 100%; margin: 0; padding: 0; color: var(--tv-ink); font-family: var(--tv-title); font-size: 20px; font-weight: 700; line-height: 1.5; }
.tv-placement .tv-placement-stem { margin: 18px 0; padding: 20px; border: 1px solid var(--tv-line); border-radius: 16px; background: var(--tv-bg); color: var(--tv-ink); font-family: var(--tv-cjk); font-size: clamp(22px,4vw,30px); line-height: 1.7; overflow-wrap: anywhere; }
.tv-placement .tv-placement-options { display: grid; gap: 9px; }
.tv-placement .tv-placement-option { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 54px; margin: 0; padding: 13px 15px; border: 1px solid var(--tv-line); border-radius: 13px; background: #fff; color: var(--tv-ink); font-family: var(--tv-body); font-size: 15px; line-height: 1.5; cursor: pointer; box-sizing: border-box; }
.tv-placement .tv-placement-option input { flex: 0 0 19px; width: 19px; height: 19px; margin: 0; accent-color: var(--tv-blue-ink); }
.tv-placement .tv-placement-option span { min-width: 0; overflow-wrap: anywhere; }
.tv-placement .tv-placement-option span:is([lang="ja"],[lang="ko"],[lang="zh-Hans"]) { font-size: 18px; }
.tv-placement .tv-placement-option:has(input:checked) { border-color: var(--tv-blue); background: var(--tv-ice); box-shadow: inset 0 0 0 1px var(--tv-blue); }
.tv-placement .tv-placement-option:hover { border-color: var(--tv-sky); }
.tv-placement .tv-placement-option:focus-within { outline: 3px solid var(--tv-blue); outline-offset: 2px; }
.tv-placement .tv-placement-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0; }
.tv-placement .tv-placement-actions > * { flex: 1 1 190px; }
.tv-placement :is(.tv-placement-primary,.tv-placement-secondary) { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; padding: 13px 20px; border: 1px solid transparent; border-radius: 13px; font-family: var(--tv-title); font-size: 14px; font-weight: 800; line-height: 1.5; text-align: center; text-decoration: none; white-space: normal; cursor: pointer; box-sizing: border-box; }
.tv-placement .tv-placement-primary { background: var(--tv-blue); color: var(--tv-deep); }
.tv-placement .tv-placement-primary:not(:disabled):hover { background: var(--tv-sky); }
.tv-placement .tv-placement-secondary { border-color: var(--tv-line); background: #fff; color: var(--tv-blue-ink); }
.tv-placement .tv-placement-secondary:not(:disabled):hover { background: var(--tv-bg); }
.tv-placement :is(.tv-placement-primary,.tv-placement-secondary):disabled { background: #E4EBF2; color: #667888; cursor: not-allowed; }
.tv-placement .tv-placement-restart { min-height: 44px; margin: 12px 0 0; padding: 10px 0; border: 0; background: transparent; color: var(--tv-blue-ink); font-family: var(--tv-body); font-size: 13px; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tv-placement :is(button,a):focus-visible { outline: 3px solid var(--tv-blue); outline-offset: 3px; }
.tv-placement .tv-placement-result-title { color: var(--tv-blue-ink) !important; }
.tv-placement .tv-placement-score { color: var(--tv-muted); font-size: 14px; }
.tv-placement .tv-placement-score strong { color: var(--tv-ink); font-family: var(--tv-title); font-size: 19px; }
.tv-placement .tv-placement-blocks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0 0 20px; padding: 0; list-style: none; }
.tv-placement .tv-placement-blocks li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 10px; margin: 0; padding: 15px; border: 1px solid var(--tv-line); border-radius: 13px; background: var(--tv-bg); }
.tv-placement .tv-placement-blocks li span { color: var(--tv-ink); font-size: 13px; font-weight: 500; line-height: 1.5; }
.tv-placement .tv-placement-blocks li strong { color: var(--tv-blue-ink); font-family: var(--tv-title); font-size: 16px; }
.tv-placement .tv-placement-blocks li small { grid-column: 1 / -1; color: var(--tv-muted); font-size: 12px; }
.tv-placement .tv-placement-method { font-size: 13px; line-height: 1.65; }
@media (max-width: 479px) {
  dialog.tv-placement { width: calc(100% - 16px); max-height: calc(100dvh - 16px); border-radius: 18px; }
  .tv-placement .tv-placement-panel { max-height: calc(100dvh - 16px); }
  .tv-placement .tv-placement-header { gap: 10px; padding: 13px 16px; }
  .tv-placement .tv-placement-header h2 { font-size: 15px; }
  .tv-placement .tv-placement-body { padding: 20px 18px; }
  .tv-placement .tv-placement-body > h3 { font-size: 23px; }
  .tv-placement .tv-placement-question legend { font-size: 18px; }
  .tv-placement .tv-placement-stem { padding: 15px; font-size: 23px; }
  .tv-placement .tv-placement-option { padding: 12px; font-size: 14px; }
  .tv-placement .tv-placement-blocks { grid-template-columns: minmax(0,1fr); }
  .tv-placement .tv-placement-actions > * { flex-basis: 100%; }
}
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content { min-width: 0; }
body.logged-in .tv-acc--enhanced .tv-account-section { padding: 0 0 24px !important; margin: 0 0 24px; border-bottom: 1px solid var(--tv-line); background: transparent !important; }
body.logged-in .tv-acc--enhanced .tv-account-section h1 { color: var(--tv-ink); font: 800 clamp(25px,3vw,34px)/1.2 var(--tv-title); letter-spacing: -.025em; margin: 0 0 12px; }
body.logged-in .tv-acc--enhanced .tv-account-section p { color: var(--tv-text); font: 400 16px/1.65 var(--tv-body); margin: 0 0 10px; }
body.logged-in .tv-acc--enhanced .tv-account-section .tv-account-invoice-note { color: var(--tv-muted); font-size: 14px; }
body.logged-in .tv-acc--enhanced .tv-account-back { display: inline-block; margin-top: 8px; color: var(--tv-blue-ink); font: 700 14px/1.5 var(--tv-title); }
body.logged-in .tv-acc--enhanced .tv-account-endpoint-help { margin: 24px 0 0; padding: 18px 22px !important; border: 1px solid var(--tv-line); border-radius: 16px; background: var(--tv-ice) !important; font: 500 14px/1.6 var(--tv-body); }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content table.shop_table { width: 100%; margin: 0 0 24px; border-spacing: 0; font: 400 15px/1.6 var(--tv-body); }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content table.shop_table :is(th,td) { padding: 14px 12px; vertical-align: middle; border-color: var(--tv-line); overflow-wrap: anywhere; }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content table.shop_table thead th { background: var(--tv-bg); color: var(--tv-muted); font: 700 12px/1.5 var(--tv-title); letter-spacing: .04em; }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions { min-width: 155px; }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button,
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content .subscription-actions .button { display: inline-flex; align-items: center; justify-content: center; margin: 4px 4px 4px 0; min-height: 40px; padding: 10px 15px !important; border-radius: 999px !important; line-height: 1.3; white-space: normal; }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding: 0 !important; border: 0 !important; background: transparent !important; }
body.logged-in .tv-acc--enhanced .woocommerce-Addresses .woocommerce-Address { width: 100% !important; float: none; padding: 24px; border: 1px solid var(--tv-line); border-radius: 22px; background: #fff; }
body.logged-in .tv-acc--enhanced .woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
body.logged-in .tv-acc--enhanced .woocommerce-Address-title h2 { font-size: 20px !important; margin: 0; }
body.logged-in .tv-acc--enhanced .woocommerce-Address address { color: var(--tv-text); font: 400 15px/1.7 var(--tv-body); }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content :is(.form-row,fieldset) { min-width: 0; }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content :is(label,legend) { color: var(--tv-ink); font-family: var(--tv-title); font-weight: 700; }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content fieldset { margin: 24px 0 0; padding: 22px 0 0; border: 0; border-top: 1px solid var(--tv-line); }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content legend { float: none; width: auto; margin: 0 0 14px; font-size: 18px; }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content :is(input,select,textarea) { max-width: 100%; }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content .woocommerce-form-row em { display: block; margin-top: 8px; color: var(--tv-muted); font: 400 13px/1.5 var(--tv-body); }
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content .woocommerce-info { color: var(--tv-text); font: 400 15px/1.65 var(--tv-body); }
body.logged-in .tv-acc--enhanced .tv-apps { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
body.logged-in .tv-acc--enhanced .tv-app[data-tv-app="kana"],
body.logged-in .tv-acc--enhanced .tv-app[data-tv-app="hangul"] { border-color: var(--tv-line); background: #fff; }
body.logged-in .tv-acc--enhanced .tv-app[data-tv-app="hangul"] .tv-app-ic .elementor-heading-title { background: linear-gradient(135deg,var(--tv-deep3),var(--tv-blue-ink)); }
body.logged-in .tv-acc--enhanced .tv-side-logo-i img { display: block; width: 32px; height: 32px; object-fit: contain; }
body.logged-in .tv-acc--enhanced :is(a,button,input,select,textarea):focus-visible { outline: 3px solid var(--tv-blue-ink); outline-offset: 3px; }
@media(max-width:1024px) {
  body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-navigation ul { flex-wrap: nowrap !important; overflow-x: auto; padding-bottom: 5px !important; scrollbar-width: thin; }
  body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
  body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-navigation li a { white-space: nowrap; }
  body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content { padding: 26px 22px 42px !important; }
}
@media(max-width:767px) {
  body.logged-in .tv-acc--enhanced .tv-apps,
  body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: minmax(0,1fr) !important; }
  body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content { padding: 22px 16px 36px !important; }
  body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-content table.shop_table :is(th,td) { padding: 12px 10px; }
  body.logged-in .tv-acc--enhanced .woocommerce-orders-table__cell-order-actions .button { min-width: 95px; margin-inline-end: 6px; }
  body.logged-in .tv-acc--enhanced .woocommerce-Address { padding: 20px; }
}
body:not(.logged-in) .tv-acc{--tv-acc-h:calc(100dvh - var(--wp-admin--admin-bar--height,0px));min-height:var(--tv-acc-h)!important;width:100%;}
body:not(.logged-in):has(.tv-acc) main{margin:0!important;padding:0!important;max-width:none!important;}
body .tv-acc .tv-reg-toggle button{max-width:100%;white-space:normal;line-height:1.5;overflow-wrap:anywhere;}
body.logged-in .tv-acc--enhanced :is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content){min-width:0;max-width:100%;}
body.logged-in .tv-acc--enhanced .woocommerce-MyAccount-navigation ul{min-width:0;max-width:100%;}
body.logged-in .tv-acc--enhanced .tv-apps{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch;}
body .tv-apps>*,body .tv-kanji-plugin .elementor-widget-container,body .tv-kanji-plugin .elementor-shortcode{height:100%;min-width:0;}
body .tv-apps .tv-app,body .tv-apps .kmx-app-card{min-height:250px;height:100%;padding:28px!important;border-radius:22px!important;background:#f4f7fc!important;border:1px solid transparent;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start;gap:0;text-decoration:none;}
body .tv-apps .tv-app-ic .elementor-heading-title,body .tv-apps .kmx-app-icon{width:70px;height:70px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:36px;line-height:1;margin:0 0 26px;}
body .tv-apps .tv-app h3,body .tv-apps .kmx-app-title{margin:0 0 12px!important;font:800 23px/1.2 var(--tv-title)!important;color:var(--tv-ink)!important;}
body .tv-acc .tv-dash .tv-apps .tv-app h3.elementor-heading-title{font:800 23px/1.2 var(--tv-title)!important;margin:0!important;}
body .tv-acc .tv-dash .tv-apps .tv-app>.elementor-widget-heading:not(.tv-app-ic):not(.tv-soon){margin:0 0 12px!important;}
body .tv-acc .tv-dash .tv-apps .tv-app>.tv-app-ic{margin:0 0 26px!important;}
body .tv-acc .tv-dash .tv-apps .tv-app .tv-app-ic .elementor-heading-title{margin:0!important;font-size:36px!important;}
body .tv-acc .tv-dash .tv-apps .tv-app .elementor-widget-text-editor,body .tv-acc .tv-dash .tv-apps .tv-app .elementor-widget-text-editor p,body .tv-apps .kmx-app-desc{font:400 16px/1.6 var(--tv-body)!important;color:#5b6b7e!important;margin:0!important;}
body .tv-apps .tv-app .tv-soon{position:absolute;top:18px;right:18px;}
body .tv-apps .tv-app[data-tv-app="hangul"]{grid-column:1;grid-row:2;background:#e8f5ed!important;border-color:#c4e4d0;}
body .tv-apps .tv-app[data-tv-app="hangul"] .tv-app-ic .elementor-heading-title{background:#c3e5d0!important;color:#235a40!important;}
body .tv-apps .tv-soon-app{opacity:1;cursor:default;}
body .tv-request-layout>.e-con-inner{display:grid!important;grid-template-columns:minmax(230px,1fr) minmax(0,2fr);gap:36px;align-items:start;}
body .tv-request-help{padding:28px!important;border:1px solid var(--tv-line);border-radius:24px;background:var(--tv-ice);}
body .tv-request-fallback{font-size:13px;color:var(--tv-muted);margin:16px 4px;}
body .tv-theme-ko,body .tv-course#coreano,body .tv-row[href*="#coreano"],body .tvb[data-tv-language="ko"],body:is(.postid-15191,.postid-15523,.postid-20846,.postid-20855) :is(.tv-course-top,.tv-course-booking,.tv-course-information,.tv-course-sidebar),dialog.tv-placement[lang][data-language="ko"]{--tv-blue:#a9d8bd;--tv-sky:#c6ecd5;--tv-ice:#e8f5ed;--tv-blue-ink:#286745;--tv-line:#c4e4d0;--tv-bg:#f3faf5;}
body .tv-theme-zh,body .tv-course#chino,body .tv-row[href*="#chino"],body .tvb[data-tv-language="zh"],body:is(.postid-15161,.postid-15512) :is(.tv-course-top,.tv-course-booking,.tv-course-information,.tv-course-sidebar),dialog.tv-placement[lang][data-language="zh"]{--tv-blue:#edb4b5;--tv-sky:#f5d1d2;--tv-ice:#fcebed;--tv-blue-ink:#914048;--tv-line:#efd0d4;--tv-bg:#fff6f6;}
body .tv-row:is([href*="#coreano"],[href*="#chino"]) .tv-glyph .elementor-heading-title{color:var(--tv-blue-ink)!important;}
body .tv-row:is([href*="#coreano"],[href*="#chino"]) .tv-rowtitle .elementor-heading-title small span{color:var(--tv-blue-ink);}
body .tv-course#chino .tv-visual{background:linear-gradient(150deg,#351c25 0%,#743b48 80%,#edb4b5 140%)!important;}
body .tv-course#coreano .tv-visual{background:linear-gradient(150deg,#122e25 0%,#2c6650 80%,#a9d8bd 140%)!important;}
body .tv-course#chino .tv-big .elementor-heading-title{color:rgba(245,209,210,.14)!important;}
body .tv-course#coreano .tv-big .elementor-heading-title{color:rgba(198,236,213,.14)!important;}
body .tv-course:is(#chino,#coreano) .tv-info .tv-eyebrow .elementor-heading-title{color:var(--tv-blue-ink)!important;}
body .tv-course .tv-visual{isolation:isolate;}
body .tv-course .tv-visual>.tv-big{z-index:0;}
body .tv-course .tv-visual>.elementor-element:not(.tv-big){position:relative;z-index:1;}
body .tvb .tvb-tabs{background:#f4f7fb;}
body .tvb .tvb-tab[data-k="ja"]{--tv-tab-soft:#e8f3ff;--tv-tab-active:#b8daf6;--tv-tab-ink:#174b78;--tv-tab-line:#8ab9df;}
body .tvb .tvb-tab[data-k="zh"]{--tv-tab-soft:#fcebed;--tv-tab-active:#edb4b5;--tv-tab-ink:#6f2c32;--tv-tab-line:#cc858d;}
body .tvb .tvb-tab[data-k="ko"]{--tv-tab-soft:#e8f5ed;--tv-tab-active:#a9d8bd;--tv-tab-ink:#235a40;--tv-tab-line:#78af91;}
body .tvb .tvb-tab[data-k="ex"]{--tv-tab-soft:#f0f3f7;--tv-tab-active:#d9e2ed;--tv-tab-ink:#334b63;--tv-tab-line:#a6b7c9;}
body .tvb .tvb-tab{min-width:0;border:1px solid transparent;background:var(--tv-tab-soft);color:var(--tv-tab-ink);transition:background .15s,border-color .15s,box-shadow .15s;}
body .tvb .tvb-tab .g{color:inherit;}
body .tvb .tvb-tab.on{background:var(--tv-tab-active);color:var(--tv-tab-ink);border-color:var(--tv-tab-line);box-shadow:0 3px 10px rgba(14,34,54,.08);}
body .tvb .tvb-tab:focus-visible{outline:2px solid #0e2236;outline-offset:2px;}
@media(hover:hover){body .tvb .tvb-tab:not(.on):hover{border-color:var(--tv-tab-line);box-shadow:0 2px 8px rgba(14,34,54,.06);}}
@media(max-width:767px){body .tvb .tvb-tab{gap:4px;padding-inline:4px;}body .tvb .tvb-tab .g{font-size:16px;}}
body:is(.postid-15191,.postid-15523,.postid-20846,.postid-20855) .tv-course-top{background:radial-gradient(ellipse at top left,#285a40,transparent 70%),#0e271d!important;}
body:is(.postid-15161,.postid-15512) .tv-course-top{background:radial-gradient(ellipse at top left,#753941,transparent 70%),#2c171c!important;}
body .tv-commerce-content [data-tv-commerce-payment="deferred"][hidden]{display:none!important;}
@media(max-width:1000px){body.logged-in .tv-acc--enhanced .tv-apps{grid-template-columns:repeat(2,minmax(0,1fr))!important;}body .tv-apps .tv-app[data-tv-app="hangul"]{grid-row:3;}}
@media(max-width:767px){body .tv-request-layout>.e-con-inner{grid-template-columns:minmax(0,1fr);gap:24px;}body.logged-in .tv-acc--enhanced .tv-apps{grid-template-columns:minmax(0,1fr)!important;}body .tv-apps .tv-app[data-tv-app="hangul"]{grid-row:auto;}body .tv-apps .tv-app,body .tv-apps .kmx-app-card{min-height:230px;}body.logged-in .tv-acc--enhanced .e-my-account-tab>.woocommerce{grid-template-columns:minmax(0,1fr)!important;}body.logged-in .tv-acc--enhanced :is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content){width:100%!important;}}
body.tv-recaptcha-disclosed .grecaptcha-badge { visibility: hidden !important; }
body .tv-recaptcha-notice {
  display: block; min-width: 0; width: 100%; max-width: 100%;
  margin: 12px 0 0 !important; padding: 0; border: 0;
  color: #5b6b7e; font: 400 12px/1.5 var(--tv-body, system-ui, sans-serif);
  text-align: start; overflow-wrap: anywhere;
}
body .tv-footer .tv-recaptcha-notice,
body .elementor-location-footer .tv-recaptcha-notice {
  flex: 0 0 100%; color: rgba(229,243,255,.78); margin: 0 !important;
}
body .tv-acc .tv-recaptcha-notice { color: #5b6b7e; }
body .tv-404-grid{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:48px;}
body .tv-404-grid>.e-con{width:auto!important;min-width:0;}
body .tv-404-title .elementor-heading-title{font-size:clamp(2.5rem,4.5vw,4.25rem);line-height:1.08;letter-spacing:-.045em;text-wrap:balance;}
body .tv-404-lead{max-width:560px!important;}
body .tv-404-scene{position:relative;isolation:isolate;aspect-ratio:1/1;border-radius:40px;overflow:hidden;background:linear-gradient(145deg,var(--tv-ice),var(--tv-sky));border:1px solid rgba(229,243,255,.2);box-shadow:0 30px 70px rgba(0,0,0,.15);}
body .tv-404-scene::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,var(--tv-ice) 0%,rgba(229,243,255,.92) 42%,rgba(229,243,255,.15) 100%),url("https://www.travinae.com/wp-content/uploads/2023/02/Fondo-error-404-1024x576.jpg") center bottom/cover no-repeat;}
body .tv-404-number{position:absolute!important;top:3%;left:0;width:100%;z-index:1;pointer-events:none;}
body .tv-404-number .elementor-heading-title{text-align:center;font-family:var(--tv-title);font-size:clamp(7rem,14vw,12rem);font-weight:800;line-height:1;letter-spacing:-.08em;color:rgba(11,29,46,.12)!important;}
body .tv-404-dog{position:absolute!important;bottom:-10%;left:0;width:100%!important;z-index:2;}
body .tv-404-dog img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 16px rgba(11,29,46,.16));}
body .tv-404-search-widget{width:100%;max-width:540px!important;margin-top:6px;}
body .tv-404-search label{display:block;font-family:var(--tv-body);font-size:14px;font-weight:500;color:var(--tv-ice);margin-bottom:10px;}
body .tv-404-search-row{display:flex;align-items:center;gap:6px;border:1px solid rgba(229,243,255,.25);border-radius:18px;padding:6px;background:rgba(255,255,255,.06);}
body .tv-404-search input[type="search"]{min-width:0;width:100%;flex:1;border:0;outline:0;background:transparent;color:#fff;font-family:var(--tv-body);font-size:16px;line-height:1.4;padding:12px 14px;border-radius:12px;box-shadow:none;}
body .tv-404-search input::placeholder{color:rgba(229,243,255,.58);}
body .tv-404-search input:focus-visible{outline:2px solid var(--tv-sky);outline-offset:-2px;}
body .tv-404-search button{flex:0 0 auto;border:0;border-radius:12px;background:var(--tv-ice);color:var(--tv-deep);font-family:var(--tv-title);font-size:14px;font-weight:700;line-height:1.4;padding:12px 20px;cursor:pointer;transition:background .2s;}
body .tv-404-search button:hover{background:var(--tv-sky);}
body .tv-404-search button:focus-visible{outline:2px solid #fff;outline-offset:3px;}
body .tv-404-help{margin:0;}
body .tv-404-help a{color:var(--tv-sky);text-decoration:underline;text-underline-offset:3px;}
@media(max-width:1024px){body .tv-404-grid{gap:32px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);}body .tv-404-scene{border-radius:30px;}body .tv-404-title .elementor-heading-title{font-size:clamp(2.3rem,5vw,3.5rem);}}
@media(max-width:767px){body .tv-404-grid{grid-template-columns:1fr;gap:36px;}body .tv-404-copy{gap:20px;}body .tv-404-grid>.tv-404-scene{width:100%!important;max-width:400px;justify-self:center;aspect-ratio:1.15/1;border-radius:28px;}body .tv-404-title .elementor-heading-title{font-size:clamp(2rem,9vw,3.1rem);}body .tv-404-number .elementor-heading-title{font-size:clamp(8rem,40vw,11rem);}body .tv-404-search button{padding:12px 16px;}body .tv-404-search input[type="search"]{padding:12px 10px;}body .tv-404 .tv-actions{align-items:stretch;}body .tv-404 .tv-actions .elementor-button{padding:13px 20px;}}
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html, body { overflow-x: clip; }
body .tv-hero {
  grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
}
body .tvb {
  grid-template-columns: minmax(0, 1fr) minmax(0, 390px);
}
body .tv-lang .e-con-inner,
body .tv-lang .elementor-widget-container {
  min-width: 0;
  max-width: 100%;
}
body .tv-lang :is(h1, h2, h3),
body .tv-lang :is(.tv-h-display, .tv-h1, .tv-ptitle, .tv-material-title, .tv-404-title) {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  overflow-wrap: anywhere;
  word-break: normal;
}
body .tv-lang :is(.tv-h-display, .tv-h1, .tv-ptitle, .tv-material-title, .tv-404-title) .elementor-heading-title {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  overflow-wrap: anywhere;
  word-break: normal;
}
body .wpcf7-form-control-wrap {
  min-width: 0;
  max-width: 100%;
}
body .wpcf7 input[type="file"] {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
body table.cookielawinfo-row-cat-table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
}
body table.cookielawinfo-row-cat-table :is(th, td, a) {
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 1024px) {
  body .tv-hero,
  body .tvb {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  body .tv-products ul.products li.product {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0;
  }
  body .tv-products ul.products li.product :is(.price, .button, .added_to_cart) {
    grid-column: 1 / -1;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  body .tv-products ul.products li.product > .button {
    grid-column: 1 / -1;
    justify-self: start;
    width: fit-content;
    margin-inline: 6px 0 !important;
  }
  body .tv-h-display .elementor-heading-title {
    font-size: clamp(2rem, calc(10.5vw + .25rem), 2.75rem) !important;
    line-height: 1.06 !important;
    -webkit-hyphens: none;
    hyphens: none;
  }
  body .tv-h1 .elementor-heading-title {
    font-size: clamp(2rem, 10.25vw, 2.5rem) !important;
    line-height: 1.08 !important;
  }
  body :is(.tv-h-display, .tv-h1) span.tv-grad {
    display: inline;
    padding-inline: .08em;
    margin-inline: 0;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
/* TRAVINAE-2026 fin *//* End custom CSS */