/* TFV Dynamic Studio advanced blocks. Theme tokens come from the parent plugin. */
:where(.wp-block-tfv-accordion,.wp-block-tfv-tabs,.wp-block-tfv-pricing,.wp-block-tfv-container,.wp-block-tfv-slider,.wp-block-tfv-progress,.wp-block-tfv-logos,.wp-block-tfv-icon-box,.wp-block-tfv-map){box-sizing:border-box}
:where(.tfv-accordion,.tfv-tabs,.tfv-plan,.tfv-iconbox,.tfv-flip,.tfv-toggle,.tfv-map){color:var(--tfv-color-ink,inherit)}
.tfv-grid{display:grid;grid-template-columns:repeat(var(--tfv-cols,3),minmax(0,1fr));gap:var(--tfv-gap,28px)}
.tfv-accordion{display:grid;gap:10px}.tfv-accordion__item{border-bottom:1px solid var(--tfv-color-line,#dedede)}.tfv-accordion--cards .tfv-accordion__item{border:1px solid var(--tfv-color-line,#dedede);border-radius:var(--tfv-radius,12px);padding:0 1.25rem}.tfv-accordion__summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0}.tfv-accordion__summary::-webkit-details-marker{display:none}.tfv-accordion__summary .tfv-icon{flex-shrink:0;transition:transform .2s}.tfv-accordion__item[open] .tfv-accordion__summary .tfv-icon{transform:rotate(180deg)}.tfv-accordion__title{font-size:clamp(1rem,1.3vw,1.2rem);margin:0;font-weight:600}.tfv-accordion__body{padding:.2rem 0 1.3rem}
.tfv-tabs__list{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;border-bottom:1px solid var(--tfv-color-line,#ddd)}.tfv-tabs__tab{padding:.8rem 1.15rem;background:transparent;border:0;border-bottom:2px solid transparent;color:inherit;cursor:pointer;font:inherit}.tfv-tabs__tab.is-active{border-bottom-color:var(--tfv-color-accent,currentColor);font-weight:600}.tfv-tabs__tab:focus-visible,.tfv-toggle__switch:focus-visible,.tfv-hotspot summary:focus-visible{outline:3px solid var(--tfv-color-accent,#c44);outline-offset:3px}.tfv-tabs.is-tabs-center .tfv-tabs__list{justify-content:center}.tfv-tabs--pills .tfv-tabs__list{border:0;gap:.5rem}.tfv-tabs--pills .tfv-tabs__tab{border-radius:99px;border:1px solid var(--tfv-color-line,#ddd)}.tfv-tabs--pills .tfv-tabs__tab.is-active{background:var(--tfv-color-ink,#111);color:var(--tfv-color-surface,#fff)}.tfv-tabs__panel{padding:1.5rem 0}.tfv-tabs__panel-title{font-weight:600}.tfv-tabs__panel[hidden]{display:none!important}
.tfv-modal-trigger>.tfv-button{cursor:pointer}.tfv-modal{border:0;border-radius:var(--tfv-radius,16px);background:var(--tfv-color-surface,#fff);color:var(--tfv-color-ink,#111);padding:0;box-shadow:0 1.5rem 5rem #0005;width:min(90vw,680px);max-height:90vh}.tfv-modal--s{width:min(90vw,440px)}.tfv-modal--l{width:min(94vw,1040px)}.tfv-modal::backdrop{background:#0009;backdrop-filter:blur(4px)}.tfv-modal__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid var(--tfv-color-line,#ddd)}.tfv-modal__title{font-weight:650;margin:0}.tfv-modal__close{border:0;background:transparent;cursor:pointer;color:inherit}.tfv-modal__body{overflow-y:auto;padding:1.5rem}
.tfv-counter__number{margin:0;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:650;line-height:1.12;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.tfv-counter__label{margin-top:.55rem;color:var(--tfv-color-muted,inherit)}.is-align-center{text-align:center}.is-align-right{text-align:right}
.tfv-pricing{align-items:stretch}.tfv-plan{position:relative;border:1px solid var(--tfv-color-line,#ddd);border-radius:var(--tfv-radius,18px);padding:clamp(1.25rem,2vw,2rem);display:flex;flex-direction:column;gap:.8rem;background:var(--tfv-color-surface,#fff)}.tfv-plan.is-featured{border:2px solid var(--tfv-color-accent,#99333d);box-shadow:0 1.1rem 2.5rem #0001}.tfv-plan__badge{position:absolute;right:1rem;top:-.9rem;background:var(--tfv-color-accent,#933);color:#fff;border-radius:99px;padding:.3rem .7rem;font-size:.76rem}.tfv-plan__name{margin:0;font-size:1.35rem}.tfv-plan__price{margin:0}.tfv-plan__amount{font-size:clamp(1.8rem,3vw,2.9rem);font-weight:700;letter-spacing:-.04em}.tfv-plan__period{opacity:.7;font-size:.9rem}.tfv-plan__description{opacity:.8}.tfv-plan__features{list-style:none;margin:0 0 auto;padding:0;display:grid;gap:.65rem}.tfv-plan__features li{display:flex;align-items:center;gap:.6rem}.tfv-plan__features .tfv-icon{width:18px;height:18px;flex:none;color:var(--tfv-color-accent,currentColor)}
.tfv-compare{position:relative;overflow:hidden;isolation:isolate;margin:0;min-height:180px;border-radius:var(--tfv-radius,14px);background:#ddd}.tfv-compare__after,.tfv-compare__before{position:absolute;inset:0}.tfv-compare :is(img){width:100%;height:100%;object-fit:cover;display:block}.tfv-compare__before{clip-path:inset(0 calc(100% - var(--tfv-pos,50%)) 0 0);z-index:1}.tfv-compare__handle{position:absolute;left:var(--tfv-pos,50%);top:0;bottom:0;width:3px;background:white;box-shadow:0 0 0 1px #0004;transform:translateX(-50%);z-index:3;pointer-events:none}.tfv-compare__handle:after{content:'⇆';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2.5rem;height:2.5rem;background:white;border-radius:99px;display:grid;place-items:center;color:#111;box-shadow:0 2px 14px #0004}.tfv-compare__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4}.tfv-compare__range:focus-visible{opacity:.15;outline:3px solid #fff}.tfv-compare__label{position:absolute;z-index:2;top:1rem;padding:.4rem .6rem;background:#111b;color:#fff;border-radius:5px;font-size:.85rem;pointer-events:none}.tfv-compare__label--before{left:1rem}.tfv-compare__label--after{right:1rem}
.tfv-hotspots{position:relative;isolation:isolate;margin:0}.tfv-hotspots>img{width:100%;height:auto;display:block;border-radius:var(--tfv-radius,12px)}.tfv-hotspot{position:absolute;transform:translate(-50%,-50%);z-index:2}.tfv-hotspot[open]{z-index:10}.tfv-hotspot summary{list-style:none;cursor:pointer;background:var(--tfv-color-accent,#903);color:#fff;border:3px solid #fff;border-radius:100%;height:2.5rem;width:2.5rem;display:grid;place-items:center;box-shadow:0 4px 15px #0006}.tfv-hotspot summary::-webkit-details-marker{display:none}.tfv-hotspot__pop{position:absolute;top:calc(100% + .6rem);left:0;min-width:180px;width:min(270px,65vw);padding:1rem;box-shadow:0 6px 24px #0003;border-radius:10px;background:var(--tfv-color-surface,#fff);color:var(--tfv-color-ink,#111)}.tfv-hotspot.is-left .tfv-hotspot__pop{right:0;left:auto}.tfv-hotspot.is-up .tfv-hotspot__pop{top:auto;bottom:calc(100% + .6rem)}.tfv-hotspot__pop p{margin:.5rem 0 0}
.tfv-logos{overflow:hidden}.tfv-logos__list{display:flex;align-items:center;gap:var(--tfv-gap,28px);margin:0;padding:0;list-style:none}.tfv-logos__item{flex:0 0 auto;display:grid;place-items:center;min-width:var(--tfv-logo-h,48px)}.tfv-logos__item img{height:var(--tfv-logo-h,48px);width:auto;max-width:190px;object-fit:contain}.tfv-logos.is-grayscale img{filter:grayscale(1);opacity:.75;transition:.25s}.tfv-logos.is-grayscale img:hover{filter:none;opacity:1}.tfv-logos--grid .tfv-logos__list{display:grid}.tfv-logos__track{display:flex;gap:var(--tfv-gap,28px);width:max-content;animation:tfv-marquee var(--tfv-logo-speed,40s) linear infinite}.tfv-logos__track .tfv-logos__list{flex:none}.tfv-logos__track:hover{animation-play-state:paused}@keyframes tfv-marquee{to{transform:translateX(-50%)}}
.tfv-button-wrap.is-align-center{text-align:center}.tfv-button-wrap.is-align-right{text-align:right}.tfv-button--size-s{font-size:.85rem;padding:.6rem 1rem}.tfv-button--size-l{font-size:1.15rem;padding:1rem 1.5rem}.tfv-button .tfv-icon{vertical-align:middle;width:1.1em;height:1.1em}
.tfv-iconbox{display:flex;flex-direction:column;gap:.8rem}.tfv-iconbox__icon .tfv-icon{width:2rem;height:2rem}.tfv-iconbox--icon-circle .tfv-iconbox__icon,.tfv-iconbox--icon-filled .tfv-iconbox__icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--tfv-color-surface-alt,#eee)}.tfv-iconbox--icon-filled .tfv-iconbox__icon{background:var(--tfv-color-accent,#933);color:#fff}.tfv-iconbox--left{flex-direction:row}.tfv-iconbox--center{text-align:center;align-items:center}.tfv-iconbox__title{margin:0 0 .4rem}.tfv-iconbox__text{margin:0 0 .4rem}.tfv-iconbox__link{display:inline-flex;gap:.4rem;align-items:center}
.tfv-flip{height:var(--tfv-flip-h,360px);perspective:1200px;cursor:pointer;position:relative}.tfv-flip__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s}.tfv-flip.is-flipped .tfv-flip__inner,.tfv-flip:hover .tfv-flip__inner,.tfv-flip:focus-within .tfv-flip__inner{transform:rotateY(180deg)}.tfv-flip--vertical.is-flipped .tfv-flip__inner,.tfv-flip--vertical:hover .tfv-flip__inner,.tfv-flip--vertical:focus-within .tfv-flip__inner{transform:rotateX(180deg)}.tfv-flip__face{position:absolute;inset:0;border-radius:var(--tfv-radius,14px);overflow:hidden;backface-visibility:hidden;background:var(--tfv-color-surface-alt,#eee);display:flex;align-items:flex-end;padding:1.3rem}.tfv-flip__front.has-image{color:#fff}.tfv-flip__front img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tfv-flip__content{position:relative;z-index:1}.tfv-flip__front.has-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#0009)}.tfv-flip__title{margin:0}.tfv-flip__back{background:var(--tfv-color-ink,#111);color:var(--tfv-color-surface,#fff);transform:rotateY(180deg)}.tfv-flip--vertical .tfv-flip__back{transform:rotateX(180deg)}
.tfv-progress{display:grid;gap:1.15rem}.tfv-progress__head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.35rem}.tfv-progress__bar{height:var(--tfv-progress-t,6px);background:var(--tfv-color-line,#ddd);border-radius:99px;overflow:hidden}.tfv-progress__bar span{display:block;background:var(--tfv-color-accent,#933);height:100%;border-radius:inherit}.tfv-countdown__live{display:flex;flex-wrap:wrap;gap:clamp(1rem,2vw,2rem)}.tfv-countdown__unit{display:flex;flex-direction:column}.tfv-countdown__unit strong{font-size:clamp(2rem,5vw,4rem);font-variant-numeric:tabular-nums}.tfv-countdown__unit small{color:var(--tfv-color-muted,inherit)}.tfv-countdown.is-align-center .tfv-countdown__live{justify-content:center}
.tfv-map{min-height:var(--tfv-map-h,420px);background:var(--tfv-color-surface-alt,#eee);border-radius:var(--tfv-radius,14px);overflow:hidden}.tfv-map__placeholder{min-height:var(--tfv-map-h,420px);padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.tfv-map__title{font-size:1.5rem;font-weight:700}.tfv-map__note{font-size:.9rem;max-width:35rem}.tfv-map iframe{display:block;width:100%;height:var(--tfv-map-h,420px);border:0}
.tfv-slide{position:relative;min-height:var(--tfv-slide-h,420px);display:flex;flex-direction:column;justify-content:center}.tfv-slide.is-valign-top{justify-content:flex-start}.tfv-slide.is-valign-bottom{justify-content:flex-end}.tfv-slide__media{position:absolute;inset:0;z-index:0}.tfv-slide__media img{width:100%;height:100%;object-fit:cover}.tfv-slide__media:after{content:'';position:absolute;inset:0;background:#000;opacity:var(--tfv-slide-o,.4)}.tfv-slide__content{position:relative;z-index:1;padding:clamp(1.5rem,4vw,4rem)}.tfv-slide.has-image.is-tone-light{color:#fff}.tfv-slide.has-image.is-tone-dark{color:#111}
.tfv-sticky{position:sticky;top:var(--tfv-sticky-top,32px);align-self:start}
.tfv-toggle__head{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.tfv-toggle__switch{position:relative;width:3.5rem;height:2rem;border:0;border-radius:99px;background:var(--tfv-color-line,#aaa);cursor:pointer;padding:.2rem;transition:.2s}.tfv-toggle__switch>span{display:block;background:#fff;border-radius:50%;height:1.6rem;width:1.6rem;box-shadow:0 1px 4px #0003;transition:transform .2s}.tfv-toggle.is-alt .tfv-toggle__switch{background:var(--tfv-color-accent,#933)}.tfv-toggle.is-alt .tfv-toggle__switch>span{transform:translateX(1.5rem)}.tfv-toggle__pane{padding:1rem 0}.tfv-toggle__pane[hidden]{display:none!important}
.tfv-container--row{display:flex;flex-wrap:wrap;align-items:var(--tfv-valign,stretch);justify-content:var(--tfv-justify,start);gap:var(--tfv-gap,28px)}.tfv-container--stack{display:flex;flex-direction:column;align-items:var(--tfv-valign,stretch);gap:var(--tfv-gap,28px)}.tfv-container--row>*{min-width:0;flex:1}.tfv-container>*{min-width:0}
@media(max-width:1024px){.tfv-grid{grid-template-columns:repeat(var(--tfv-cols-t,2),minmax(0,1fr))}.tfv-pricing{gap:1rem}}
@media(max-width:600px){.tfv-grid{grid-template-columns:repeat(var(--tfv-cols-m,1),minmax(0,1fr))}.tfv-accordion__summary{padding:1rem 0}.tfv-modal{max-height:90dvh}.tfv-compare__label{font-size:.7rem}.tfv-hotspot__pop{width:min(220px,65vw)}.tfv-sticky.is-desktop-only{position:static}.tfv-button-wrap.is-full-mobile .tfv-button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.tfv-logos__track{animation:none}.tfv-flip__inner,.tfv-accordion__summary .tfv-icon,.tfv-toggle__switch,.tfv-toggle__switch>span{transition:none}.tfv-flip:hover .tfv-flip__inner{transform:none}}

/* When scripts are unavailable, don't hide the back face or its content. */
html:not(.tfv-ui-ready) .tfv-flip{height:auto;perspective:none}
html:not(.tfv-ui-ready) .tfv-flip__inner{height:auto;display:grid;gap:1rem;transform:none}
html:not(.tfv-ui-ready) .tfv-flip__face{position:static;backface-visibility:visible;transform:none;min-height:200px}
