@charset "UTF-8";
/* Themify Ultra 8.0.8 framework 8.2.0 */

/*/css/base.min.css*/
:where(.tf_loader){width:1em;height:1em;overflow:hidden;display:inline-block;vertical-align:middle;position:relative}.tf_loader:before{content:'';width:100%;height:100%;position:absolute;top:0;left:0;text-indent:-9999em;border-radius:50%;box-sizing:border-box;border:.15em solid rgba(149,149,149,.2);border-left-color:rgba(149,149,149,.6);animation:tf_loader 1.1s infinite linear}@keyframes tf_loader{0{transform:rotate(0)}100%{transform:rotate(360deg)}}.tf_clear{clear:both}.tf_left{float:left}.tf_right{float:right}.tf_textl{text-align:left}.tf_textr{text-align:right}.tf_textc{text-align:center}.tf_textj{text-align:justify}.tf_text_dec{text-decoration:none}.tf_hide{display:none}.tf_hidden{visibility:hidden}.tf_block{display:block}.tf_inline_b{display:inline-block}.tf_vmiddle{vertical-align:middle}.tf_mw{max-width:100%}.tf_w{width:100%}.tf_h{height:100%}:where(.tf_overflow){overflow:hidden}.tf_box{box-sizing:border-box}:where(.tf_abs){position:absolute;inset:0}:where(.tf_abs_t){position:absolute;top:0;left:0}:where(.tf_abs_b){position:absolute;bottom:0;left:0}:where(.tf_abs_c){position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tf_rel{position:relative}:where(.tf_opacity){opacity:0}.tf_clearfix:after{content:"";display:table;clear:both}.loops-wrapper>.post,.woocommerce ul.loops-wrapper.products>li.product{float:left;box-sizing:border-box;margin-left:3.2%;margin-right:0;margin-bottom:2.5em;clear:none}.woocommerce .loops-wrapper.no-gutter.products>.product,body .loops-wrapper.no-gutter>.post{margin:0}.woocommerce .loops-wrapper.products.list-post>.product{margin-left:0}.tf_scrollbar{scroll-behavior:smooth;--tf_scroll_color:rgba(137,137,137,.2);--tf_scroll_color_hover:rgba(137,137,137,.4);scrollbar-color:var(--tf_scroll_color) transparent;scrollbar-width:thin}.tf_scrollbar::-webkit-scrollbar{width:var(--tf_scroll_w,10px);height:var(--tf_scroll_h,10px)}.tf_scrollbar::-webkit-scrollbar-thumb{background-color:var(--tf_scroll_color);background-clip:padding-box;border:2px solid transparent;border-radius:5px}.tf_scrollbar:hover{scrollbar-color:var(--tf_scroll_color_hover) transparent}.tf_scrollbar:hover::-webkit-scrollbar-thumb{background-color:var(--tf_scroll_color_hover)}.tf_close{position:relative;transition:transform .3s linear;cursor:pointer}.tf_close:after,.tf_close:before{content:'';height:100%;width:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(45deg);background-color:currentColor;transition:transform .25s}.tf_close:after{transform:translate(-50%,-50%) rotate(-45deg)}.tf_close:hover:after{transform:translate(-50%,-50%) rotate(45deg)}.tf_close:hover:before{transform:translate(-50%,-50%) rotate(135deg)}.tf_vd_lazy:fullscreen video{height:100%;object-fit:contain}

/*/css/themify-common.css*/
iframe{border:0}a{cursor:pointer}:is(button,a,input,select,textarea,.button):focus{outline:1px dotted hsla(0,0%,59%,.2)}.tf_focus_heavy :is(button,a,input,select,textarea,.button):focus{outline:2px solid rgba(0,176,255,.8)}.tf_focus_none a,.tf_focus_none:is(button,a,input,select,textarea,.button):focus{outline:0}.tf_large_font{font-size:1.1em}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.skip-to-content:focus{clip-path:none}.post-image .themify_lightbox{display:block;max-width:100%;position:relative}.post-image .themify_lightbox .zoom{background:rgba(0,0,0,.3);border-radius:100%;height:35px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:35px}.post-image .themify_lightbox .zoom .tf_fa{color:#fff;vertical-align:middle;stroke-width:1px;left:50%;line-height:100%;position:absolute;top:50%;transform:translate(-50%,-50%)}.post-image .themify_lightbox:hover .zoom{background:rgba(0,0,0,.6)}.pswp:not(.pswp--open){display:none}:is(.ptb_map,.themify_map) button{border-radius:0;max-width:inherit}
/*/themify-builder/css/themify-builder-style.css*/
:root{--tb_rounded_corner:12px}.module_column,.module_row,.module_row .module,.module_subrow{box-sizing:border-box;min-width:0;position:relative}.module,.module-accordion i,:is(.module-buttons,.module_row,.module_subrow,.module_column,.module-image img):hover{transition:.5s ease;transition-property:background,font-size,line-height,color,padding,margin,border,border-radius,box-shadow,text-shadow,filter,transform}.entry-content>p:is(:first-of-type,:first-of-type+p):empty{margin:0;padding:0}.module_row{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;flex-wrap:wrap}.themify_builder_slider_wrap{transition:none}[data-tbfullwidthvideo]:is(.module_row,.module_subrow,.module_column){background-size:cover}.module_subrow,.row_inner{display:grid;--gutter:3.2%;--narrow:1.6%;--none:0;--align_start:start;--align_center:center;--align_end:end;--auto_height:stretch;--align_items:var(--auto_height);--align_content:var(--align_start);--colg:var(--gutter);--c1:1fr;--c2:1fr 1fr;--c3:1fr 1fr 1fr;--c4:1fr 1fr 1fr 1fr;--c5:1fr 1fr 1fr 1fr 1fr;--c6:1fr 1fr 1fr 1fr 1fr 1fr;--c1_2:1fr 2.1025fr;--c2_1:2.1025fr 1fr;--c1_3:1fr 3.2831fr;--c3_1:3.2831fr 1fr;--c1_1_2:1fr 1fr 2.1415fr;--c1_2_1:1fr 2.1415fr 1fr;--c2_1_1:2.1415fr 1fr 1fr;--col:repeat(auto-fit,minmax(1%,1fr));align-content:var(--align_content);align-items:var(--align_items);gap:var(--rowg,0) var(--colg);grid:var(--row,none)/var(--col);grid-auto-columns:1fr;grid-template-areas:var(--area);--area5_3:"col1 col1 col2 col2 col3 col3" "col4 col4 col5 col5 . .";--area5_1_2:"col1 col2 col2" "col3 col4 col5";--area5_2_1:"col1 col1 col2" "col3 col4 col5";--area5_1_3:"col1 col2 col2 col2" "col3 col4 col4 col4" "col5 col5 col5 col5";--area5_3_1:"col1 col1 col1 col2" "col3 col4 col4 col5";--area5_1_1_2:"col1 col2 col3 col3" "col4 col4 col5 col5";--area5_1_2_1:"col1 col2 col2 col3" "col4 col4 col5 col5";--area5_2_1_1:"col1 col1 col2 col3" "col4 col4 col5 col5";--aream2_auto:"col1" "col2";--aream3_auto:"col1" "col2" "col3";--aream4_auto:"col1" "col2" "col3" "col4";--aream5_auto:"col1" "col2" "col3" "col4" "col5";--areat6_auto:"col1 col2 col3" "col4 col5 col6";--aream6_auto:"col1 col2" "col3 col4" "col5 col6";--areat7_auto:"col1 col2" "col3 col4" "col5 col6" "col7 col7";--aream7_auto:"col1" "col2" "col3" "col4" "col5" "col6" "col7";--areat8_auto:"col1 col2" "col3 col4" "col5 col6" "col7 col7" "col8 col8";--aream8_auto:"col1" "col2" "col3" "col4" "col5" "col6" "col7" "col8"}.row_inner{margin:0 auto;width:min(1160px,100%)}.module_row.fullheight .module_subrow,.module_row.fullwidth>.row_inner{max-width:100%;width:100%}@supports(-webkit-touch-callout:none){.module_column,.module_row,.module_subrow{background-attachment:scroll!important}}.module_row.fullheight{min-height:100vh}.fullheight>.row_inner,.fullheight>.row_inner>.module_column{min-height:inherit}div.module_column{align-content:inherit;align-items:inherit;display:grid;float:none;margin-inline:0;max-width:none;width:auto}.col_align_middle,.fullheight>.tb_col_count_1{--align_content:var(--align_center)}.gutter-narrow{--colg:var(--narrow)}.gutter-none{--colg:var(--none)}.module_column:first-of-type{grid-area:col1}.module_column:nth-of-type(2){grid-area:col2}.module_column:nth-of-type(3){grid-area:col3}.module_column:nth-of-type(4){grid-area:col4}.module_column:nth-of-type(5){grid-area:col5}.module_column:nth-of-type(6){grid-area:col6}.module_column:nth-of-type(7){grid-area:col7}.module_column:nth-of-type(8){grid-area:col8}.module_column:nth-of-type(9){grid-area:col9}.module_column:nth-of-type(10){grid-area:col10}.module_column:nth-of-type(11){grid-area:col11}.module_column:nth-of-type(12){grid-area:col12}.module_column:nth-of-type(13){grid-area:col13}.module_column:nth-of-type(14){grid-area:col14}.module_column:nth-of-type(15){grid-area:col15}.module_column:nth-of-type(16){grid-area:col16}.tb_col_count_1>.module_column{grid-area:auto}.tb_col_count_2{--area:"col1 col2"}.tb_col_count_3{--area:"col1 col2 col3"}.tb_col_count_4{--area:"col1 col2 col3 col4"}.tb_col_count_5{--area:"col1 col2 col3 col4 col5"}.tb_col_count_6{--area:"col1 col2 col3 col4 col5 col6"}.tb_col_count_7{--area:"col1 col2 col3 col4 col5 col6 col7"}.tb_col_count_8{--area:"col1 col2 col3 col4 col5 col6 col7 col8"}.module:after{clear:both;content:"";display:table}.module_row ul.loops-wrapper{display:block;list-style:none;margin:0;padding:0}.tb_default_color{--tb_pr_color:#555;--tb_pr_bg:#f7f7f7;--tb_pr_hover_bg:#f1f1f1}.module_row .ui{background-color:var(--tb_pr_bg,#f7f7f7);color:var(--tb_pr_color,#555)}.ui.rounded{border-radius:var(--tb_app_r,0)}.ui.gradient{background-image:var(--tb_app_gr,none)}.ui:is(.shadow,.embossed){box-shadow:var(--tb_app_shadow,none)}.ui.builder_button{border:1px solid rgba(0,0,0,.05);border-radius:var(--tb_app_r,0);font-size:var(--tb_mb_f,1em);line-height:1.35;padding:.625em 1.25em;position:relative;transition:.3s linear;transition-property:color,background-color,padding,border,box-shadow}.builder_button:not(:is(.tf_flx,.tf_in_flx)){display:inline-block}.builder_button:hover{background-color:var(--tb_pr_hover_bg,#f1f1f1);text-decoration:none}.module_row .module .ui.builder_button{text-decoration:none}.ui.transparent{--tb_pr_bg:transparent;--tb_pr_hover_bg:transparent;--tb_pr_color:#555;--tb_app_gr:none;--tb_app_shadow:none;border:0;color:inherit}.transparent.gradient{--tb_app_gr:linear-gradient(180deg,hsla(0,0%,100%,.45) 0%,hsla(0,0%,100%,0))}.module-title{font-size:1.4em;margin:0 0 .8em}.module img{border:0;vertical-align:bottom}.module-slider{margin-bottom:2.5em}.module-widget .widget{margin:0}.wp-caption{max-width:100%}.module-map button{border-radius:0}.module-map .gm-style-mtc img{margin-right:5px;vertical-align:baseline}.module-plain-text:after{display:contents!important}@media (max-width:1260px){.module-layout-part .row_inner{max-width:100%}.module_row.fullwidth .module-layout-part .row_inner,.row_inner{max-width:94%}}@media (max-width:760px){.module_row.fullwidth .module-layout-part .row_inner,.row_inner{max-width:90%}}.themify_builder div.builder-parallax-scrolling{transition:background-position-y 0s}@supports not(cursor:grab){.builder-parallax-scrolling{background-attachment:scroll!important}}
/*/wp-content/themes/themify-ultra/styles/modules/sidebars/sidebar1.css*/
.sidebar-left #layout{flex-direction:row-reverse}.sidebar-left #sidebar{margin-left:unset;margin-right:auto}
/*/themify-builder/css/modules/text.css*/
.drop-cap>:first-child:first-letter,.tb_text_dropcap>.tb_text_wrap:first-child:first-letter{background-color:var(--theme_accent,#0f70e8);color:#fff;float:left;font-size:2.85em;line-height:.4em;margin-right:.325em;margin-block:.15em .25em;padding:.425em .375em}.tb-text-more-link-indicator{background:rgba(55,55,55,.6);display:block;height:3px;margin:5px 0}
/*/wp-content/themes/themify-ultra/style.css*/
/*!
Theme Name: Themify Ultra
Theme URI:https://themify.me/themes/ultra/
Version:8.0.8
Description:Use Ultra theme to create professional sites quickly and easily (landing pages, portfolio, blog, corporate, ecommerce, and more). It includes a bunch of header/footer layout options and pre-built demos that you can import to your site. Read <a href="https://themify.me/docs/ultra-documentation">Ultra documentation</a> for more information.
Author:Themify
Author URI:https://www.themify.me
License:GNU General Public License v2.0
License URI:http://www.gnu.org/licenses/gpl-2.0.html
Copyright:(c) Themify.
Tags:themify,featured-images,translation-ready,custom-menu,sidebar
Text Domain:themify
Requires PHP:7.2
Changelogs: https://themify.org/changelogs/themify-ultra.txt
---------
DO NOT EDIT THIS FILE.
If you need to override theme styling,please add custom CSS in Appearance>Customize>Custom CSS or a child theme (https://themify.me/docs/child-theme).*/a,abbr,acronym,address,b,bdo,big,blockquote,body,br,button,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,figure,form,h1,h2,h3,h4,h5,h6,html,i,img,ins,kbd,legend,li,map,ol,p,pre,q,samp,small,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,tt,ul,var{margin:0;padding:0}a,fieldset,img{border:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}audio,iframe{max-width:100%}:root{--theme_accent:#ed1e24;--theme_accent_semi:rgba(251,9,48,.8);--theme_accent_hover:#000;--theme_rounded:12px;--theme_input_rounded:12px;--theme_btn_rounded:30px}html{scroll-behavior:smooth}body{background-color:#fff;color:#666;font:1em/1.65em Public Sans,Arial,sans-serif;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}a{color:var(--theme_accent);text-decoration:none;transition:color .3s ease-in-out}a:hover{color:var(--theme_accent_hover)}p{margin:0 0 1.3em;padding:0}small{font-size:87%}blockquote{border-left:3px solid hsla(0,0%,59%,.3);font-size:1.1em;line-height:1.4em;margin:0 5% 1.2em;padding:.8em 1.4em}ins{text-decoration:none}ol,ul{margin:0 0 1.4em 1.6em}li,ol,ul{padding:0}li{margin:0 0 1em}h1,h2,h3,h4,h5,h6{color:#000;font-weight:700;letter-spacing:-.02em;line-height:1.4em;margin:0 0 .5em;overflow-wrap:normal}h1{font-size:3.4em;line-height:1.2em}h1,h2{letter-spacing:-.03em}h2{font-size:2.3em;line-height:1.3em}h3{font-size:1.7em}h4{font-size:1.4em}h5{font-size:1.3em}h5,h6{line-height:1.7em}h6{font-size:1.2em}button,input,input[type=search],select,textarea{font-family:inherit;font-size:100%;max-width:100%}input:is([type=radio],[type=checkbox]),input:read-only,input:read-write,select,textarea{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid rgba(0,0,0,.25);border-radius:var(--theme_input_rounded);max-width:100%;padding:.6em}input:read-only,input:read-write{margin:0 1em .6em 0;width:17em}input[type=number]{width:7em}textarea{margin:0 0 .6em;min-height:13.5em;width:100%}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='none' stroke='rgba(40,40,40,.8)' stroke-linecap='round' stroke-width='12'%3E%3Cpath d='m2.7 2.3 46.4 54.9L95.5 2.3'/%3E%3C/svg%3E");background-position:calc(100% - .7em) calc(50% + .15em);background-repeat:no-repeat;background-size:.85em;color:inherit;margin:0 0 .6em;padding-right:2em}input:is([type=radio],[type=checkbox]){-webkit-appearance:none;box-sizing:content-box;clear:none;cursor:pointer;display:inline-block;height:1.3em;line-height:1;margin:0 .5em 0 0;min-height:1.3em;min-width:1.3em;padding:0;text-align:center;vertical-align:middle;width:1.3em}input[type=checkbox]{border-radius:calc(var(--theme_input_rounded) - 4px)}input[type=radio]{align-items:center;border-radius:100%!important;display:inline-flex;justify-content:center}input[type=checkbox]:before{border-bottom:.13em solid transparent;border-left:.13em solid transparent;content:"";display:inline-block;height:.32em;margin-bottom:.1em;margin-left:.1em;transform:rotate(-45deg) skewY(-10deg);width:.7em}input[type=checkbox]:checked:before{border-bottom:.13em solid;border-left:.13em solid}input[type=radio]:checked:before{background-color:#222;border-radius:100%;content:"";display:inline-block;height:.7em;vertical-align:middle;width:.7em}:is(select,textarea):focus,input:read-only:focus,input:read-write:focus{border-color:rgba(0,0,0,.5)}button,input[type=reset],input[type=submit]{-webkit-appearance:none;background-color:var(--theme_accent);border:0;border-radius:var(--theme_btn_rounded);color:#fff;cursor:pointer;display:inline-block;font-weight:700;padding:.65em 1.6em;transition:background .3s,color .3s,transform .3s;width:auto}button:hover,input:is([type=reset],[type=submit]):hover{background-color:var(--theme_accent_hover);box-shadow:0 5px 10px rgba(0,0,0,.1);color:#fff;transform:translateY(-1px)}.gm-style-mtc button{border-radius:0}.mce-toolbar .mce-btn button:hover{background-color:inherit;box-shadow:none;color:inherit;transform:none}#main-nav ul a,.author-box,.post,.post-content,.sidemenu,.widget,img,input,textarea{box-sizing:border-box}.col3-1,.col4-1,.col4-2{float:left;margin-left:3.2%}.col4-1{width:22.6%}.col4-2{width:48.4%}.col3-1{width:31.2%}:is(.col4-1,.col4-2,.col3-1).first{clear:left;margin-left:0}#pagewrap{overflow-x:clip}.mobile-menu-visible #pagewrap,.slide-cart-visible #pagewrap{overflow-x:initial}.pagewidth{margin:0 auto;max-width:100%;width:1160px}#layout{display:flex;flex-wrap:wrap}#content{padding:5.75% 0;width:71%}.sidebar-none #content{width:100%}.sidebar-none #layout{display:block}.sidemenu-active{left:0;position:relative;transition:left .2s ease-in-out}.sidemenu-right{left:-300px}.sidemenu-left,.sidemenu-left #headerwrap{left:300px}.full_width #layout{flex-wrap:wrap;max-width:100%;width:100%}.full_width #content{max-width:100%;padding:0;width:100%}#headerwrap{background-color:var(--tf_fixed_header_bg,#fff);border-bottom:var(--tf_fixed_header_border,1px solid rgba(0,0,0,.05));color:var(--tf_fixed_header_color,#000);inset-block:var(--tf_fixed_header_p,0 auto);left:0;margin-inline:var(--tf_fixed_header_m,0);min-height:55px;position:var(--tf_fixed_header,absolute);transition:.3s ease-in-out;transition-property:background-color,color,box-shadow,min-height,left,padding;width:var(--tf_fixed_header_w,100%);z-index:999}.fixed-header-enabled{--tf_fixed_header:sticky}.no-fixed-header{--tf_fixed_header:relative}.fixed-header-on{--tf_fixed_header_bg:hsla(0,0%,100%,.9)}#headerwrap.fixed-header:before{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);content:"";inset:0;pointer-events:none;position:absolute;z-index:0}#header{overflow:visible;padding:2em 0;position:relative}.fixed-header-enabled #header{transition:padding .3s ease-in-out}.fixed-header #header{padding-block:12px}@supports (-webkit-touch-callout:none){#headerwrap{background-attachment:scroll!important;background-position:50%!important}}.header-widget{font-size:.95em;height:100%}.header-widget .widget{margin:2em 0}.header-widget .widgettitle{color:inherit;font-size:1.05em;margin:0 0 .5em}.fixed-header-on .tf_sticky_logo~*{display:none!important}.search-button{border-radius:100%;box-sizing:border-box;color:inherit;font-size:19px;line-height:1;margin:0 0 0 3px;padding:10px}.search-button:hover{background:hsla(0,0%,78%,.25)}a.search-button{text-decoration:none}.search-button:focus{outline:0}.tf_darkmode_toggle{border-radius:100%;box-sizing:border-box;color:inherit;font-size:19px;line-height:1;margin:0 0 0 7px;padding:9px 10px}.tf_darkmode .tf_darkmode_toggle,.tf_darkmode_toggle:hover{background:hsla(0,0%,78%,.25)}a.tf_darkmode_toggle{text-decoration:none}.tf_darkmode_toggle:focus{outline:0}#main-nav,#main-nav li{margin:0;padding:0}#main-nav li{display:inline-block;list-style:none;position:relative}#main-nav ul li{background:0;display:block;float:none}#main-nav li>.sub-menu{background:#fff;border-radius:var(--theme_rounded);box-shadow:0 0 0 1px rgba(0,0,0,.1),0 3px 12px rgba(0,0,0,.12);box-sizing:border-box;contain:style layout;left:-.3em;margin:0;opacity:0;padding:calc(var(--tb_rounded_corner) - 2px) 0;position:absolute;top:100%;transform:scaleY(0);transform-origin:top;transition:transform .3s ease-in-out,opacity .3s ease-in-out;width:210px;z-index:100}#main-nav small{display:block}#main-nav li .sub-menu .sub-menu{left:100%;top:-.65em}#main-nav .edge>.sub-menu{left:auto;right:0}#main-nav ul .edge>.sub-menu{left:auto;right:100%}@media (hover:hover){#main-nav li:hover>.sub-menu,#main-nav li>.sub-menu:focus-within,#main-nav li>a:focus+.sub-menu{opacity:1;transform:scale(1)}}.menu-item .child-arrow{border-radius:100%;cursor:pointer;display:none;height:36px;position:absolute;right:0;top:4px;transition:transform .3s;width:36px;z-index:12}.child-arrow:after,.child-arrow:before{background:currentColor;border-radius:10px;content:"";height:1px;left:12px;position:absolute;top:50%;transform:rotate(45deg);transition:transform .3s ease-in-out;width:8px;z-index:9999}.child-arrow:after{left:17px;transform:rotate(-45deg)}.toggle-on>a .child-arrow:after,.toggle-on>a .child-arrow:before{left:10px;width:15px}.toggle-on>a .child-arrow{transform:rotate(180deg)}@media (hover:none){#main-nav .menu-item-has-children>a{padding-right:45px}#footer-nav .menu-item-has-children>a{padding-right:30px}.menu-item .child-arrow{border-radius:100%;display:inline-block;margin-left:7px;margin-top:-17px;padding:0;right:5px;top:50%}#main-nav .toggle-on>a>.child-arrow{background:hsla(0,0%,84%,.4)}#main-nav li>.sub-menu{display:none}#main-nav li.toggle-on>.sub-menu{opacity:1;transform:scale(1)}}#main-nav a{color:inherit;display:block;margin:0;padding:.5em .8em;position:relative;text-decoration:none;transition:.4s ease;transition-property:background,font-size,line-height,color,padding,margin,border,border-radius,box-shadow,transform}#main-nav .highlight-link>a{background-color:hsla(0,0%,78%,.25);border:0;border-radius:var(--theme_btn_rounded);margin-left:.6em;margin-right:.6em;padding-left:1.4em;padding-right:1.4em}#main-nav .highlight-link:last-child>a{margin-right:0}#main-nav a>em .tf_fa{margin-right:5px}#main-nav a .tf_lazy{display:none}#main-nav ul a{color:#353535;padding:.4em 1.4em;text-align:left}#main-nav .current-menu-item>a,#main-nav .current_page_item>a,#main-nav a:hover,#main-nav ul a:hover{color:var(--theme_accent)}.header-icons :is(a,a:hover){color:inherit;text-decoration:none}#headerwrap .header-icons>*{vertical-align:middle}.slide-cart .header-icons{min-width:75px;text-align:right}#menu-icon{border-radius:100%;line-height:1em;margin:0 0 0 10px;padding:10px 9px 11px}#menu-icon:hover{background:hsla(0,0%,78%,.25)}.menu-icon-inner{border-bottom:2px solid;box-sizing:border-box;height:18px;position:relative;width:22px}.menu-icon-inner:after,.menu-icon-inner:before{border-top:2px solid;content:"";display:block;left:0;position:absolute;top:0;transition:border .7s ease;transition-property:transform;width:100%}.menu-icon-inner:after{top:50%}#menu-icon-close{transform:rotate(0deg);transition:border .3s ease-in-out,transform .3s ease-in-out}.body-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:hsla(0,0%,81%,.8);display:none;height:100%;position:fixed;top:0;width:100%}.body-overlay-on{display:block;z-index:998}.fixed-header :is(.tf_darkmode_toggle,.header-bar,.search-button,.header-widget),.mobile-menu-visible #headerwrap:before,.slide-cart-visible #headerwrap:before{display:none}.revealing-header :is(#headerwrap,#tbp_header){transition:transform .5s ease-in-out,opacity .5s ease-in-out}.revealing-header :is(#headerwrap,#tbp_header).header_hidden{opacity:0;transform:translateY(-100%)}.fixed-header-enabled #tbp_header,.revealing-header #tbp_header{position:sticky;top:0;z-index:999}.page-title{margin:0 0 1em;padding:0}.author-bio{margin:0 0 2em;overflow:hidden}.author-bio .author-avatar{float:left;margin:0 1.2em 0 0}.author-bio .author-avatar img{border-radius:var(--theme_rounded);width:100px}.author-bio .author-name{font-size:1.6em;margin:0 0 .5em;padding:0}.author-posts-by{border-top:4px solid hsla(0,0%,46%,.1);font-size:1.4em;margin:0 0 1.5em;padding:1em 0 0;text-transform:uppercase}.post{margin-bottom:2em;position:relative}.post-content{min-width:120px}.post-title{font-size:3.1em;letter-spacing:-.03em;line-height:1.2em;margin:0 0 .4em;padding:0;text-transform:none}.post-title a{color:#000;text-decoration:none}.post-title a:hover{color:var(--theme_accent)}.post-image{margin:0 0 1em}.post-image img{border-radius:var(--theme_rounded);vertical-align:bottom}.post-image.left{float:left;margin-right:1em}.post-image.right{float:right;margin-left:1em}.post-meta{font-size:.9em;line-height:1.6em;margin:0 0 .5em;padding:0}.post-meta a{text-decoration:none}.post-meta :is(.post-comment,.post-category,.post-tag):before{border-left:1px solid hsla(0,0%,71%,.6);content:"";display:inline-block;height:1.3em;margin:0 .9em 0 .45em;transform:skewX(-15deg);vertical-align:middle;white-space:nowrap;width:1px}.post-meta .post-category:first-child:before{display:none}.post-meta .post-comment .tf_fa{font-size:.8em;margin-left:8px;opacity:.7;vertical-align:text-top}.more-link,.more-link:after,.more-link:hover{text-decoration:none}.more-link:after{border:1px solid transparent;border-right-color:inherit;border-top-color:inherit;content:"";display:inline-block;margin-left:.5em;min-height:.7em;min-width:.7em;transform:rotate(45deg);vertical-align:middle}.post-date{display:block;font-size:.8em;letter-spacing:.04em;margin:0 0 .4em;text-transform:uppercase}.loops-wrapper .post-image{margin-bottom:1em;position:relative;transition:border .3s ease-in-out,margin .3s ease-in-out,width .3s ease-in-out,transform .3s ease-in-out}.author-box{border:0;margin:5.5em 0}.author-box .author-avatar{float:left;margin:0 2em .3em 0}.author-box .author-name{margin:0 0 .3em}.post-pagination{margin:.5em 0 2em;text-align:right}.post-pagination strong{margin-right:3px}.post-pagination a{margin-left:3px;margin-right:3px}.tf_load_more{padding:2em 0}a.load-more-button{background:hsla(0,0%,72%,.16);border-radius:var(--theme_btn_rounded);box-sizing:border-box;display:none;padding:.7em 1.8em;text-decoration:none;width:auto}.post-video{height:0;margin-bottom:15px;overflow:hidden;padding-bottom:56.25%;position:relative}.post-video iframe{height:100%;left:0;position:absolute;top:0;width:100%}.featured-area img{width:100%}.loops-wrapper.no-gutter .post-image{margin:0}.loops-wrapper.no-gutter .post,.loops-wrapper.no-gutter .post-image img,ul.products.no-gutter li.product .post-image{border-radius:0}.widget{margin:0 0 2.4em}.widgettitle{font-size:1.25em;line-height:1.3em;margin:0 0 1em;padding:0}.widget ul{margin:0;padding:0}.widget li{clear:both;list-style:none;margin:0;padding:.4em 0}.widget ul ul{margin:.6em 0 -.6em;padding:0}.widget ul ul li{margin:0;padding-left:1em}iframe[src*=facebook]{background-color:#fff}#content .twitter-tweet-rendered,#content .twt-border{max-width:100%!important}#content .twt-border{min-width:180px!important}:is(.col4-3,.col4-2,.col4-1,.col3-2,.col3-1,.col2-1) .loops-wrapper.list-post .post-title{font-size:1.4em;margin:0 0 .5em}.shortcode.themify-icon .themify-icon-icon{font-size:1.3em}a.shortcode.button{border-radius:var(--theme_btn_rounded);padding:.65em 1em}.tb_optin_horizontal form>div[class*=tb_optin_]{width:auto}img:is(.alignleft,.aligncenter,.alignright,.alignnone){margin-bottom:1em}.alignleft{float:left;margin-right:1em}.alignright{float:right;margin-left:1em}.aligncenter{display:block;margin-left:auto;margin-right:auto;text-align:center}.wp-caption{margin-bottom:1em;max-width:100%;text-align:center}.wp-caption-text{margin:.5em 0}body.attachment{position:static}.single .attachment.post,body.attachment{float:none;width:auto}.menu:after,.widget li:after{clear:both;content:"";display:table}.module-feature-image,.post-image,.post-img,.slide-image{transition:.3s ease-in-out;transition-property:border,padding,width}.mobile-menu-visible{overflow-y:hidden}@media(max-width:1260px){h1{font-size:2.4em}h2{font-size:2em}.pagewidth{max-width:94%}#pagewrap,.default_width #layout .row_inner{max-width:100%}}@media(max-width:1024px){.header-widget .col4-1{width:48.4%}.header-widget .col4-1:nth-child(odd){clear:left;margin-left:0}}@media(max-width:760px){body .pagewidth{max-width:90%}#layout{flex-wrap:wrap}#content,#sidebar{clear:both;max-width:100%;padding-top:10%;width:100%}}@media(max-width:680px){h1{font-size:1.9em}.post-title,h2{font-size:1.6em}h3{font-size:1.35em}.col4-1{font-size:.95em}.col3-1,.col4-2{margin-left:0;max-width:100%;width:100%}.fixed-header #site-logo img:not(.tf_sticky_logo){max-height:40px;width:auto}#headerwrap .header-icons{right:5%}.loops-wrapper:is(.list-post,.grid4,.grid3,.grid2,.list-large-image) .post-image{float:none;max-width:none;overflow:visible;width:auto}}
/*/wp-content/themes/themify-ultra/styles/headers/header-horizontal.css*/
#header{padding:1em 0}.header-bar{float:left}#site-logo{margin:5px 15px 5px 0}#site-description{font-size:.8em;margin:5px .5em 5px 0}.navbar-wrapper{align-items:center;display:flex;justify-content:end}#header .social-widget,#searchform-wrap,.cart-icon,.search-button,.tf_darkmode_toggle{order:1}#main-nav-wrap{align-items:center;display:flex;justify-content:end}#main-nav{float:right}#main-nav .has-mega-column>.sub-menu{padding:32px 39px 39px}.header-widget{display:none;text-align:center}.header-widget .header-widget-inner{height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.sidemenu-on .header-widget .header-widget-inner{max-height:none!important}.fixed-header :is(.header-bar,.search-button),.fixed-header-on #headerwrap :is(.social-widget,#searchform-wrap),.fixed-header-on .tf_darkmode_toggle{display:inline-block}#gallery-controller .slider.carousel-nav-wrap{display:none}@media(max-height:900px){.header-horizontal #headerwrap .header-widget-inner{max-height:70vh}}
/*/wp-content/uploads/themify-css/themify-builder-351-generated.css*/
/* Generated from tbuilder_layout_part: seo-landingspagina-stadsvervoer */

@media(max-width:600px){
.themify_builder_content-351 .tb_7v5b432{--area:var(--aream2_auto)}
}
/*/wp-content/uploads/themify-customizer-8.2.0-8.0.8.css*/

/* Themify Custom CSS */
/* ==========================================================================
   QTAXI — GLOBAL.CSS
   Foundation + Themify Shield + Design System
   Scope: qtaxi
   Mobile first: 360/390px → 640px → 768px → 1024px → 1200px → 1440px
========================================================================== */
/* ==========================================================================
   01. ROOT DESIGN TOKENS — COLORS
========================================================================== */
/* ==========================================================================
   09.01 COLOR SCHEMES — TAXI THEMES
   Plaats direct na ROOT DESIGN TOKENS — Z-INDEX
========================================================================== */

/* 01. Classic Taxi Yellow */
:root,
.qtaxi-theme-classic-yellow {
  --qtaxi-color-primary: #00073C;
  --qtaxi-color-primary-light: #1A2570;
  --qtaxi-color-secondary: #111111;
  --qtaxi-color-accent: #F4C542;
  --qtaxi-color-cta: #FF4500;
  --qtaxi-color-text: #1F2937;
  --qtaxi-color-text-light: #6B7280;
  --qtaxi-color-border: #E5E7EB;
  --qtaxi-color-surface: #F9FAFB;
  --qtaxi-color-surface-dark: #101828;
}

/* 02. Premium Black Gold */
.qtaxi-theme-premium-gold {
  --qtaxi-color-primary: #0B0B0B;
  --qtaxi-color-primary-light: #2A2415;
  --qtaxi-color-secondary: #1C1C1C;
  --qtaxi-color-accent: #D4AF37;
  --qtaxi-color-cta: #C99700;
  --qtaxi-color-text: #1A1A1A;
  --qtaxi-color-text-light: #6F6F6F;
  --qtaxi-color-border: #E6D8A8;
  --qtaxi-color-surface: #FAF7EF;
  --qtaxi-color-surface-dark: #111111;
}

/* 03. Executive Navy Gold */
.qtaxi-theme-executive-navy {
  --qtaxi-color-primary: #071B3A;
  --qtaxi-color-primary-light: #123A6F;
  --qtaxi-color-secondary: #0F172A;
  --qtaxi-color-accent: #E8B44B;
  --qtaxi-color-cta: #FF7A1A;
  --qtaxi-color-text: #172033;
  --qtaxi-color-text-light: #667085;
  --qtaxi-color-border: #D9E2F1;
  --qtaxi-color-surface: #F5F8FC;
  --qtaxi-color-surface-dark: #06152D;
}

/* 04. Airport Blue */
.qtaxi-theme-airport-blue {
  --qtaxi-color-primary: #003B73;
  --qtaxi-color-primary-light: #0A66B2;
  --qtaxi-color-secondary: #012A4A;
  --qtaxi-color-accent: #F9C74F;
  --qtaxi-color-cta: #F97316;
  --qtaxi-color-text: #102A43;
  --qtaxi-color-text-light: #627D98;
  --qtaxi-color-border: #D9EAF7;
  --qtaxi-color-surface: #F0F7FC;
  --qtaxi-color-surface-dark: #012A4A;
}

/* 05. Eco Taxi Green */
.qtaxi-theme-eco-green {
  --qtaxi-color-primary: #064E3B;
  --qtaxi-color-primary-light: #0F766E;
  --qtaxi-color-secondary: #14532D;
  --qtaxi-color-accent: #A3E635;
  --qtaxi-color-cta: #22C55E;
  --qtaxi-color-text: #1F2937;
  --qtaxi-color-text-light: #64748B;
  --qtaxi-color-border: #D1FAE5;
  --qtaxi-color-surface: #F0FDF4;
  --qtaxi-color-surface-dark: #052E2B;
}

/* 06. Urban Graphite Orange */
.qtaxi-theme-urban-orange {
  --qtaxi-color-primary: #1F2937;
  --qtaxi-color-primary-light: #374151;
  --qtaxi-color-secondary: #111827;
  --qtaxi-color-accent: #F59E0B;
  --qtaxi-color-cta: #F97316;
  --qtaxi-color-text: #111827;
  --qtaxi-color-text-light: #6B7280;
  --qtaxi-color-border: #E5E7EB;
  --qtaxi-color-surface: #F9FAFB;
  --qtaxi-color-surface-dark: #111827;
}

/* 07. Royal Burgundy Gold */
.qtaxi-theme-burgundy-gold {
  --qtaxi-color-primary: #4A0714;
  --qtaxi-color-primary-light: #7F1D1D;
  --qtaxi-color-secondary: #2B030A;
  --qtaxi-color-accent: #D4AF37;
  --qtaxi-color-cta: #E11D48;
  --qtaxi-color-text: #241216;
  --qtaxi-color-text-light: #7A5C61;
  --qtaxi-color-border: #E8D6D9;
  --qtaxi-color-surface: #FFF7F8;
  --qtaxi-color-surface-dark: #2B030A;
}

/* 08. Clean White Navy */
.qtaxi-theme-clean-navy {
  --qtaxi-color-primary: #0A2540;
  --qtaxi-color-primary-light: #2563EB;
  --qtaxi-color-secondary: #1E293B;
  --qtaxi-color-accent: #FACC15;
  --qtaxi-color-cta: #0EA5E9;
  --qtaxi-color-text: #0F172A;
  --qtaxi-color-text-light: #64748B;
  --qtaxi-color-border: #E2E8F0;
  --qtaxi-color-surface: #F8FAFC;
  --qtaxi-color-surface-dark: #0A2540;
}

/* 09. Night Taxi Purple */
.qtaxi-theme-night-purple {
  --qtaxi-color-primary: #2E1065;
  --qtaxi-color-primary-light: #6D28D9;
  --qtaxi-color-secondary: #1E1B4B;
  --qtaxi-color-accent: #FDE047;
  --qtaxi-color-cta: #A855F7;
  --qtaxi-color-text: #1E1B4B;
  --qtaxi-color-text-light: #6B7280;
  --qtaxi-color-border: #DDD6FE;
  --qtaxi-color-surface: #FAF5FF;
  --qtaxi-color-surface-dark: #1E1B4B;
}

/* 10. Coastal Teal */
.qtaxi-theme-coastal-teal {
  --qtaxi-color-primary: #134E4A;
  --qtaxi-color-primary-light: #0F766E;
  --qtaxi-color-secondary: #042F2E;
  --qtaxi-color-accent: #FCD34D;
  --qtaxi-color-cta: #14B8A6;
  --qtaxi-color-text: #102A2A;
  --qtaxi-color-text-light: #5F7474;
  --qtaxi-color-border: #CCFBF1;
  --qtaxi-color-surface: #F0FDFA;
  --qtaxi-color-surface-dark: #042F2E;
}

/* 11. Fast Red Black */
.qtaxi-theme-fast-red {
  --qtaxi-color-primary: #111111;
  --qtaxi-color-primary-light: #3A3A3A;
  --qtaxi-color-secondary: #1F1F1F;
  --qtaxi-color-accent: #FACC15;
  --qtaxi-color-cta: #DC2626;
  --qtaxi-color-text: #18181B;
  --qtaxi-color-text-light: #71717A;
  --qtaxi-color-border: #E4E4E7;
  --qtaxi-color-surface: #FAFAFA;
  --qtaxi-color-surface-dark: #111111;
}

/* 12. Silver Executive */
.qtaxi-theme-silver-executive {
  --qtaxi-color-primary: #111827;
  --qtaxi-color-primary-light: #4B5563;
  --qtaxi-color-secondary: #374151;
  --qtaxi-color-accent: #CBD5E1;
  --qtaxi-color-cta: #2563EB;
  --qtaxi-color-text: #111827;
  --qtaxi-color-text-light: #6B7280;
  --qtaxi-color-border: #D1D5DB;
  --qtaxi-color-surface: #F3F4F6;
  --qtaxi-color-surface-dark: #111827;
}

/* 13. Local Warm Yellow */
.qtaxi-theme-warm-yellow {
  --qtaxi-color-primary: #3B2F00;
  --qtaxi-color-primary-light: #7C5C00;
  --qtaxi-color-secondary: #1F2937;
  --qtaxi-color-accent: #FFD43B;
  --qtaxi-color-cta: #F97316;
  --qtaxi-color-text: #2F2A1F;
  --qtaxi-color-text-light: #7C7468;
  --qtaxi-color-border: #F3E7B3;
  --qtaxi-color-surface: #FFFBEA;
  --qtaxi-color-surface-dark: #1F2937;
}

/* 14. Business Blue Grey */
.qtaxi-theme-business-bluegrey {
  --qtaxi-color-primary: #1E3A5F;
  --qtaxi-color-primary-light: #406882;
  --qtaxi-color-secondary: #263238;
  --qtaxi-color-accent: #F2C94C;
  --qtaxi-color-cta: #2F80ED;
  --qtaxi-color-text: #263238;
  --qtaxi-color-text-light: #667085;
  --qtaxi-color-border: #D6E0EA;
  --qtaxi-color-surface: #F5F8FA;
  --qtaxi-color-surface-dark: #172A3A;
}

/* 15. Minimal Black White */
.qtaxi-theme-minimal-black {
  --qtaxi-color-primary: #000000;
  --qtaxi-color-primary-light: #333333;
  --qtaxi-color-secondary: #111111;
  --qtaxi-color-accent: #F5C518;
  --qtaxi-color-cta: #000000;
  --qtaxi-color-text: #111111;
  --qtaxi-color-text-light: #666666;
  --qtaxi-color-border: #E5E5E5;
  --qtaxi-color-surface: #FAFAFA;
  --qtaxi-color-surface-dark: #000000;
}

/* 16. Brussels Airport Premium */
.qtaxi-theme-brussels-airport {
  --qtaxi-color-primary: #00205B;
  --qtaxi-color-primary-light: #0057B8;
  --qtaxi-color-secondary: #001A3D;
  --qtaxi-color-accent: #F7C948;
  --qtaxi-color-cta: #E95A0C;
  --qtaxi-color-text: #111827;
  --qtaxi-color-text-light: #6B7280;
  --qtaxi-color-border: #D7E3F4;
  --qtaxi-color-surface: #F3F7FC;
  --qtaxi-color-surface-dark: #001A3D;
}

/* 17. Charleroi Orange */
.qtaxi-theme-charleroi-orange {
  --qtaxi-color-primary: #1F2937;
  --qtaxi-color-primary-light: #4B5563;
  --qtaxi-color-secondary: #111827;
  --qtaxi-color-accent: #FDBA21;
  --qtaxi-color-cta: #F97316;
  --qtaxi-color-text: #1F2937;
  --qtaxi-color-text-light: #6B7280;
  --qtaxi-color-border: #FED7AA;
  --qtaxi-color-surface: #FFF7ED;
  --qtaxi-color-surface-dark: #111827;
}

/* 18. Elegant Emerald */
.qtaxi-theme-elegant-emerald {
  --qtaxi-color-primary: #022C22;
  --qtaxi-color-primary-light: #047857;
  --qtaxi-color-secondary: #064E3B;
  --qtaxi-color-accent: #D4AF37;
  --qtaxi-color-cta: #059669;
  --qtaxi-color-text: #10251E;
  --qtaxi-color-text-light: #5F7169;
  --qtaxi-color-border: #CDEBDD;
  --qtaxi-color-surface: #F3FBF7;
  --qtaxi-color-surface-dark: #022C22;
}

/* 19. Modern Indigo */
.qtaxi-theme-modern-indigo {
  --qtaxi-color-primary: #312E81;
  --qtaxi-color-primary-light: #4F46E5;
  --qtaxi-color-secondary: #1E1B4B;
  --qtaxi-color-accent: #FDE047;
  --qtaxi-color-cta: #6366F1;
  --qtaxi-color-text: #1E1B4B;
  --qtaxi-color-text-light: #6B7280;
  --qtaxi-color-border: #C7D2FE;
  --qtaxi-color-surface: #EEF2FF;
  --qtaxi-color-surface-dark: #1E1B4B;
}

/* 20. Taxi Rebaz Deep Navy */
.qtaxi-theme-rebaz-navy {
  --qtaxi-color-primary: #00073C;
  --qtaxi-color-primary-light: #16206B;
  --qtaxi-color-secondary: #0F172A;
  --qtaxi-color-accent: #F4C542;
  --qtaxi-color-cta: #FF4500;
  --qtaxi-color-text: #1F2937;
  --qtaxi-color-text-light: #6B7280;
  --qtaxi-color-border: #E5E7EB;
  --qtaxi-color-surface: #F9FAFB;
  --qtaxi-color-surface-dark: #101828;
}



/* ==========================================================================
   02. ROOT DESIGN TOKENS — TYPOGRAPHY
========================================================================== */

:root {
  --qtaxi-font-primary:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  --qtaxi-font-size-h1: clamp(34px, 7vw, 64px);
  --qtaxi-font-size-h2: clamp(28px, 5vw, 48px);
  --qtaxi-font-size-h3: clamp(22px, 4vw, 34px);
  --qtaxi-font-size-h4: clamp(20px, 3vw, 28px);
  --qtaxi-font-size-h5: clamp(18px, 2vw, 22px);
  --qtaxi-font-size-h6: clamp(16px, 2vw, 18px);
  --qtaxi-font-size-body: clamp(15px, 1.2vw, 18px);
  --qtaxi-font-size-small: clamp(13px, 1vw, 15px);

  --qtaxi-line-height-tight: 1.1;
  --qtaxi-line-height-base: 1.7;
  --qtaxi-line-height-loose: 1.9;
}


/* ==========================================================================
   03. ROOT DESIGN TOKENS — SPACING
========================================================================== */

:root {
  --qtaxi-space-1: 4px;
  --qtaxi-space-2: 8px;
  --qtaxi-space-3: 12px;
  --qtaxi-space-4: 16px;
  --qtaxi-space-5: 24px;
  --qtaxi-space-6: 32px;
  --qtaxi-space-7: 48px;
  --qtaxi-space-8: 64px;
  --qtaxi-space-9: 80px;
  --qtaxi-space-10: 96px;
}


/* ==========================================================================
   04. ROOT DESIGN TOKENS — SECTION SPACING
========================================================================== */

:root {
  --qtaxi-section-space-sm: 48px;
  --qtaxi-section-space-md: 72px;
  --qtaxi-section-space-lg: 96px;
}


/* ==========================================================================
   05. ROOT DESIGN TOKENS — RADIUS
========================================================================== */

:root {
  --qtaxi-radius-sm: 10px;
  --qtaxi-radius-md: 16px;
  --qtaxi-radius-lg: 24px;
  --qtaxi-radius-xl: 32px;
  --qtaxi-radius-pill: 999px;
}


/* ==========================================================================
   06. ROOT DESIGN TOKENS — SHADOWS
========================================================================== */

:root {
  --qtaxi-shadow-sm: 0 4px 10px rgba(0,0,0,.06);
  --qtaxi-shadow-md: 0 10px 25px rgba(0,0,0,.08);
  --qtaxi-shadow-lg: 0 20px 50px rgba(0,0,0,.12);
}


/* ==========================================================================
   07. ROOT DESIGN TOKENS — CONTAINERS
========================================================================== */

:root {
  --qtaxi-container-xs: 540px;
  --qtaxi-container-sm: 720px;
  --qtaxi-container-md: 960px;
  --qtaxi-container-lg: 1200px;
  --qtaxi-container-xl: 1440px;
}


/* ==========================================================================
   08. ROOT DESIGN TOKENS — TRANSITIONS
========================================================================== */

:root {
  --qtaxi-transition-fast: .18s ease;
  --qtaxi-transition-base: .28s ease;
  --qtaxi-transition-slow: .42s ease;
}


/* ==========================================================================
   09. ROOT DESIGN TOKENS — Z-INDEX
========================================================================== */

:root {
  --qtaxi-z-base: 1;
  --qtaxi-z-dropdown: 100;
  --qtaxi-z-sticky: 500;
  --qtaxi-z-overlay: 900;
  --qtaxi-z-modal: 1000;
  --qtaxi-z-toast: 1200;
}


/* ==========================================================================
   10. CSS CASCADE LAYERS
========================================================================== */

@layer reset, tokens, base, layout, components, utilities, overrides;


/* ==========================================================================
   11. GLOBAL BOX SIZING RESET
========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}


/* ==========================================================================
   12. HTML FOUNDATION
========================================================================== */

html {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}


/* ==========================================================================
   13. BODY FOUNDATION
========================================================================== */

body {
  margin: 0;
  padding: 0;
  overflow-x: clip;
  font-family: var(--qtaxi-font-primary);
  font-size: var(--qtaxi-font-size-body);
  line-height: var(--qtaxi-line-height-base);
  color: var(--qtaxi-color-text);
  background: var(--qtaxi-color-white);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}


/* ==========================================================================
   14. THEMIFY BOX SIZING SHIELD
========================================================================== */

.themify_builder *,
.themify_builder *::before,
.themify_builder *::after {
  box-sizing: border-box;
}


/* ==========================================================================
   15. THEMIFY WRAPPER MIN-WIDTH SHIELD
========================================================================== */

.themify_builder .module,
.themify_builder .module_row,
.themify_builder .module_column,
.themify_builder .module_subrow,
.themify_builder .sub_column,
.themify_builder .tb_text_wrap,
.themify_builder .image-wrap {
  min-width: 0;
}


/* ==========================================================================
   16. THEMIFY COLUMN FLOAT SHIELD
========================================================================== */

.themify_builder .module_column,
.themify_builder .sub_column {
  float: none;
  position: relative;
}


/* ==========================================================================
   17. THEMIFY ROW FOUNDATION
========================================================================== */

.themify_builder .module_row,
.themify_builder .module_subrow {
  width: 100%;
  position: relative;
}


/* ==========================================================================
   18. THEMIFY INNER WRAPPER FOUNDATION
========================================================================== */

.themify_builder .row_inner,
.themify_builder .subrow_inner {
  width: 100%;
}


/* ==========================================================================
   19. THEMIFY FULLWIDTH SHIELD
========================================================================== */

.themify_builder .fullwidth {
  width: 100%;
}


/* ==========================================================================
   20. THEMIFY LINK SHIELD
========================================================================== */

.themify_builder a {
  color: inherit;
  text-decoration: none;
}


/* ==========================================================================
   21. THEMIFY FORM FONT SHIELD
========================================================================== */

.themify_builder button,
.themify_builder input,
.themify_builder textarea,
.themify_builder select {
  font: inherit;
}


/* ==========================================================================
   22. THEMIFY TEXT MARGIN SHIELD
========================================================================== */

.themify_builder p:last-child {
  margin-bottom: 0;
}


/* ==========================================================================
   23. GLOBAL MEDIA FOUNDATION
========================================================================== */

.themify_builder img,
img,
.themify_builder video,
video,
.themify_builder svg,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

.themify_builder video,
video {
  width: 100%;
}

.themify_builder iframe {
  max-width: 100%;
}


/* ==========================================================================
   24. THEMIFY OVERFLOW SHIELD
========================================================================== */

.themify_builder_content,
.module_row {
  overflow-x: clip;
}


/* ==========================================================================
   25. PROFESSIONAL FONT SYSTEM — H1
========================================================================== */

h1,
.qtaxi-h1 {
  margin-top: 0;
  margin-bottom: 24px;
  color: var(--qtaxi-color-primary);
  font-size: var(--qtaxi-font-size-h1);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -.04em;
  text-wrap: balance;
}


/* ==========================================================================
   26. PROFESSIONAL FONT SYSTEM — H2
========================================================================== */

h2,
.qtaxi-h2 {
  margin-top: 0;
  margin-bottom: 20px;
  color: var(--qtaxi-color-primary);
  font-size: var(--qtaxi-font-size-h2);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.03em;
  text-wrap: balance;
}


/* ==========================================================================
   27. PROFESSIONAL FONT SYSTEM — H3
========================================================================== */

h3,
.qtaxi-h3 {
  margin-top: 0;
  margin-bottom: 16px;
  color: var(--qtaxi-color-primary);
  font-size: var(--qtaxi-font-size-h3);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.02em;
}


/* ==========================================================================
   28. PROFESSIONAL FONT SYSTEM — H4
========================================================================== */

h4,
.qtaxi-h4 {
  margin-top: 0;
  margin-bottom: 14px;
  color: var(--qtaxi-color-primary);
  font-size: var(--qtaxi-font-size-h4);
  font-weight: 700;
  line-height: 1.3;
}


/* ==========================================================================
   29. PROFESSIONAL FONT SYSTEM — H5
========================================================================== */

h5,
.qtaxi-h5 {
  margin-top: 0;
  margin-bottom: 12px;
  color: var(--qtaxi-color-primary);
  font-size: var(--qtaxi-font-size-h5);
  font-weight: 700;
  line-height: 1.35;
}


/* ==========================================================================
   30. PROFESSIONAL FONT SYSTEM — H6
========================================================================== */

h6,
.qtaxi-h6 {
  margin-top: 0;
  margin-bottom: 10px;
  color: var(--qtaxi-color-primary);
  font-size: var(--qtaxi-font-size-h6);
  font-weight: 700;
  line-height: 1.4;
}


/* ==========================================================================
   31. PROFESSIONAL FONT SYSTEM — PARAGRAPH
========================================================================== */

p,
.qtaxi-text {
  margin-top: 0;
  margin-bottom: 18px;
  color: var(--qtaxi-color-text);
  font-size: var(--qtaxi-font-size-body);
  font-weight: 400;
  line-height: 1.75;
}


/* ==========================================================================
   32. PROFESSIONAL FONT SYSTEM — SMALL
========================================================================== */

small,
.qtaxi-small {
  color: var(--qtaxi-color-text-light);
  font-size: var(--qtaxi-font-size-small);
  font-weight: 500;
  line-height: 1.6;
}


/* ==========================================================================
   33. ACCESSIBILITY — FOCUS STATES
========================================================================== */

:focus-visible {
  outline: 3px solid var(--qtaxi-color-accent);
  outline-offset: 3px;
}


/* ==========================================================================
   34. ACCESSIBILITY — SELECTION
========================================================================== */

::selection {
  background: var(--qtaxi-color-accent);
  color: var(--qtaxi-color-black);
}


/* ==========================================================================
   35. ACCESSIBILITY — VISUALLY HIDDEN
========================================================================== */

.qtaxi-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}


/* ==========================================================================
   36. SCROLL MARGIN SYSTEM
========================================================================== */

section,
[id] {
  scroll-margin-top: 110px;
}


/* ==========================================================================
   37. CONTAINER SYSTEM — BASE
========================================================================== */

.qtaxi-container,
.qtaxi-container-sm,
.qtaxi-container-md,
.qtaxi-container-lg,
.qtaxi-container-wide,
.qtaxi-container-reading,
.qtaxi-container-narrow {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}


/* ==========================================================================
   38. CONTAINER SYSTEM — VARIANTS
========================================================================== */

.qtaxi-container { max-width: var(--qtaxi-container-lg); }
.qtaxi-container-sm { max-width: var(--qtaxi-container-sm); }
.qtaxi-container-md { max-width: var(--qtaxi-container-md); }
.qtaxi-container-lg { max-width: var(--qtaxi-container-lg); }
.qtaxi-container-wide { max-width: var(--qtaxi-container-xl); }
.qtaxi-container-reading { max-width: 860px; }
.qtaxi-container-narrow { max-width: 720px; }
.qtaxi-container-fluid { width: 100%; }


/* ==========================================================================
   39. DESIGN SPACE SYSTEM — SECTION PADDING
========================================================================== */

.qtaxi-section-space-sm {
  padding-top: var(--qtaxi-section-space-sm);
  padding-bottom: var(--qtaxi-section-space-sm);
}

.qtaxi-section-space-md {
  padding-top: var(--qtaxi-section-space-md);
  padding-bottom: var(--qtaxi-section-space-md);
}

.qtaxi-section-space-lg {
  padding-top: var(--qtaxi-section-space-lg);
  padding-bottom: var(--qtaxi-section-space-lg);
}


/* ==========================================================================
   40. SECTION FOUNDATION
========================================================================== */

.qtaxi-section {
  position: relative;
}


/* ==========================================================================
   41. SECTION VARIANTS
========================================================================== */

.qtaxi-section-light {
  background: var(--qtaxi-color-white);
  color: var(--qtaxi-color-text);
}

.qtaxi-section-grey {
  background: var(--qtaxi-color-surface);
  color: var(--qtaxi-color-text);
}

.qtaxi-section-dark {
  background: var(--qtaxi-color-surface-dark);
  color: var(--qtaxi-color-white);
}

.qtaxi-section-primary {
  background: var(--qtaxi-color-primary);
  color: var(--qtaxi-color-white);
}

.qtaxi-section-gradient {
  background:
    linear-gradient(
      135deg,
      var(--qtaxi-color-primary) 0%,
      var(--qtaxi-color-primary-light) 100%
    );
  color: var(--qtaxi-color-white);
}


/* ==========================================================================
   42. PAGE FOUNDATIONS
========================================================================== */

.qtaxi-page-home {}
.qtaxi-page-about {}
.qtaxi-page-services {}
.qtaxi-page-pricing {}
.qtaxi-page-booking {}
.qtaxi-page-locations {}
.qtaxi-page-contact {}


/* ==========================================================================
   43. FLEX SYSTEM — DISPLAY
========================================================================== */

.qtaxi-flex { display: flex; }
.qtaxi-inline-flex { display: inline-flex; }


/* ==========================================================================
   44. FLEX SYSTEM — DIRECTION
========================================================================== */

.qtaxi-flex-row { flex-direction: row; }
.qtaxi-flex-row-reverse { flex-direction: row-reverse; }
.qtaxi-flex-column { flex-direction: column; }
.qtaxi-flex-column-reverse { flex-direction: column-reverse; }


/* ==========================================================================
   45. FLEX SYSTEM — WRAP
========================================================================== */

.qtaxi-flex-wrap { flex-wrap: wrap; }
.qtaxi-flex-nowrap { flex-wrap: nowrap; }
.qtaxi-flex-wrap-reverse { flex-wrap: wrap-reverse; }


/* ==========================================================================
   46. FLEX SYSTEM — ALIGN ITEMS
========================================================================== */

.qtaxi-align-start { align-items: flex-start; }
.qtaxi-align-center { align-items: center; }
.qtaxi-align-end { align-items: flex-end; }
.qtaxi-align-stretch { align-items: stretch; }
.qtaxi-align-baseline { align-items: baseline; }


/* ==========================================================================
   47. FLEX SYSTEM — JUSTIFY CONTENT
========================================================================== */

.qtaxi-justify-start { justify-content: flex-start; }
.qtaxi-justify-center { justify-content: center; }
.qtaxi-justify-end { justify-content: flex-end; }
.qtaxi-justify-between { justify-content: space-between; }
.qtaxi-justify-around { justify-content: space-around; }
.qtaxi-justify-evenly { justify-content: space-evenly; }


/* ==========================================================================
   48. FLEX SYSTEM — ALIGN CONTENT
========================================================================== */

.qtaxi-content-start { align-content: flex-start; }
.qtaxi-content-center { align-content: center; }
.qtaxi-content-end { align-content: flex-end; }
.qtaxi-content-between { align-content: space-between; }
.qtaxi-content-around { align-content: space-around; }
.qtaxi-content-evenly { align-content: space-evenly; }
.qtaxi-content-stretch { align-content: stretch; }


/* ==========================================================================
   49. FLEX SYSTEM — ALIGN SELF
========================================================================== */

.qtaxi-self-auto { align-self: auto; }
.qtaxi-self-start { align-self: flex-start; }
.qtaxi-self-center { align-self: center; }
.qtaxi-self-end { align-self: flex-end; }
.qtaxi-self-stretch { align-self: stretch; }
.qtaxi-self-baseline { align-self: baseline; }


/* ==========================================================================
   50. FLEX SYSTEM — GROW / SHRINK / BASIS
========================================================================== */

.qtaxi-grow { flex-grow: 1; }
.qtaxi-grow-0 { flex-grow: 0; }
.qtaxi-shrink { flex-shrink: 1; }
.qtaxi-shrink-0 { flex-shrink: 0; }

.qtaxi-basis-auto { flex-basis: auto; }
.qtaxi-basis-full { flex-basis: 100%; }
.qtaxi-basis-half { flex-basis: 50%; }
.qtaxi-basis-third { flex-basis: 33.333%; }
.qtaxi-basis-quarter { flex-basis: 25%; }


/* ==========================================================================
   51. FLEX SYSTEM — SHORTCUTS
========================================================================== */

.qtaxi-flex-1 { flex: 1 1 0%; }
.qtaxi-flex-auto { flex: 1 1 auto; }
.qtaxi-flex-initial { flex: 0 1 auto; }
.qtaxi-flex-none { flex: none; }


/* ==========================================================================
   52. FLEX SYSTEM — COMMON PATTERNS
========================================================================== */

.qtaxi-flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.qtaxi-flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.qtaxi-flex-start {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.qtaxi-flex-end {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.qtaxi-flex-col-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.qtaxi-flex-col-start {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}


/* ==========================================================================
   53. FLEX SYSTEM — SAFE FLEX
========================================================================== */

.qtaxi-flex-safe {
  display: flex;
  min-width: 0;
}

.qtaxi-flex-wrap-safe {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
}

.qtaxi-flex-safe > *,
.qtaxi-flex-wrap-safe > *,
.qtaxi-flex > * {
  min-width: 0;
}


/* ==========================================================================
   54. GRID SYSTEM — DISPLAY
========================================================================== */

.qtaxi-grid { display: grid; }
.qtaxi-inline-grid { display: inline-grid; }


/* ==========================================================================
   55. GRID SYSTEM — TEMPLATE COLUMNS
========================================================================== */

.qtaxi-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.qtaxi-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qtaxi-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.qtaxi-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.qtaxi-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.qtaxi-grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.qtaxi-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }


/* ==========================================================================
   56. GRID SYSTEM — AUTO FIT / AUTO FILL
========================================================================== */

.qtaxi-grid-auto-fit {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.qtaxi-grid-auto-fill {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}


/* ==========================================================================
   57. GRID SYSTEM — TEMPLATE ROWS
========================================================================== */

.qtaxi-grid-rows-1 { grid-template-rows: repeat(1, minmax(0, 1fr)); }
.qtaxi-grid-rows-2 { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.qtaxi-grid-rows-3 { grid-template-rows: repeat(3, minmax(0, 1fr)); }
.qtaxi-grid-rows-4 { grid-template-rows: repeat(4, minmax(0, 1fr)); }


/* ==========================================================================
   58. GRID SYSTEM — COLUMN SPAN / ROW SPAN
========================================================================== */

.qtaxi-col-span-1 { grid-column: span 1 / span 1; }
.qtaxi-col-span-2 { grid-column: span 2 / span 2; }
.qtaxi-col-span-3 { grid-column: span 3 / span 3; }
.qtaxi-col-span-4 { grid-column: span 4 / span 4; }
.qtaxi-col-span-5 { grid-column: span 5 / span 5; }
.qtaxi-col-span-6 { grid-column: span 6 / span 6; }
.qtaxi-col-span-full { grid-column: 1 / -1; }

.qtaxi-row-span-1 { grid-row: span 1 / span 1; }
.qtaxi-row-span-2 { grid-row: span 2 / span 2; }
.qtaxi-row-span-3 { grid-row: span 3 / span 3; }
.qtaxi-row-span-4 { grid-row: span 4 / span 4; }
.qtaxi-row-span-full { grid-row: 1 / -1; }


/* ==========================================================================
   59. GRID SYSTEM — START / END
========================================================================== */

.qtaxi-col-start-1 { grid-column-start: 1; }
.qtaxi-col-start-2 { grid-column-start: 2; }
.qtaxi-col-start-3 { grid-column-start: 3; }
.qtaxi-col-start-4 { grid-column-start: 4; }
.qtaxi-col-start-auto { grid-column-start: auto; }

.qtaxi-col-end-1 { grid-column-end: 1; }
.qtaxi-col-end-2 { grid-column-end: 2; }
.qtaxi-col-end-3 { grid-column-end: 3; }
.qtaxi-col-end-4 { grid-column-end: 4; }
.qtaxi-col-end-auto { grid-column-end: auto; }

.qtaxi-row-start-1 { grid-row-start: 1; }
.qtaxi-row-start-2 { grid-row-start: 2; }
.qtaxi-row-start-3 { grid-row-start: 3; }
.qtaxi-row-start-auto { grid-row-start: auto; }

.qtaxi-row-end-1 { grid-row-end: 1; }
.qtaxi-row-end-2 { grid-row-end: 2; }
.qtaxi-row-end-3 { grid-row-end: 3; }
.qtaxi-row-end-auto { grid-row-end: auto; }


/* ==========================================================================
   60. GRID SYSTEM — ALIGNMENT
========================================================================== */

.qtaxi-justify-items-start { justify-items: start; }
.qtaxi-justify-items-center { justify-items: center; }
.qtaxi-justify-items-end { justify-items: end; }
.qtaxi-justify-items-stretch { justify-items: stretch; }

.qtaxi-items-start { align-items: start; }
.qtaxi-items-center { align-items: center; }
.qtaxi-items-end { align-items: end; }
.qtaxi-items-stretch { align-items: stretch; }

.qtaxi-justify-content-start { justify-content: start; }
.qtaxi-justify-content-center { justify-content: center; }
.qtaxi-justify-content-end { justify-content: end; }
.qtaxi-justify-content-between { justify-content: space-between; }
.qtaxi-justify-content-around { justify-content: space-around; }
.qtaxi-justify-content-evenly { justify-content: space-evenly; }

.qtaxi-justify-self-start { justify-self: start; }
.qtaxi-justify-self-center { justify-self: center; }
.qtaxi-justify-self-end { justify-self: end; }
.qtaxi-justify-self-stretch { justify-self: stretch; }


/* ==========================================================================
   61. GRID SYSTEM — AUTO FLOW
========================================================================== */

.qtaxi-grid-flow-row { grid-auto-flow: row; }
.qtaxi-grid-flow-column { grid-auto-flow: column; }
.qtaxi-grid-flow-dense { grid-auto-flow: dense; }
.qtaxi-grid-flow-row-dense { grid-auto-flow: row dense; }
.qtaxi-grid-flow-column-dense { grid-auto-flow: column dense; }


/* ==========================================================================
   62. GRID SYSTEM — AUTO COLUMNS / AUTO ROWS
========================================================================== */

.qtaxi-auto-cols-auto { grid-auto-columns: auto; }
.qtaxi-auto-cols-min { grid-auto-columns: min-content; }
.qtaxi-auto-cols-max { grid-auto-columns: max-content; }
.qtaxi-auto-cols-fr { grid-auto-columns: minmax(0, 1fr); }

.qtaxi-auto-rows-auto { grid-auto-rows: auto; }
.qtaxi-auto-rows-min { grid-auto-rows: min-content; }
.qtaxi-auto-rows-max { grid-auto-rows: max-content; }
.qtaxi-auto-rows-fr { grid-auto-rows: minmax(0, 1fr); }


/* ==========================================================================
   63. GRID SYSTEM — SAFE GRID
========================================================================== */

.qtaxi-grid-safe {
  display: grid;
  min-width: 0;
}

.qtaxi-grid-safe > *,
.qtaxi-grid > *,
.qtaxi-grid-auto-fit > *,
.qtaxi-grid-auto-fill > * {
  min-width: 0;
  overflow-wrap: break-word;
}


/* ==========================================================================
   64. GRID SYSTEM — COMMON PATTERNS
========================================================================== */

.qtaxi-grid-center {
  display: grid;
  place-items: center;
}

.qtaxi-grid-responsive {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}


/* ==========================================================================
   65. GAP SYSTEM
========================================================================== */

.qtaxi-gap-0 { gap: 0; }
.qtaxi-gap-xs { gap: 8px; }
.qtaxi-gap-sm { gap: 16px; }
.qtaxi-gap-md { gap: 24px; }
.qtaxi-gap-lg { gap: 40px; }
.qtaxi-gap-xl { gap: 64px; }

.qtaxi-row-gap-0 { row-gap: 0; }
.qtaxi-row-gap-xs { row-gap: 8px; }
.qtaxi-row-gap-sm { row-gap: 16px; }
.qtaxi-row-gap-md { row-gap: 24px; }
.qtaxi-row-gap-lg { row-gap: 40px; }

.qtaxi-col-gap-0 { column-gap: 0; }
.qtaxi-col-gap-xs { column-gap: 8px; }
.qtaxi-col-gap-sm { column-gap: 16px; }
.qtaxi-col-gap-md { column-gap: 24px; }
.qtaxi-col-gap-lg { column-gap: 40px; }


/* ==========================================================================
   66. IMAGE / MEDIA FOUNDATION
========================================================================== */

.qtaxi-image-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.qtaxi-image-rounded {
  overflow: hidden;
  border-radius: var(--qtaxi-radius-lg);
}

.qtaxi-image-wrap {
  overflow: hidden;
  position: relative;
}

.qtaxi-media-4-3,
.qtaxi-ratio-4-3 {
  aspect-ratio: 4 / 3;
}

.qtaxi-media-16-9,
.qtaxi-ratio-16-9 {
  aspect-ratio: 16 / 9;
}

.qtaxi-ratio-1-1 { aspect-ratio: 1 / 1; }
.qtaxi-ratio-21-9 { aspect-ratio: 21 / 9; }

.qtaxi-object-cover { object-fit: cover; }
.qtaxi-object-contain { object-fit: contain; }
.qtaxi-object-fill { object-fit: fill; }


/* ==========================================================================
   67. TABLE FOUNDATION
========================================================================== */

table {
  width: 100%;
  border-collapse: collapse;
}

table td,
table th {
  padding: 12px;
}


/* ==========================================================================
   68. MAX WIDTH + READING SYSTEM
========================================================================== */

.qtaxi-text-measure { max-width: 65ch; }
.qtaxi-text-measure-wide { max-width: 75ch; }
.qtaxi-text-measure-narrow { max-width: 55ch; }

.qtaxi-max-width-sm { max-width: 540px; }
.qtaxi-max-width-md { max-width: 720px; }
.qtaxi-max-width-lg { max-width: 960px; }
.qtaxi-max-width-xl { max-width: 1200px; }
.qtaxi-max-w-none { max-width: none; }


/* ==========================================================================
   69. SPACING UTILITIES
========================================================================== */

.qtaxi-mt-xs { margin-top: 8px; }
.qtaxi-mt-sm { margin-top: 16px; }
.qtaxi-mt-md { margin-top: 32px; }
.qtaxi-mt-lg { margin-top: 48px; }
.qtaxi-mt-xl { margin-top: 72px; }

.qtaxi-mb-xs { margin-bottom: 8px; }
.qtaxi-mb-sm { margin-bottom: 16px; }
.qtaxi-mb-md { margin-bottom: 32px; }
.qtaxi-mb-lg { margin-bottom: 48px; }
.qtaxi-mb-xl { margin-bottom: 72px; }

.qtaxi-pt-xs { padding-top: 8px; }
.qtaxi-pt-sm { padding-top: 16px; }
.qtaxi-pt-md { padding-top: 32px; }
.qtaxi-pt-lg { padding-top: 48px; }
.qtaxi-pt-xl { padding-top: 72px; }

.qtaxi-pb-xs { padding-bottom: 8px; }
.qtaxi-pb-sm { padding-bottom: 16px; }
.qtaxi-pb-md { padding-bottom: 32px; }
.qtaxi-pb-lg { padding-bottom: 48px; }
.qtaxi-pb-xl { padding-bottom: 72px; }


/* ==========================================================================
   70. STACK SYSTEM
========================================================================== */

.qtaxi-stack-xs > * + * { margin-top: 8px; }
.qtaxi-stack-sm > * + * { margin-top: 16px; }
.qtaxi-stack-md > * + * { margin-top: 24px; }
.qtaxi-stack-lg > * + * { margin-top: 40px; }
.qtaxi-stack-xl > * + * { margin-top: 64px; }


/* ==========================================================================
   71. DISPLAY + VISIBILITY UTILITIES
========================================================================== */

.qtaxi-hidden { display: none !important; }
.qtaxi-block { display: block; }
.qtaxi-inline-block { display: inline-block; }

.qtaxi-mobile-only {}
.qtaxi-tablet-only { display: none; }
.qtaxi-desktop-only { display: none; }

.qtaxi-hide-mobile { display: none !important; }


/* ==========================================================================
   72. WIDTH / HEIGHT UTILITIES
========================================================================== */

.qtaxi-w-auto { width: auto; }
.qtaxi-w-full { width: 100%; }
.qtaxi-w-fit { width: fit-content; }

.qtaxi-h-auto { height: auto; }
.qtaxi-h-full { height: 100%; }
.qtaxi-min-h-screen { min-height: 100vh; }


/* ==========================================================================
   73. POSITION / LAYER UTILITIES
========================================================================== */

.qtaxi-relative { position: relative; }
.qtaxi-absolute { position: absolute; }
.qtaxi-fixed { position: fixed; }
.qtaxi-sticky { position: sticky; }

.qtaxi-z-1 { z-index: 1; }
.qtaxi-z-10 { z-index: 10; }
.qtaxi-z-100 { z-index: 100; }
.qtaxi-z-1000 { z-index: 1000; }

.qtaxi-scope,
.qtaxi-isolate {
  isolation: isolate;
}


/* ==========================================================================
   74. BORDER / RADIUS / SHADOW UTILITIES
========================================================================== */

.qtaxi-border { border: 1px solid var(--qtaxi-color-border); }
.qtaxi-border-top { border-top: 1px solid var(--qtaxi-color-border); }
.qtaxi-border-bottom { border-bottom: 1px solid var(--qtaxi-color-border); }
.qtaxi-border-none { border: none; }

.qtaxi-rounded-sm { border-radius: var(--qtaxi-radius-sm); }
.qtaxi-rounded-md { border-radius: var(--qtaxi-radius-md); }
.qtaxi-rounded-lg { border-radius: var(--qtaxi-radius-lg); }
.qtaxi-rounded-xl { border-radius: var(--qtaxi-radius-xl); }
.qtaxi-rounded-pill { border-radius: var(--qtaxi-radius-pill); }

.qtaxi-shadow-sm { box-shadow: var(--qtaxi-shadow-sm); }
.qtaxi-shadow-md { box-shadow: var(--qtaxi-shadow-md); }
.qtaxi-shadow-lg { box-shadow: var(--qtaxi-shadow-lg); }
.qtaxi-shadow-none { box-shadow: none; }


/* ==========================================================================
   75. COLOR UTILITIES
========================================================================== */

.qtaxi-bg-white { background: var(--qtaxi-color-white); }
.qtaxi-bg-primary { background: var(--qtaxi-color-primary); }
.qtaxi-bg-dark { background: var(--qtaxi-color-surface-dark); }
.qtaxi-bg-grey { background: var(--qtaxi-color-surface); }
.qtaxi-bg-transparent { background: transparent; }

.qtaxi-text-white { color: var(--qtaxi-color-white); }
.qtaxi-text-primary { color: var(--qtaxi-color-primary); }
.qtaxi-text-muted { color: var(--qtaxi-color-text-light); }
.qtaxi-text-black { color: var(--qtaxi-color-black); }


/* ==========================================================================
   76. INTERACTION / PERFORMANCE UTILITIES
========================================================================== */

.qtaxi-pointer-none { pointer-events: none; }
.qtaxi-pointer-auto { pointer-events: auto; }

.qtaxi-cursor-pointer { cursor: pointer; }
.qtaxi-cursor-default { cursor: default; }

.qtaxi-transform-reset { transform: none !important; }
.qtaxi-gpu { transform: translateZ(0); }
.qtaxi-will-change-transform { will-change: transform; }
.qtaxi-will-change-opacity { will-change: opacity; }

.qtaxi-transition { transition: all var(--qtaxi-transition-base); }
.qtaxi-transition-fast { transition: all var(--qtaxi-transition-fast); }
.qtaxi-transition-slow { transition: all var(--qtaxi-transition-slow); }

.qtaxi-hover-lift:hover { transform: translateY(-4px); }
.qtaxi-hover-scale:hover { transform: scale(1.02); }

.qtaxi-touch-target {
  min-width: 48px;
  min-height: 48px;
}


/* ==========================================================================
   77. SAFE CONTENT + TYPOGRAPHY UTILITIES
========================================================================== */

.qtaxi-safe-text {
  word-break: break-word;
  overflow-wrap: break-word;
}

.qtaxi-safe-content {
  min-width: 0;
  overflow-wrap: anywhere;
}

.qtaxi-text-balance {
  text-wrap: balance;
}

.qtaxi-line-clamp-2,
.qtaxi-line-clamp-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.qtaxi-line-clamp-2 { -webkit-line-clamp: 2; }
.qtaxi-line-clamp-3 { -webkit-line-clamp: 3; }


/* ==========================================================================
   78. OVERFLOW / DEBUG UTILITIES
========================================================================== */

.qtaxi-overflow-hidden { overflow: hidden; }
.qtaxi-overflow-clip { overflow: clip; }
.qtaxi-overflow-visible { overflow: visible; }

.qtaxi-debug-red { outline: 2px solid red; }
.qtaxi-debug-blue { outline: 2px solid blue; }
.qtaxi-debug-green { outline: 2px solid green; }


/* ==========================================================================
   79. THEMIFY COLUMN / GRID SHIELD
========================================================================== */

.themify_builder .qtaxi-grid,
.themify_builder .qtaxi-flex {
  float: none !important;
}

.module_row .qtaxi-container,
.module_subrow .qtaxi-container {
  width: 100%;
  max-width: var(--qtaxi-container-lg);
  margin-left: auto;
  margin-right: auto;
}

.themify_builder .module_subrow,
.themify_builder .row_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.qtaxi-cols-2 > .module_column,
.qtaxi-cols-2 > .sub_column,
.qtaxi-cols-3 > .module_column,
.qtaxi-cols-3 > .sub_column,
.qtaxi-cols-4 > .module_column,
.qtaxi-cols-4 > .sub_column,
.qtaxi-cols-5 > .module_column,
.qtaxi-cols-5 > .sub_column,
.qtaxi-cols-6 > .module_column,
.qtaxi-cols-6 > .sub_column {
  width: 100%;
}
.qtaxi-auto-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.themify_builder .module_subrow {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.themify_builder .sub_column {
  min-width: 0;
}
.qtaxi-stack-mobile > .module_column,
.qtaxi-stack-mobile > .sub_column {
  width: 100% !important;
}
.qtaxi-cols-align-start { align-items: flex-start; }
.qtaxi-cols-align-center { align-items: center; }
.qtaxi-cols-align-end { align-items: flex-end; }
.qtaxi-cols-justify-between { justify-content: space-between; }
.qtaxi-equal-height > .module_column,
.qtaxi-equal-height > .sub_column {
  display: flex;
  flex-direction: column;
}
/* ==========================================================================
   80. THEMIFY NEUTRALIZER — SAFE BUILDER CONTROL
========================================================================== */
.qtaxi-neutralize :is(
  .module,
  .module_text,
  .module-plain-text,
  .module-image,
  .tb_text_wrap,
  .image-wrap
) {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.qtaxi-neutralize :is(
  .row_inner,
  .module_column,
  .module_subrow,
  .sub_column
) {
  min-width: 0 !important;
  float: none !important;
  clear: none !important;
}
.qtaxi-neutralize :is(
  .module_column,
  .sub_column
) {
  width: auto !important;
  max-width: none !important;
}
.qtaxi-neutralize :is(
  p,
  ul,
  ol,
  figure,
  blockquote
) {
  margin-top: 0 !important;
}
.qtaxi-neutralize .tb_text_wrap > :last-child {
  margin-bottom: 0 !important;
}
.qtaxi-neutralize br {
  display: none;
}
.qtaxi-neutralize img {
  display: block;
  max-width: 100%;
  height: auto;
}
/* ==========================================================================
   81. RESPONSIVE + PRINT SYSTEM
========================================================================== */
/* Mobile first: 360px / 390px is standaard */
@media (min-width: 640px) {
  .qtaxi-container,
  .qtaxi-container-sm,
  .qtaxi-container-md,
  .qtaxi-container-lg,
  .qtaxi-container-wide,
  .qtaxi-container-reading,
  .qtaxi-container-narrow {
    padding-left: 24px;
    padding-right: 24px;
  }
  .qtaxi-grid-responsive-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .qtaxi-grid-2,
  .qtaxi-grid-responsive-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .qtaxi-grid-responsive-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .qtaxi-hide-mobile {
    display: initial !important;
  }
  .qtaxi-mobile-only {
    display: none !important;
  }
  .qtaxi-tablet-only {
    display: block !important;
  }
  .qtaxi-hide-tablet {
    display: none !important;
  }
  .qtaxi-cols-2 > .module_column,
  .qtaxi-cols-2 > .sub_column {
    width: calc((100% - 24px) / 2);
  }
  .qtaxi-cols-4 > .module_column,
  .qtaxi-cols-4 > .sub_column,
  .qtaxi-cols-5 > .module_column,
  .qtaxi-cols-5 > .sub_column,
  .qtaxi-cols-6 > .module_column,
  .qtaxi-cols-6 > .sub_column {
    width: calc((100% - 24px) / 2);
  }
  .qtaxi-subcols-2 > .sub_column {
    width: calc((100% - 24px) / 2);
  }
}
@media (min-width: 1024px) {
  .qtaxi-grid-3,
  .qtaxi-grid-responsive-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .qtaxi-grid-responsive-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .qtaxi-desktop-only {
    display: block !important;
  }
  .qtaxi-tablet-only {
    display: none !important;
  }
  .qtaxi-hide-desktop {
    display: none !important;
  }
  .qtaxi-cols-3 > .module_column,
  .qtaxi-cols-3 > .sub_column,
  .qtaxi-cols-6 > .module_column,
  .qtaxi-cols-6 > .sub_column {
    width: calc((100% - 48px) / 3);
  }
}
@media (min-width: 1200px) {
  .qtaxi-cols-4 > .module_column,
  .qtaxi-cols-4 > .sub_column {
    width: calc((100% - 72px) / 4);
  }
  .qtaxi-cols-5 > .module_column,
  .qtaxi-cols-5 > .sub_column {
    width: calc((100% - 96px) / 5);
  }
}
@media (min-width: 1440px) {
  .qtaxi-grid-4,
  .qtaxi-grid-responsive-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .qtaxi-grid-responsive-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .qtaxi-cols-6 > .module_column,
  .qtaxi-cols-6 > .sub_column {
    width: calc((100% - 120px) / 6);
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
@media print {
  .qtaxi-no-print {
    display: none !important;
  }
  body {
    background: #FFFFFF;
    color: #000000;
  }
}

/* ==========================================================================
   QTAXI — COMPONENTS.CSS
   Reusable taxi website component system
   Scope: qtaxi
   Depends on: global.css
   Mobile first: 360/390px → tablet small → tablet large → desktop small → desktop large
========================================================================== */

/* ==========================================================================
   01. BUTTONS
========================================================================== */
.qtaxi .qtaxi-btn,
.themify_builder .qtaxi-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 52px;
  padding: .9rem 1.2rem;
  border: 0;
  border-radius: var(--qtaxi-radius-pill);
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--qtaxi-transition-fast), box-shadow var(--qtaxi-transition-fast), background-color var(--qtaxi-transition-fast), color var(--qtaxi-transition-fast), opacity var(--qtaxi-transition-fast);
}

.qtaxi .qtaxi-btn:hover,
.themify_builder .qtaxi-btn:hover { transform: translateY(-1px); }

.qtaxi .qtaxi-btn:active,
.themify_builder .qtaxi-btn:active { transform: translateY(0); }

.qtaxi .qtaxi-btn--primary,
.themify_builder .qtaxi-btn--primary {
  background: var(--qtaxi-color-primary);
  color: var(--qtaxi-color-white);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-btn--accent,
.themify_builder .qtaxi-btn--accent {
  background: var(--qtaxi-color-accent);
  color: var(--qtaxi-color-black);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-btn--cta,
.themify_builder .qtaxi-btn--cta {
  background: var(--qtaxi-color-cta, #FF4500);
  color: var(--qtaxi-color-white);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-btn--dark,
.themify_builder .qtaxi-btn--dark {
  background: var(--qtaxi-color-black);
  color: var(--qtaxi-color-white);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-btn--light,
.themify_builder .qtaxi-btn--light {
  background: var(--qtaxi-color-white);
  color: var(--qtaxi-color-primary);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-sm);
}

.qtaxi .qtaxi-btn--ghost,
.themify_builder .qtaxi-btn--ghost {
  background: rgba(255,255,255,.08);
  color: var(--qtaxi-color-white);
  border: 1px solid rgba(255,255,255,.16);
}

.qtaxi .qtaxi-btn--grey,
.themify_builder .qtaxi-btn--grey {
  background: var(--qtaxi-color-surface);
  color: var(--qtaxi-color-text);
  border: 1px solid var(--qtaxi-color-border);
}

.qtaxi .qtaxi-btn--block,
.themify_builder .qtaxi-btn--block { width: 100%; }

.qtaxi .qtaxi-btn--sm,
.themify_builder .qtaxi-btn--sm {
  min-height: 42px;
  padding: .7rem 1rem;
  font-size: 14px;
}

.qtaxi .qtaxi-btn--lg,
.themify_builder .qtaxi-btn--lg {
  min-height: 60px;
  padding: 1rem 1.45rem;
  font-size: 16px;
}

.qtaxi .qtaxi-cta-row,
.themify_builder .qtaxi-cta-row {
  display: flex;
  flex-direction: column;
  gap: var(--qtaxi-space-3);
  align-items: stretch;
}

@media (min-width: 640px) {
  .qtaxi .qtaxi-cta-row,
  .themify_builder .qtaxi-cta-row {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }

  .qtaxi .qtaxi-cta-row .qtaxi-btn,
  .themify_builder .qtaxi-cta-row .qtaxi-btn { width: auto; }
}

/* ==========================================================================
   02. CARDS / PANELS
========================================================================== */

.qtaxi .qtaxi-card,
.qtaxi .qtaxi-panel,
.themify_builder .qtaxi-card,
.themify_builder .qtaxi-panel {
  border-radius: var(--qtaxi-radius-lg);
  padding: var(--qtaxi-space-5);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
  color: var(--qtaxi-color-text);
}

.qtaxi .qtaxi-card--soft,
.themify_builder .qtaxi-card--soft { background: var(--qtaxi-color-surface); }

.qtaxi .qtaxi-card--dark,
.qtaxi .qtaxi-panel--dark,
.themify_builder .qtaxi-card--dark,
.themify_builder .qtaxi-panel--dark {
  background: var(--qtaxi-color-surface-dark);
  color: var(--qtaxi-color-white);
  border: 1px solid rgba(255,255,255,.14);
}

.qtaxi .qtaxi-card--flat,
.themify_builder .qtaxi-card--flat { box-shadow: none; }

.qtaxi .qtaxi-card--compact,
.themify_builder .qtaxi-card--compact { padding: var(--qtaxi-space-4); }

.qtaxi .qtaxi-card--featured,
.themify_builder .qtaxi-card--featured {
  border-color: rgba(244,197,66,.65);
  box-shadow: 0 22px 58px rgba(244,197,66,.18);
}

.qtaxi .qtaxi-card__title,
.themify_builder .qtaxi-card__title {
  margin: 0;
  color: var(--qtaxi-color-primary);
  font-size: var(--qtaxi-font-size-h4);
  font-weight: 900;
  line-height: 1.2;
}

.qtaxi .qtaxi-card__text,
.themify_builder .qtaxi-card__text { color: var(--qtaxi-color-text-light); }

.qtaxi .qtaxi-card__actions,
.themify_builder .qtaxi-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--qtaxi-space-3);
  margin-top: var(--qtaxi-space-4);
}

@media (min-width: 768px) {
  .qtaxi .qtaxi-card,
  .qtaxi .qtaxi-panel,
  .themify_builder .qtaxi-card,
  .themify_builder .qtaxi-panel { padding: var(--qtaxi-space-6); }
}

/* ==========================================================================
   03. BADGES / CHIPS / PILLS
========================================================================== */

.qtaxi .qtaxi-badge,
.qtaxi .qtaxi-chip,
.qtaxi .qtaxi-pill,
.themify_builder .qtaxi-badge,
.themify_builder .qtaxi-chip,
.themify_builder .qtaxi-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  border-radius: var(--qtaxi-radius-pill);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.qtaxi .qtaxi-badge,
.themify_builder .qtaxi-badge {
  min-height: 30px;
  padding: .45rem .75rem;
}

.qtaxi .qtaxi-chip,
.themify_builder .qtaxi-chip {
  min-height: 38px;
  padding: .65rem .9rem;
  background: var(--qtaxi-color-white);
  color: var(--qtaxi-color-text);
  border: 1px solid var(--qtaxi-color-border);
}

.qtaxi .qtaxi-pill,
.themify_builder .qtaxi-pill {
  min-height: 40px;
  padding: .65rem .95rem;
  background: rgba(255,255,255,.08);
  color: var(--qtaxi-color-white);
  border: 1px solid rgba(255,255,255,.14);
}

.qtaxi .qtaxi-badge--accent,
.themify_builder .qtaxi-badge--accent {
  background: var(--qtaxi-color-accent);
  color: var(--qtaxi-color-black);
}

.qtaxi .qtaxi-badge--success,
.themify_builder .qtaxi-badge--success {
  background: rgba(22,163,74,.12);
  color: #166534;
  border: 1px solid rgba(22,163,74,.24);
}

.qtaxi .qtaxi-chip-row,
.themify_builder .qtaxi-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--qtaxi-space-2);
}

/* ==========================================================================
   04. TAXI SERVICE CARD
========================================================================== */

.qtaxi .qtaxi-service-card,
.themify_builder .qtaxi-service-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-service-card__media,
.themify_builder .qtaxi-service-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.qtaxi .qtaxi-service-card__media img,
.themify_builder .qtaxi-service-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.qtaxi .qtaxi-service-card__body,
.themify_builder .qtaxi-service-card__body {
  display: grid;
  gap: var(--qtaxi-space-3);
  padding: var(--qtaxi-space-5);
  flex: 1 1 auto;
}

.qtaxi .qtaxi-service-card__title,
.themify_builder .qtaxi-service-card__title {
  margin: 0;
  color: var(--qtaxi-color-primary);
  font-size: var(--qtaxi-font-size-h4);
  font-weight: 900;
  line-height: 1.2;
}

.qtaxi .qtaxi-service-card__text,
.themify_builder .qtaxi-service-card__text { color: var(--qtaxi-color-text-light); }

.qtaxi .qtaxi-service-card__list,
.themify_builder .qtaxi-service-card__list {
  display: grid;
  gap: .6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.qtaxi .qtaxi-service-card__list li,
.themify_builder .qtaxi-service-card__list li {
  position: relative;
  padding-left: 1.4rem;
  color: var(--qtaxi-color-text-light);
  line-height: 1.55;
}

.qtaxi .qtaxi-service-card__list li::before,
.themify_builder .qtaxi-service-card__list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--qtaxi-color-success);
  font-weight: 900;
}

.qtaxi .qtaxi-service-card__actions,
.themify_builder .qtaxi-service-card__actions { margin-top: auto; }

/* ==========================================================================
   05. PRICING / TARIEVEN CARD
========================================================================== */

.qtaxi .qtaxi-price-card,
.themify_builder .qtaxi-price-card {
  position: relative;
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-price-card--popular,
.themify_builder .qtaxi-price-card--popular {
  border-color: rgba(244,197,66,.72);
  box-shadow: 0 22px 58px rgba(244,197,66,.18);
}

.qtaxi .qtaxi-price-card__badge,
.themify_builder .qtaxi-price-card__badge {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: .45rem .75rem;
  border-radius: var(--qtaxi-radius-pill);
  background: var(--qtaxi-color-accent);
  color: var(--qtaxi-color-black);
  font-size: 12px;
  font-weight: 900;
}

.qtaxi .qtaxi-price-card__title,
.themify_builder .qtaxi-price-card__title {
  margin: 0;
  color: var(--qtaxi-color-primary);
  font-size: var(--qtaxi-font-size-h4);
  font-weight: 900;
}

.qtaxi .qtaxi-price-card__amount,
.themify_builder .qtaxi-price-card__amount {
  margin: 0;
  color: var(--qtaxi-color-primary);
  font-size: clamp(28px, 8vw, 42px);
  line-height: 1;
  font-weight: 950;
}

.qtaxi .qtaxi-price-card__list,
.themify_builder .qtaxi-price-card__list {
  display: grid;
  gap: .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.qtaxi .qtaxi-price-card__list li,
.themify_builder .qtaxi-price-card__list li { color: var(--qtaxi-color-text-light); }

/* ==========================================================================
   06. REVIEW COMPONENTS
========================================================================== */

.qtaxi .qtaxi-review-card,
.themify_builder .qtaxi-review-card {
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-review-stars,
.themify_builder .qtaxi-review-stars {
  color: var(--qtaxi-color-accent);
  letter-spacing: .12em;
  font-size: 14px;
  line-height: 1;
}

.qtaxi .qtaxi-review-card blockquote,
.themify_builder .qtaxi-review-card blockquote {
  margin: 0;
  color: var(--qtaxi-color-text);
  font-size: 16px;
  line-height: 1.65;
}

.qtaxi .qtaxi-review-author,
.themify_builder .qtaxi-review-author {
  display: grid;
  gap: .15rem;
  color: var(--qtaxi-color-text-light);
  font-size: 14px;
}

.qtaxi .qtaxi-review-author strong,
.themify_builder .qtaxi-review-author strong { color: var(--qtaxi-color-text); }

.qtaxi .qtaxi-review-score,
.themify_builder .qtaxi-review-score {
  display: grid;
  place-items: center;
  gap: var(--qtaxi-space-2);
  padding: var(--qtaxi-space-6);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
  text-align: center;
}

.qtaxi .qtaxi-review-score__number,
.themify_builder .qtaxi-review-score__number {
  color: var(--qtaxi-color-primary);
  font-size: clamp(42px, 10vw, 64px);
  line-height: 1;
  font-weight: 950;
}

.qtaxi .qtaxi-google-review-btn,
.themify_builder .qtaxi-google-review-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-height: 56px;
  padding: 0 1.35rem;
  border-radius: var(--qtaxi-radius-pill);
  background: var(--qtaxi-color-black);
  color: var(--qtaxi-color-white);
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 18px 38px rgba(0,0,0,.18);
}

.qtaxi .qtaxi-google-review-btn__stars,
.themify_builder .qtaxi-google-review-btn__stars {
  color: var(--qtaxi-color-accent);
  letter-spacing: .12em;
  font-size: 13px;
}

/* ==========================================================================
   07. STEPS / WERKWIJZE
========================================================================== */

.qtaxi .qtaxi-step-card,
.themify_builder .qtaxi-step-card {
  display: grid;
  gap: var(--qtaxi-space-3);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-step-card__number,
.themify_builder .qtaxi-step-card__number {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--qtaxi-color-accent);
  color: var(--qtaxi-color-black);
  font-weight: 950;
}

.qtaxi .qtaxi-step-card__title,
.themify_builder .qtaxi-step-card__title {
  margin: 0;
  color: var(--qtaxi-color-primary);
  font-size: var(--qtaxi-font-size-h5);
  font-weight: 900;
}

.qtaxi .qtaxi-step-card__text,
.themify_builder .qtaxi-step-card__text { color: var(--qtaxi-color-text-light); }

/* ==========================================================================
   08. LOCATION / REGIO COMPONENTS
========================================================================== */

.qtaxi .qtaxi-location-card,
.qtaxi .qtaxi-area-card,
.themify_builder .qtaxi-location-card,
.themify_builder .qtaxi-area-card {
  display: grid;
  gap: var(--qtaxi-space-3);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-area-chips,
.qtaxi .qtaxi-location-chips,
.themify_builder .qtaxi-area-chips,
.themify_builder .qtaxi-location-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--qtaxi-space-2);
}

.qtaxi .qtaxi-map,
.themify_builder .qtaxi-map {
  overflow: hidden;
  border-radius: var(--qtaxi-radius-lg);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-map iframe,
.themify_builder .qtaxi-map iframe {
  display: block;
  width: 100%;
  min-height: 320px;
  border: 0;
}

/* ==========================================================================
   09. CONTACT COMPONENTS
========================================================================== */

.qtaxi .qtaxi-contact-card,
.themify_builder .qtaxi-contact-card {
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-contact-line,
.themify_builder .qtaxi-contact-line {
  display: grid;
  gap: .25rem;
}

.qtaxi .qtaxi-contact-line strong,
.themify_builder .qtaxi-contact-line strong {
  color: var(--qtaxi-color-primary);
  font-size: 14px;
}

.qtaxi .qtaxi-contact-line a,
.themify_builder .qtaxi-contact-line a {
  color: var(--qtaxi-color-text);
  font-weight: 700;
}

/* ==========================================================================
   10. VEHICLE / WAGEN COMPONENTS
========================================================================== */

.qtaxi .qtaxi-vehicle-card,
.themify_builder .qtaxi-vehicle-card {
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-vehicle-card__media,
.themify_builder .qtaxi-vehicle-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--qtaxi-radius-md);
}

.qtaxi .qtaxi-vehicle-card__media img,
.themify_builder .qtaxi-vehicle-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   11. FORM COMPONENTS / FORM SHIELD
========================================================================== */

.qtaxi .qtaxi-form,
.qtaxi .qtaxi-form--booking,
.qtaxi .qtaxi-form--light,
.qtaxi .qtaxi-form--dark,
.themify_builder .qtaxi-form,
.themify_builder .qtaxi-form--booking,
.themify_builder .qtaxi-form--light,
.themify_builder .qtaxi-form--dark {
  --qtaxi-form-gap: 1rem;
  --qtaxi-form-label: var(--qtaxi-color-text);
  --qtaxi-form-input-bg: var(--qtaxi-color-white);
  --qtaxi-form-input-color: var(--qtaxi-color-text);
  --qtaxi-form-input-border: var(--qtaxi-color-border);
  --qtaxi-form-placeholder: #98a2b3;
  display: grid;
  gap: var(--qtaxi-form-gap);
}

.qtaxi .qtaxi-form--dark,
.qtaxi .qtaxi-form--booking,
.themify_builder .qtaxi-form--dark,
.themify_builder .qtaxi-form--booking {
  --qtaxi-form-label: var(--qtaxi-color-white);
  --qtaxi-form-input-bg: rgba(255,255,255,.06);
  --qtaxi-form-input-color: var(--qtaxi-color-white);
  --qtaxi-form-input-border: rgba(255,255,255,.16);
  --qtaxi-form-placeholder: rgba(255,255,255,.62);
}

.qtaxi .qtaxi-form__grid,
.qtaxi .qtaxi-form .builder-contact-fields,
.qtaxi .qtaxi-form--booking .builder-contact-fields,
.themify_builder .qtaxi-form__grid,
.themify_builder .qtaxi-form .builder-contact-fields,
.themify_builder .qtaxi-form--booking .builder-contact-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--qtaxi-form-gap);
}

.qtaxi .qtaxi-form__field,
.qtaxi .qtaxi-form .builder-contact-field,
.qtaxi .qtaxi-form--booking .builder-contact-field,
.themify_builder .qtaxi-form__field,
.themify_builder .qtaxi-form .builder-contact-field,
.themify_builder .qtaxi-form--booking .builder-contact-field {
  display: grid;
  gap: .45rem;
  min-width: 0;
  margin: 0;
}

.qtaxi .qtaxi-form label,
.qtaxi .qtaxi-form .control-label,
.qtaxi .qtaxi-form--booking label,
.qtaxi .qtaxi-form--booking .control-label,
.themify_builder .qtaxi-form label,
.themify_builder .qtaxi-form .control-label,
.themify_builder .qtaxi-form--booking label,
.themify_builder .qtaxi-form--booking .control-label {
  display: block;
  margin: 0;
  color: var(--qtaxi-form-label);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
}

.qtaxi .qtaxi-form input,
.qtaxi .qtaxi-form textarea,
.qtaxi .qtaxi-form select,
.qtaxi .qtaxi-form .form-control,
.qtaxi .qtaxi-form--booking input,
.qtaxi .qtaxi-form--booking textarea,
.qtaxi .qtaxi-form--booking select,
.qtaxi .qtaxi-form--booking .form-control,
.themify_builder .qtaxi-form input,
.themify_builder .qtaxi-form textarea,
.themify_builder .qtaxi-form select,
.themify_builder .qtaxi-form .form-control,
.themify_builder .qtaxi-form--booking input,
.themify_builder .qtaxi-form--booking textarea,
.themify_builder .qtaxi-form--booking select,
.themify_builder .qtaxi-form--booking .form-control {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: .9rem 1rem;
  border-radius: var(--qtaxi-radius-md);
  border: 1px solid var(--qtaxi-form-input-border);
  background: var(--qtaxi-form-input-bg);
  color: var(--qtaxi-form-input-color);
  outline: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}

.qtaxi .qtaxi-form textarea,
.qtaxi .qtaxi-form--booking textarea,
.themify_builder .qtaxi-form textarea,
.themify_builder .qtaxi-form--booking textarea {
  min-height: 112px;
  resize: vertical;
}

.qtaxi .qtaxi-form input::placeholder,
.qtaxi .qtaxi-form textarea::placeholder,
.qtaxi .qtaxi-form--booking input::placeholder,
.qtaxi .qtaxi-form--booking textarea::placeholder,
.themify_builder .qtaxi-form input::placeholder,
.themify_builder .qtaxi-form textarea::placeholder,
.themify_builder .qtaxi-form--booking input::placeholder,
.themify_builder .qtaxi-form--booking textarea::placeholder {
  color: var(--qtaxi-form-placeholder);
  opacity: 1;
}

.qtaxi .qtaxi-form input:focus,
.qtaxi .qtaxi-form textarea:focus,
.qtaxi .qtaxi-form select:focus,
.qtaxi .qtaxi-form--booking input:focus,
.qtaxi .qtaxi-form--booking textarea:focus,
.qtaxi .qtaxi-form--booking select:focus,
.themify_builder .qtaxi-form input:focus,
.themify_builder .qtaxi-form textarea:focus,
.themify_builder .qtaxi-form select:focus,
.themify_builder .qtaxi-form--booking input:focus,
.themify_builder .qtaxi-form--booking textarea:focus,
.themify_builder .qtaxi-form--booking select:focus {
  border-color: rgba(244,197,66,.9);
  box-shadow: 0 0 0 3px rgba(244,197,66,.14);
}

.qtaxi .qtaxi-form__note,
.themify_builder .qtaxi-form__note {
  color: var(--qtaxi-color-text-light);
  font-size: 14px;
  line-height: 1.55;
}

.qtaxi .qtaxi-form--dark .qtaxi-form__note,
.qtaxi .qtaxi-form--booking .qtaxi-form__note,
.themify_builder .qtaxi-form--dark .qtaxi-form__note,
.themify_builder .qtaxi-form--booking .qtaxi-form__note { color: rgba(255,255,255,.78); }

.qtaxi .qtaxi-form__consent,
.qtaxi .qtaxi-form .consent-label,
.qtaxi .qtaxi-form--booking .consent-label,
.themify_builder .qtaxi-form__consent,
.themify_builder .qtaxi-form .consent-label,
.themify_builder .qtaxi-form--booking .consent-label {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem;
  align-items: start;
  color: var(--qtaxi-form-label);
  line-height: 1.55;
}

.qtaxi .qtaxi-form__consent input,
.qtaxi .qtaxi-form .consent-label input,
.qtaxi .qtaxi-form--booking .consent-label input,
.themify_builder .qtaxi-form__consent input,
.themify_builder .qtaxi-form .consent-label input,
.themify_builder .qtaxi-form--booking .consent-label input {
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin-top: .22rem;
}

.qtaxi .qtaxi-form__success,
.qtaxi .qtaxi-form__error,
.themify_builder .qtaxi-form__success,
.themify_builder .qtaxi-form__error {
  padding: .9rem 1rem;
  border-radius: var(--qtaxi-radius-md);
  font-size: 14px;
  line-height: 1.55;
}

.qtaxi .qtaxi-form__success,
.themify_builder .qtaxi-form__success {
  background: rgba(22,163,74,.12);
  color: #166534;
  border: 1px solid rgba(22,163,74,.24);
}

.qtaxi .qtaxi-form__error,
.themify_builder .qtaxi-form__error {
  background: rgba(220,38,38,.10);
  color: #991b1b;
  border: 1px solid rgba(220,38,38,.22);
}

@media (min-width: 768px) {
  .qtaxi .qtaxi-form__grid,
  .qtaxi .qtaxi-form .builder-contact-fields,
  .qtaxi .qtaxi-form--booking .builder-contact-fields,
  .themify_builder .qtaxi-form__grid,
  .themify_builder .qtaxi-form .builder-contact-fields,
  .themify_builder .qtaxi-form--booking .builder-contact-fields { grid-template-columns: repeat(2, minmax(0,1fr)); }

  .qtaxi .qtaxi-form__full,
  .qtaxi .qtaxi-form .full-span,
  .qtaxi .qtaxi-form--booking .full-span,
  .qtaxi .qtaxi-form .builder-contact-field-send,
  .qtaxi .qtaxi-form--booking .builder-contact-field-send,
  .themify_builder .qtaxi-form__full,
  .themify_builder .qtaxi-form .full-span,
  .themify_builder .qtaxi-form--booking .full-span,
  .themify_builder .qtaxi-form .builder-contact-field-send,
  .themify_builder .qtaxi-form--booking .builder-contact-field-send { grid-column: 1 / -1; }
}

/* ==========================================================================
   12. FAQ / ACCORDION
========================================================================== */

.qtaxi .qtaxi-faq,
.themify_builder .qtaxi-faq {
  display: grid;
  gap: var(--qtaxi-space-4);
}

.qtaxi .qtaxi-faq-item,
.themify_builder .qtaxi-faq-item {
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
  overflow: hidden;
}

.qtaxi .qtaxi-faq-question,
.qtaxi .qtaxi-faq-trigger,
.themify_builder .qtaxi-faq-question,
.themify_builder .qtaxi-faq-trigger {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: var(--qtaxi-space-5);
  border: 0;
  background: transparent;
  color: var(--qtaxi-color-primary);
  font-size: 16px;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}

.qtaxi .qtaxi-faq-answer,
.qtaxi .qtaxi-faq-panel,
.themify_builder .qtaxi-faq-answer,
.themify_builder .qtaxi-faq-panel {
  padding: 0 var(--qtaxi-space-5) var(--qtaxi-space-5);
  color: var(--qtaxi-color-text-light);
  line-height: 1.65;
}

/* ==========================================================================
   13. MEDIA COMPONENTS
========================================================================== */

.qtaxi .qtaxi-media,
.themify_builder .qtaxi-media {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--qtaxi-color-surface);
}

.qtaxi .qtaxi-media img,
.themify_builder .qtaxi-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.qtaxi .qtaxi-media--rounded,
.themify_builder .qtaxi-media--rounded { border-radius: var(--qtaxi-radius-lg); }
.qtaxi .qtaxi-media--shadow,
.themify_builder .qtaxi-media--shadow { box-shadow: var(--qtaxi-shadow-md); }
.qtaxi .qtaxi-media--4x3,
.themify_builder .qtaxi-media--4x3 { aspect-ratio: 4 / 3; }
.qtaxi .qtaxi-media--16x9,
.themify_builder .qtaxi-media--16x9 { aspect-ratio: 16 / 9; }
.qtaxi .qtaxi-media--1x1,
.themify_builder .qtaxi-media--1x1 { aspect-ratio: 1 / 1; }

.qtaxi .qtaxi-media-caption,
.themify_builder .qtaxi-media-caption {
  margin-top: .65rem;
  color: var(--qtaxi-color-text-light);
  font-size: 14px;
  line-height: 1.5;
}

/* ==========================================================================
   14. TRUST / FEATURE COMPONENTS
========================================================================== */

.qtaxi .qtaxi-trust-box,
.themify_builder .qtaxi-trust-box {
  display: flex;
  gap: .8rem;
  align-items: flex-start;
  padding: var(--qtaxi-space-4);
  border-radius: var(--qtaxi-radius-md);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.82);
}

.qtaxi .qtaxi-trust-box__icon,
.themify_builder .qtaxi-trust-box__icon {
  flex: 0 0 auto;
  color: var(--qtaxi-color-accent);
  font-weight: 900;
}

.qtaxi .qtaxi-feature-card,
.themify_builder .qtaxi-feature-card {
  display: grid;
  gap: var(--qtaxi-space-3);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-feature-icon,
.themify_builder .qtaxi-feature-icon {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(244,197,66,.16);
  color: var(--qtaxi-color-accent);
  font-weight: 900;
}

/* ==========================================================================
   15. HEADER / FOOTER BASE
========================================================================== */

.qtaxi .qtaxi-header,
.themify_builder .qtaxi-header {
  position: sticky;
  top: 0;
  z-index: var(--qtaxi-z-sticky);
  background: rgba(0,7,60,.88);
  color: var(--qtaxi-color-white);
  border-bottom: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.qtaxi .qtaxi-header__inner,
.themify_builder .qtaxi-header__inner {
  min-height: 68px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--qtaxi-space-4);
}

.qtaxi .qtaxi-header__nav,
.themify_builder .qtaxi-header__nav { display: none; }

.qtaxi .qtaxi-footer,
.themify_builder .qtaxi-footer {
  background: var(--qtaxi-color-primary);
  color: var(--qtaxi-color-white);
  padding: var(--qtaxi-section-space-md) 0 var(--qtaxi-space-5);
}

.qtaxi .qtaxi-footer__grid,
.themify_builder .qtaxi-footer__grid {
  display: grid;
  gap: var(--qtaxi-space-6);
}

.qtaxi .qtaxi-footer a,
.themify_builder .qtaxi-footer a { color: rgba(255,255,255,.78); }
.qtaxi .qtaxi-footer a:hover,
.themify_builder .qtaxi-footer a:hover { color: var(--qtaxi-color-white); }

@media (min-width: 1024px) {
  .qtaxi .qtaxi-header__nav,
  .themify_builder .qtaxi-header__nav {
    display: flex;
    align-items: center;
    gap: var(--qtaxi-space-5);
  }

  .qtaxi .qtaxi-footer__grid,
  .themify_builder .qtaxi-footer__grid { grid-template-columns: 1.4fr repeat(3, minmax(0, .8fr)); }
}

/* ==========================================================================
   16. RESPONSIVE COMPONENT TUNING
========================================================================== */

@media (min-width: 640px) {
  .qtaxi .qtaxi-google-review-btn,
  .themify_builder .qtaxi-google-review-btn {
    min-height: 58px;
    padding-inline: 1.6rem;
  }
}

@media (min-width: 768px) {
  .qtaxi .qtaxi-service-card__body,
  .qtaxi .qtaxi-price-card,
  .qtaxi .qtaxi-review-card,
  .qtaxi .qtaxi-step-card,
  .qtaxi .qtaxi-location-card,
  .qtaxi .qtaxi-area-card,
  .qtaxi .qtaxi-contact-card,
  .qtaxi .qtaxi-vehicle-card,
  .qtaxi .qtaxi-feature-card,
  .themify_builder .qtaxi-service-card__body,
  .themify_builder .qtaxi-price-card,
  .themify_builder .qtaxi-review-card,
  .themify_builder .qtaxi-step-card,
  .themify_builder .qtaxi-location-card,
  .themify_builder .qtaxi-area-card,
  .themify_builder .qtaxi-contact-card,
  .themify_builder .qtaxi-vehicle-card,
  .themify_builder .qtaxi-feature-card { padding: var(--qtaxi-space-6); }
}

/* ==========================================================================
   17. TAXI CALCULATOR FORM — BASIC
========================================================================== */

.qtaxi .qtaxi-calculator-form--basic,
.themify_builder .qtaxi-calculator-form--basic {
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-calculator-form--basic .qtaxi-form__grid,
.themify_builder .qtaxi-calculator-form--basic .qtaxi-form__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--qtaxi-space-4);
}


/* ==========================================================================
   18. TAXI CALCULATOR FORM — ADVANCED
========================================================================== */

.qtaxi .qtaxi-calculator-form--advanced,
.themify_builder .qtaxi-calculator-form--advanced {
  display: grid;
  gap: var(--qtaxi-space-5);
  padding: var(--qtaxi-space-6);
  border-radius: var(--qtaxi-radius-xl);
  background: linear-gradient(180deg, #ffffff 0%, #f9fafb 100%);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-lg);
}

.qtaxi .qtaxi-calculator-form__result,
.themify_builder .qtaxi-calculator-form__result {
  display: grid;
  gap: var(--qtaxi-space-2);
  padding: var(--qtaxi-space-4);
  border-radius: var(--qtaxi-radius-md);
  background: var(--qtaxi-color-primary);
  color: var(--qtaxi-color-white);
}

.qtaxi .qtaxi-calculator-form__price,
.themify_builder .qtaxi-calculator-form__price {
  font-size: clamp(28px, 7vw, 44px);
  font-weight: 950;
  line-height: 1;
}


/* ==========================================================================
   19. CONTACT FORM — BASIC
========================================================================== */

.qtaxi .qtaxi-contact-form--basic,
.themify_builder .qtaxi-contact-form--basic {
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}


/* ==========================================================================
   20. CONTACT FORM — ADVANCED
========================================================================== */

.qtaxi .qtaxi-contact-form--advanced,
.themify_builder .qtaxi-contact-form--advanced {
  display: grid;
  gap: var(--qtaxi-space-5);
  padding: var(--qtaxi-space-6);
  border-radius: var(--qtaxi-radius-xl);
  background: var(--qtaxi-color-surface);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-lg);
}

.qtaxi .qtaxi-contact-form__intro,
.themify_builder .qtaxi-contact-form__intro {
  max-width: 65ch;
  color: var(--qtaxi-color-text-light);
}

.qtaxi .qtaxi-contact-form__trust,
.themify_builder .qtaxi-contact-form__trust {
  display: flex;
  flex-wrap: wrap;
  gap: var(--qtaxi-space-2);
}


/* ==========================================================================
   21. TAXI RESERVATION FORM — BASIC
========================================================================== */

.qtaxi .qtaxi-reservation-form--basic,
.themify_builder .qtaxi-reservation-form--basic {
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}


/* ==========================================================================
   22. TAXI RESERVATION FORM — ADVANCED
========================================================================== */

.qtaxi .qtaxi-reservation-form--advanced,
.themify_builder .qtaxi-reservation-form--advanced {
  display: grid;
  gap: var(--qtaxi-space-5);
  padding: var(--qtaxi-space-6);
  border-radius: var(--qtaxi-radius-xl);
  background: var(--qtaxi-color-primary);
  color: var(--qtaxi-color-white);
  box-shadow: var(--qtaxi-shadow-lg);
}

.qtaxi .qtaxi-reservation-form--advanced label,
.themify_builder .qtaxi-reservation-form--advanced label {
  color: var(--qtaxi-color-white);
}

.qtaxi .qtaxi-reservation-form--advanced input,
.qtaxi .qtaxi-reservation-form--advanced textarea,
.qtaxi .qtaxi-reservation-form--advanced select,
.themify_builder .qtaxi-reservation-form--advanced input,
.themify_builder .qtaxi-reservation-form--advanced textarea,
.themify_builder .qtaxi-reservation-form--advanced select {
  background: rgba(255,255,255,.08);
  color: var(--qtaxi-color-white);
  border-color: rgba(255,255,255,.18);
}

.qtaxi .qtaxi-reservation-form--advanced input::placeholder,
.qtaxi .qtaxi-reservation-form--advanced textarea::placeholder,
.themify_builder .qtaxi-reservation-form--advanced input::placeholder,
.themify_builder .qtaxi-reservation-form--advanced textarea::placeholder {
  color: rgba(255,255,255,.62);
}

.qtaxi .qtaxi-reservation-form__confirmation,
.themify_builder .qtaxi-reservation-form__confirmation {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--qtaxi-space-3);
  padding: var(--qtaxi-space-4);
  border-radius: var(--qtaxi-radius-md);
  background: rgba(244,197,66,.14);
  color: var(--qtaxi-color-white);
}


/* ==========================================================================
   23. FORM RESPONSIVE TUNING
========================================================================== */

@media (min-width: 768px) {
  .qtaxi .qtaxi-calculator-form--advanced .qtaxi-form__grid,
  .qtaxi .qtaxi-contact-form--advanced .qtaxi-form__grid,
  .qtaxi .qtaxi-reservation-form--advanced .qtaxi-form__grid,
  .themify_builder .qtaxi-calculator-form--advanced .qtaxi-form__grid,
  .themify_builder .qtaxi-contact-form--advanced .qtaxi-form__grid,
  .themify_builder .qtaxi-reservation-form--advanced .qtaxi-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .qtaxi .qtaxi-form__full,
  .themify_builder .qtaxi-form__full {
    grid-column: 1 / -1;
  }
}

/* ==========================================================================
   24. AIRPORT TRANSFER COMPONENT
========================================================================== */

.qtaxi .qtaxi-airport-transfer,
.themify_builder .qtaxi-airport-transfer {
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-xl);
  background: var(--qtaxi-color-primary);
  color: var(--qtaxi-color-white);
  box-shadow: var(--qtaxi-shadow-lg);
}

.qtaxi .qtaxi-airport-transfer__badges,
.themify_builder .qtaxi-airport-transfer__badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--qtaxi-space-2);
}


/* ==========================================================================
   25. ROUTE / TRAJECT CARD
========================================================================== */

.qtaxi .qtaxi-route-card,
.themify_builder .qtaxi-route-card {
  display: grid;
  gap: var(--qtaxi-space-3);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-route-card__meta,
.themify_builder .qtaxi-route-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--qtaxi-space-2);
  color: var(--qtaxi-color-text-light);
  font-size: 14px;
}


/* ==========================================================================
   26. PRICE ESTIMATE BOX
========================================================================== */

.qtaxi .qtaxi-price-estimate,
.themify_builder .qtaxi-price-estimate {
  display: grid;
  gap: var(--qtaxi-space-3);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-surface);
  border: 1px solid var(--qtaxi-color-border);
}

.qtaxi .qtaxi-price-estimate__amount,
.themify_builder .qtaxi-price-estimate__amount {
  color: var(--qtaxi-color-primary);
  font-size: clamp(30px, 8vw, 48px);
  font-weight: 950;
  line-height: 1;
}


/* ==========================================================================
   27. AVAILABILITY / STATUS BOX
========================================================================== */

.qtaxi .qtaxi-availability-box,
.themify_builder .qtaxi-availability-box {
  display: flex;
  gap: var(--qtaxi-space-3);
  align-items: flex-start;
  padding: var(--qtaxi-space-4);
  border-radius: var(--qtaxi-radius-md);
  background: rgba(22,163,74,.10);
  border: 1px solid rgba(22,163,74,.22);
  color: #166534;
}

.qtaxi .qtaxi-availability-box__dot,
.themify_builder .qtaxi-availability-box__dot {
  width: 10px;
  height: 10px;
  margin-top: .45rem;
  border-radius: 50%;
  background: var(--qtaxi-color-success);
  flex: 0 0 auto;
}


/* ==========================================================================
   28. BOOKING SUMMARY CARD
========================================================================== */

.qtaxi .qtaxi-booking-summary,
.themify_builder .qtaxi-booking-summary {
  display: grid;
  gap: var(--qtaxi-space-3);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-booking-summary__row,
.themify_builder .qtaxi-booking-summary__row {
  display: flex;
  justify-content: space-between;
  gap: var(--qtaxi-space-4);
  padding-bottom: var(--qtaxi-space-2);
  border-bottom: 1px solid var(--qtaxi-color-border);
}


/* ==========================================================================
   29. TRUST STRIP
========================================================================== */

.qtaxi .qtaxi-trust-strip,
.themify_builder .qtaxi-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: var(--qtaxi-space-3);
  align-items: center;
  justify-content: center;
  padding: var(--qtaxi-space-4);
  border-radius: var(--qtaxi-radius-pill);
  background: var(--qtaxi-color-surface);
  border: 1px solid var(--qtaxi-color-border);
}

.qtaxi .qtaxi-trust-strip__item,
.themify_builder .qtaxi-trust-strip__item {
  font-size: 14px;
  font-weight: 800;
  color: var(--qtaxi-color-text);
}


/* ==========================================================================
   30. MOBILE STICKY ACTION BAR
========================================================================== */

.qtaxi .qtaxi-mobile-action-bar,
.themify_builder .qtaxi-mobile-action-bar {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: var(--qtaxi-z-sticky);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--qtaxi-space-2);
  padding: var(--qtaxi-space-2);
  border-radius: var(--qtaxi-radius-pill);
  background: rgba(255,255,255,.94);
  box-shadow: var(--qtaxi-shadow-lg);
  backdrop-filter: blur(12px);
}

.qtaxi .qtaxi-mobile-action-bar a,
.themify_builder .qtaxi-mobile-action-bar a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--qtaxi-radius-pill);
  font-size: 13px;
  font-weight: 900;
  background: var(--qtaxi-color-primary);
  color: var(--qtaxi-color-white);
}

@media (min-width: 768px) {
  .qtaxi .qtaxi-mobile-action-bar,
  .themify_builder .qtaxi-mobile-action-bar {
    display: none;
  }
}


/* ==========================================================================
   31. CTA BANNER / FINAL CTA
========================================================================== */

.qtaxi .qtaxi-cta-banner,
.themify_builder .qtaxi-cta-banner {
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-6);
  border-radius: var(--qtaxi-radius-xl);
  background: linear-gradient(135deg, var(--qtaxi-color-primary), var(--qtaxi-color-primary-light));
  color: var(--qtaxi-color-white);
  box-shadow: var(--qtaxi-shadow-lg);
}

@media (min-width: 768px) {
  .qtaxi .qtaxi-cta-banner,
  .themify_builder .qtaxi-cta-banner {
    grid-template-columns: 1fr auto;
    align-items: center;
  }
}


/* ==========================================================================
   32. PAYMENT METHODS
========================================================================== */

.qtaxi .qtaxi-payment-methods,
.themify_builder .qtaxi-payment-methods {
  display: flex;
  flex-wrap: wrap;
  gap: var(--qtaxi-space-2);
}

.qtaxi .qtaxi-payment-method,
.themify_builder .qtaxi-payment-method {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: .55rem .85rem;
  border-radius: var(--qtaxi-radius-pill);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  font-size: 13px;
  font-weight: 800;
}


/* ==========================================================================
   33. SERVICE AREA LIST
========================================================================== */

.qtaxi .qtaxi-service-area-list,
.themify_builder .qtaxi-service-area-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--qtaxi-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.qtaxi .qtaxi-service-area-list li,
.themify_builder .qtaxi-service-area-list li {
  padding: var(--qtaxi-space-3);
  border-radius: var(--qtaxi-radius-md);
  background: var(--qtaxi-color-surface);
  font-weight: 700;
}

@media (min-width: 640px) {
  .qtaxi .qtaxi-service-area-list,
  .themify_builder .qtaxi-service-area-list {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}


/* ==========================================================================
   34. NOTICE / INFO BOX
========================================================================== */

.qtaxi .qtaxi-notice,
.themify_builder .qtaxi-notice {
  display: grid;
  gap: var(--qtaxi-space-2);
  padding: var(--qtaxi-space-4);
  border-radius: var(--qtaxi-radius-md);
  background: rgba(244,197,66,.14);
  border: 1px solid rgba(244,197,66,.35);
  color: var(--qtaxi-color-text);
}

.qtaxi .qtaxi-notice strong,
.themify_builder .qtaxi-notice strong {
  color: var(--qtaxi-color-primary);
}


/* ==========================================================================
   35. RESPONSIVE COMPONENT TUNING EXTRA
========================================================================== */

@media (min-width: 768px) {
  .qtaxi .qtaxi-airport-transfer,
  .qtaxi .qtaxi-route-card,
  .qtaxi .qtaxi-price-estimate,
  .qtaxi .qtaxi-booking-summary,
  .themify_builder .qtaxi-airport-transfer,
  .themify_builder .qtaxi-route-card,
  .themify_builder .qtaxi-price-estimate,
  .themify_builder .qtaxi-booking-summary {
    padding: var(--qtaxi-space-6);
  }
}

/* ==========================================================================
   QTAXI — PREMIUM-COMPONENTS.CSS
   Premium Agency Components
   Scope: qtaxi
   Mobile First
========================================================================== */


/* ==========================================================================
   01. TESTIMONIAL SLIDER
========================================================================== */

.qtaxi .qtaxi-testimonial-slider,
.themify_builder .qtaxi-testimonial-slider {
  display: grid;
  gap: var(--qtaxi-space-5);
}

.qtaxi .qtaxi-testimonial-slide,
.themify_builder .qtaxi-testimonial-slide {
  padding: var(--qtaxi-space-6);
  border-radius: var(--qtaxi-radius-xl);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-lg);
}

.qtaxi .qtaxi-testimonial-slide blockquote,
.themify_builder .qtaxi-testimonial-slide blockquote {
  margin: 0;
  font-size: clamp(18px, 4vw, 24px);
  font-weight: 700;
  line-height: 1.6;
}


/* ==========================================================================
   02. PRICING TABLE
========================================================================== */

.qtaxi .qtaxi-pricing-table,
.themify_builder .qtaxi-pricing-table {
  display: grid;
  gap: var(--qtaxi-space-5);
}

.qtaxi .qtaxi-pricing-card,
.themify_builder .qtaxi-pricing-card {
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-6);
  border-radius: var(--qtaxi-radius-xl);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  box-shadow: var(--qtaxi-shadow-md);
}

.qtaxi .qtaxi-pricing-card--featured,
.themify_builder .qtaxi-pricing-card--featured {
  background: var(--qtaxi-color-primary);
  color: var(--qtaxi-color-white);
  transform: scale(1.02);
}

.qtaxi .qtaxi-pricing-price,
.themify_builder .qtaxi-pricing-price {
  font-size: clamp(34px, 7vw, 54px);
  font-weight: 950;
  line-height: 1;
}


/* ==========================================================================
   03. FAQ ACCORDION
========================================================================== */

.qtaxi .qtaxi-faq,
.themify_builder .qtaxi-faq {
  display: grid;
  gap: var(--qtaxi-space-3);
}

.qtaxi .qtaxi-faq-item,
.themify_builder .qtaxi-faq-item {
  border-radius: var(--qtaxi-radius-lg);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  overflow: hidden;
}

.qtaxi .qtaxi-faq-question,
.themify_builder .qtaxi-faq-question {
  width: 100%;
  padding: var(--qtaxi-space-5);
  background: transparent;
  border: 0;
  text-align: left;
  font-weight: 800;
  cursor: pointer;
}

.qtaxi .qtaxi-faq-answer,
.themify_builder .qtaxi-faq-answer {
  padding: 0 var(--qtaxi-space-5) var(--qtaxi-space-5);
}


/* ==========================================================================
   04. TIMELINE COMPONENT
========================================================================== */

.qtaxi .qtaxi-timeline,
.themify_builder .qtaxi-timeline {
  position: relative;
  display: grid;
  gap: var(--qtaxi-space-5);
}

.qtaxi .qtaxi-timeline::before,
.themify_builder .qtaxi-timeline::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--qtaxi-color-border);
}

.qtaxi .qtaxi-timeline-item,
.themify_builder .qtaxi-timeline-item {
  position: relative;
  padding-left: 42px;
}

.qtaxi .qtaxi-timeline-item::before,
.themify_builder .qtaxi-timeline-item::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 8px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--qtaxi-color-primary);
}


/* ==========================================================================
   05. CHAUFFEUR PROFILE CARD
========================================================================== */

.qtaxi .qtaxi-chauffeur-card,
.themify_builder .qtaxi-chauffeur-card {
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-xl);
  background: var(--qtaxi-color-white);
  box-shadow: var(--qtaxi-shadow-md);
  text-align: center;
}

.qtaxi .qtaxi-chauffeur-avatar,
.themify_builder .qtaxi-chauffeur-avatar {
  width: 120px;
  height: 120px;
  margin-inline: auto;
  border-radius: 50%;
  overflow: hidden;
}


/* ==========================================================================
   06. FLEET / VEHICLE CARD
========================================================================== */

.qtaxi .qtaxi-fleet-card,
.themify_builder .qtaxi-fleet-card {
  display: grid;
  gap: var(--qtaxi-space-4);
  overflow: hidden;
  border-radius: var(--qtaxi-radius-xl);
  background: var(--qtaxi-color-white);
  box-shadow: var(--qtaxi-shadow-lg);
}

.qtaxi .qtaxi-fleet-card__content,
.themify_builder .qtaxi-fleet-card__content {
  padding: var(--qtaxi-space-5);
}


/* ==========================================================================
   07. AIRPORT LOGO STRIP
========================================================================== */

.qtaxi .qtaxi-airport-strip,
.themify_builder .qtaxi-airport-strip {
  display: flex;
  flex-wrap: wrap;
  gap: var(--qtaxi-space-5);
  align-items: center;
  justify-content: center;
}


/* ==========================================================================
   08. STICKY DESKTOP CTA
========================================================================== */

.qtaxi .qtaxi-desktop-cta-rail,
.themify_builder .qtaxi-desktop-cta-rail {
  display: none;
}

@media (min-width: 1024px) {
  .qtaxi .qtaxi-desktop-cta-rail,
  .themify_builder .qtaxi-desktop-cta-rail {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: var(--qtaxi-z-sticky);
    display: grid;
    gap: var(--qtaxi-space-2);
  }
}


/* ==========================================================================
   09. MULTI STEP BOOKING
========================================================================== */

.qtaxi .qtaxi-booking-steps,
.themify_builder .qtaxi-booking-steps {
  display: flex;
  gap: var(--qtaxi-space-3);
  overflow-x: auto;
}

.qtaxi .qtaxi-booking-step,
.themify_builder .qtaxi-booking-step {
  display: flex;
  align-items: center;
  gap: var(--qtaxi-space-2);
  padding: .85rem 1rem;
  border-radius: var(--qtaxi-radius-pill);
  background: var(--qtaxi-color-surface);
  white-space: nowrap;
}

.qtaxi .qtaxi-booking-step.is-active,
.themify_builder .qtaxi-booking-step.is-active {
  background: var(--qtaxi-color-primary);
  color: var(--qtaxi-color-white);
}


/* ==========================================================================
   10. REVIEW BADGE SYSTEM
========================================================================== */

.qtaxi .qtaxi-review-badge,
.themify_builder .qtaxi-review-badge {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .7rem 1rem;
  border-radius: var(--qtaxi-radius-pill);
  background: var(--qtaxi-color-white);
  border: 1px solid var(--qtaxi-color-border);
  font-weight: 800;
}


/* ==========================================================================
   11. FLOATING WHATSAPP BUTTON
========================================================================== */

.qtaxi .qtaxi-whatsapp-float,
.themify_builder .qtaxi-whatsapp-float {
  position: fixed;
  right: 16px;
  bottom: 90px;
  z-index: var(--qtaxi-z-sticky);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--qtaxi-shadow-lg);
}


/* ==========================================================================
   12. EMERGENCY NOTICE BAR
========================================================================== */

.qtaxi .qtaxi-notice-bar,
.themify_builder .qtaxi-notice-bar {
  padding: .9rem 1rem;
  background: var(--qtaxi-color-danger);
  color: var(--qtaxi-color-white);
  text-align: center;
  font-weight: 800;
}


/* ==========================================================================
   13. COOKIE BANNER
========================================================================== */

.qtaxi .qtaxi-cookie-banner,
.themify_builder .qtaxi-cookie-banner {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: var(--qtaxi-z-modal);
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-5);
  border-radius: var(--qtaxi-radius-xl);
  background: var(--qtaxi-color-white);
  box-shadow: var(--qtaxi-shadow-lg);
}


/* ==========================================================================
   14. COMPARISON TABLE
========================================================================== */

.qtaxi .qtaxi-comparison-table,
.themify_builder .qtaxi-comparison-table {
  overflow-x: auto;
}

.qtaxi .qtaxi-comparison-table table,
.themify_builder .qtaxi-comparison-table table {
  min-width: 720px;
}


/* ==========================================================================
   15. BUSINESS ACCOUNT CARD
========================================================================== */

.qtaxi .qtaxi-business-card,
.themify_builder .qtaxi-business-card {
  display: grid;
  gap: var(--qtaxi-space-4);
  padding: var(--qtaxi-space-6);
  border-radius: var(--qtaxi-radius-xl);
  background: linear-gradient(
    135deg,
    var(--qtaxi-color-primary),
    var(--qtaxi-color-primary-light)
  );
  color: var(--qtaxi-color-white);
}


/* ==========================================================================
   16. EMPTY STATE
========================================================================== */

.qtaxi .qtaxi-empty-state,
.themify_builder .qtaxi-empty-state {
  display: grid;
  gap: var(--qtaxi-space-4);
  justify-items: center;
  padding: var(--qtaxi-space-7);
  text-align: center;
}


/* ==========================================================================
   17. LOADING SKELETON
========================================================================== */

.qtaxi .qtaxi-skeleton,
.themify_builder .qtaxi-skeleton {
  position: relative;
  overflow: hidden;
  background: #e5e7eb;
}

.qtaxi .qtaxi-skeleton::after,
.themify_builder .qtaxi-skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.5),
      transparent
    );
  animation: qtaxiSkeleton 1.4s infinite;
}

@keyframes qtaxiSkeleton {
  100% {
    transform: translateX(100%);
  }
}


/* ==========================================================================
   18. SUCCESS / ERROR STATES
========================================================================== */

.qtaxi .qtaxi-alert-success,
.themify_builder .qtaxi-alert-success {
  padding: var(--qtaxi-space-4);
  border-radius: var(--qtaxi-radius-md);
  background: rgba(22,163,74,.12);
  color: #166534;
}

.qtaxi .qtaxi-alert-error,
.themify_builder .qtaxi-alert-error {
  padding: var(--qtaxi-space-4);
  border-radius: var(--qtaxi-radius-md);
  background: rgba(220,38,38,.12);
  color: #991B1B;
}


/* ==========================================================================
   19. MODAL SYSTEM
========================================================================== */

.qtaxi .qtaxi-modal,
.themify_builder .qtaxi-modal {
  position: fixed;
  inset: 0;
  z-index: var(--qtaxi-z-modal);
  display: none;
  place-items: center;
  padding: 20px;
  background: rgba(0,0,0,.6);
}

.qtaxi .qtaxi-modal__content,
.themify_builder .qtaxi-modal__content {
  width: 100%;
  max-width: 640px;
  padding: var(--qtaxi-space-6);
  border-radius: var(--qtaxi-radius-xl);
  background: var(--qtaxi-color-white);
}


/* ==========================================================================
   20. DRAWER / OFFCANVAS
========================================================================== */

.qtaxi .qtaxi-drawer,
.themify_builder .qtaxi-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: min(92vw, 420px);
  height: 100vh;
  z-index: var(--qtaxi-z-modal);
  transform: translateX(100%);
  background: var(--qtaxi-color-white);
  box-shadow: var(--qtaxi-shadow-lg);
  transition: transform var(--qtaxi-transition-base);
}

.qtaxi .qtaxi-drawer.is-open,
.themify_builder .qtaxi-drawer.is-open {
  transform: translateX(0);
}


/* ==========================================================================
   21. MEGA MENU
========================================================================== */

.qtaxi .qtaxi-mega-menu,
.themify_builder .qtaxi-mega-menu {
  display: grid;
  gap: var(--qtaxi-space-5);
  padding: var(--qtaxi-space-6);
  border-radius: var(--qtaxi-radius-xl);
  background: var(--qtaxi-color-white);
  box-shadow: var(--qtaxi-shadow-lg);
}


/* ==========================================================================
   22. TRANSPARENT HEADER
========================================================================== */

.qtaxi .qtaxi-header-transparent,
.themify_builder .qtaxi-header-transparent {
  position: absolute;
  inset-inline: 0;
  top: 0;
  z-index: var(--qtaxi-z-sticky);
  background: transparent;
}


/* ==========================================================================
   23. MOBILE BOTTOM SHEET
========================================================================== */

.qtaxi .qtaxi-bottom-sheet,
.themify_builder .qtaxi-bottom-sheet {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--qtaxi-z-modal);
  padding: var(--qtaxi-space-5);
  border-radius: 28px 28px 0 0;
  background: var(--qtaxi-color-white);
  transform: translateY(100%);
  transition: transform var(--qtaxi-transition-base);
}

.qtaxi .qtaxi-bottom-sheet.is-open,
.themify_builder .qtaxi-bottom-sheet.is-open {
  transform: translateY(0);
}
/* START MOBILE MENU CSS */
@media screen and (max-width:1100px){
/*/wp-content/themes/themify-ultra/mobile-menu.css*/
#header{height:auto;padding:10px 0 5px}#header,.fixed-header #header{text-align:inherit}#site-description,#site-logo{clear:both;float:none;margin:0 0 .5em;padding:0;position:static}#site-logo{font-size:24px;margin:5px 10px 5px 0}.header-widget{clear:both;float:none;margin:0;position:static;text-align:inherit}.header-widget .widget{margin:0 0 1.8em}.header-widget .widgettitle{margin:0 0 .3em}.header-icons{display:block;position:absolute;right:4%;top:27px;transform:translateY(-50%);z-index:1999}.header-icons a{font-size:1em;text-decoration:none!important}.slide-cart .header-icons{align-items:center;display:flex;flex-direction:row-reverse}:is(.mobile-menu-visible,.slide-cart-visible){z-index:1!important}.sidemenu{background-color:#fff;color:#000;display:none;height:100%;overflow-y:auto;padding:60px 25px 25px;position:fixed;text-align:left;top:0;transition:.2s ease-in-out;transition-property:left,right,top,bottom,width,transform,opacity;width:300px;z-index:11111}#mobile-menu{contain:paint;right:-300px}#mobile-menu.sidemenu-on{box-shadow:-6px 0 20px 5px rgba(0,0,0,.1);right:0}.sidemenu-left,.sidemenu-left .fixed-header{left:300px}.sidemenu-left #mobile-menu.sidemenu-on{left:0}#headerwrap #mobile-menu-panel a{color:#fff;text-decoration:none}#headerwrap #menu-icon-close{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:100%;color:inherit;display:block;font-size:20px;min-height:1em;min-width:1em;padding:9px;position:absolute;right:10px;text-decoration:none;top:10px;transform-origin:center;transition-property:transform}#menu-icon-close:hover{background:hsla(0,0%,78%,.25)}#menu-icon-close:after,#menu-icon-close:before{height:56%}.transparent-header #menu-icon-close{color:inherit}#main-nav-wrap{display:block;margin:1em 0 1.5em;padding:0}#main-nav{background-color:transparent;float:none}#main-nav li{clear:both;display:block;padding:0;width:100%}#main-nav li>.sub-menu{background:0;border:0;box-shadow:none;color:inherit;display:none;height:auto;margin:0 0 0 1em;opacity:1;padding:0;position:static;transform:none;width:auto}#main-nav li.toggle-on>.sub-menu{display:block}#main-nav .child-arrow{display:inline-block}#main-nav .child-arrow:hover{background:hsla(0,0%,78%,.25)}.transparent-header #headerwrap .themify-widget-menu{color:inherit}#main-nav .has-mega-column>.sub-menu,#main-nav .has-mega>.sub-menu{margin:0;padding:0;width:auto}#main-nav .has-mega-column>.sub-menu,#main-nav .has-mega-column>.sub-menu ul,#main-nav .has-mega-sub-menu .mega-sub-menu ul{float:none;margin:0 0 0 1em}#main-nav .has-mega-column>.sub-menu,#main-nav .has-mega-column>.sub-menu ul,#main-nav .has-mega-sub-menu .mega-sub-menu ul,#main-nav li:not(.themify-widget-menu)>ul{background:0}#headerwrap #main-nav a{background:0;border:0;box-shadow:none;color:inherit;display:block;font-weight:400;line-height:1.5em;margin:0;padding:.6em 0;text-decoration:none;width:auto}#headerwrap #main-nav .has-sub-menu>a{padding-right:40px}#main-nav>li:last-child a{border:0}#headerwrap #main-nav .current-menu-item>a,#headerwrap #main-nav .current_page_item>a,#headerwrap #main-nav a:hover{color:var(--theme_accent)}#main-nav .mega-menu-posts,.slide-cart-visible #menu-icon{display:none}#header .social-widget a,#headerwrap .sidemenu .search-button,#headerwrap .sidemenu .tf_darkmode_toggle{color:inherit}#header .social-widget{float:none;margin:0;position:static}.header-widget :is(.col4-1,.col4-2,.col3-1){margin-left:0;max-width:100%;width:100%}.sidemenu .header-widget{height:auto}.fixed-header :is(.cart-wrap,.header-bar,.header-widget){display:block}.fixed-header .search-button,.fixed-header-on #headerwrap :is(.tf_darkmode_toggle,.social-widget){display:inline-block}#headerwrap .sidemenu .search-button{margin:0}#headerwrap #searchform,#headerwrap #searchform #s,#headerwrap #searchform #s:is(:focus,:hover),#headerwrap #searchform .tf_fa:hover+#s{width:100%}#headerwrap #searchform-wrap,.fixed-header-on #headerwrap #searchform-wrap{display:block;margin:1em 0 0}#headerwrap #searchform{clear:both;float:none;inset:auto;margin:0 0 1em;padding:0;position:relative;width:auto}#headerwrap #searchform #s{background-color:#eee;color:#000;float:none;height:auto;margin:auto;padding:11px 15px 10px 35px;position:static;transition:none;width:100%}#headerwrap #searchform .tf_fa:hover+#s{background-color:#eee}#headerwrap #searchform .tf_fa{background:0;color:#000;font-size:18px;height:16px;left:9px;margin:0;padding:3px;position:absolute;top:9px;transform:none;width:16px}
/*/wp-content/themes/themify-ultra/styles/headers/media/header-horizontal.css*/
.sidemenu-right #headerwrap{left:-300px}.navbar-wrapper{display:block}.pull-down{display:none}.social-links .icon-medium i{margin:auto}.header-widget{display:block;max-height:none!important;text-align:inherit}@media (max-width:600px){.mobile-menu-visible #headerwrap .header-icons{display:none}}
}
/* END MOBILE MENU CSS */