/**/.hamburgerButton{display:block;background-color:transparent;border:0;padding:0;margin:0}.hamburgerButton,.hamburgerButton svg{width:100%;height:100%}/**/.graphicWidget{width:200px;height:200px;margin:10px auto;text-align:center}.graphicWidget svg.svg{width:100%;height:100%;color:#000;fill:#000}.graphicWidgetV2{width:60px;height:60px}.graphicWidgetV3{font-size:0}/**/.dmNewParagraph[data-version] .text-align-left{text-align:left!important}.dmNewParagraph[data-version] .text-align-center{text-align:center!important}.dmNewParagraph[data-version] .text-align-right{text-align:right!important}
.dmNewParagraph[data-version] .text-align-justify{text-align:justify!important}.dmNewParagraph[data-version] .ql-indent-1{padding:0 1em;padding-inline-end:0;padding-inline-start:3em}.dmNewParagraph[data-version] .ql-indent-2{padding:0 2em;padding-inline-end:0;padding-inline-start:6em}
.dmNewParagraph[data-version] .ql-indent-3{padding:0 3em;padding-inline-end:0;padding-inline-start:9em}.dmNewParagraph[data-version] .ql-indent-4{padding:0 4em;padding-inline-end:0;padding-inline-start:12em}
.dmNewParagraph[data-version] .ql-indent-5{padding:0 5em;padding-inline-end:0;padding-inline-start:15em}.dmNewParagraph[data-version] .ql-indent-6{padding:0 6em;padding-inline-end:0;padding-inline-start:18em}
.dmNewParagraph[data-version] .ql-indent-7{padding:0 7em;padding-inline-end:0;padding-inline-start:21em}.dmNewParagraph[data-version] .ql-indent-8{padding:0 8em;padding-inline-end:0;padding-inline-start:24em}
.dmNewParagraph[data-version] .ql-indent-9{padding:0 9em;padding-inline-end:0;padding-inline-start:27em}.dmNewParagraph[data-version]{line-height:initial}.dmNewParagraph[data-version] [class*=size-]{width:auto!important;height:auto!important}
.dmNewParagraph[data-version] h1,.dmNewParagraph[data-version] h2,.dmNewParagraph[data-version] h3,.dmNewParagraph[data-version] h4,.dmNewParagraph[data-version] h5,.dmNewParagraph[data-version] h6,.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] p,.dmNewParagraph[data-version] ul{margin-top:0;margin-bottom:0}
.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] ul{padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.dmNewParagraph[data-version] ol>li,.dmNewParagraph[data-version] ul>li{list-style-type:none;text-indent:-1.5em;margin:0 1em;margin-inline-end:0;margin-inline-start:2em}
.dmNewParagraph[data-version] ol>li:before,.dmNewParagraph[data-version] ul>li:before{min-width:1em;display:inline-block;margin-right:.5em;margin-inline-start:0;margin-inline-end:.5em;text-align:right;text-align:end}
.dmNewParagraph[data-version] ul .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ul .ql-indent-1:before{font-weight:700;content:"○"}
.dmNewParagraph[data-version] ul .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ul .ql-indent-2:before,.dmNewParagraph[data-version] ul .ql-indent-3:before,.dmNewParagraph[data-version] ul .ql-indent-4:before,.dmNewParagraph[data-version] ul .ql-indent-5:before,.dmNewParagraph[data-version] ul .ql-indent-6:before,.dmNewParagraph[data-version] ul .ql-indent-7:before,.dmNewParagraph[data-version] ul .ql-indent-8:before,.dmNewParagraph[data-version] ul .ql-indent-9:before{font-weight:700;content:"■"}
.dmNewParagraph[data-version] ul .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ul .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}
.dmNewParagraph[data-version] ul .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ul .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}
.dmNewParagraph[data-version] ul .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ul .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ul .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}
.dmNewParagraph[data-version] ul>li:before{font-weight:700;content:"•";font-family:Arial}.dmNewParagraph[data-version] ul.custom-list-1>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"○";transform:scale(1);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-2>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"★";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-3>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"➞";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-4>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"＋";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-5>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"－";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-6>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✓";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-7>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✗";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ol .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ol .ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ol .ql-indent-2:before{content:counter(list-2,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ol .ql-indent-3:before{content:counter(list-3,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}.dmNewParagraph[data-version] ol .ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ol .ql-indent-5:before{content:counter(list-5,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}.dmNewParagraph[data-version] ol .ql-indent-6:before{content:counter(list-6,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ol .ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ol .ql-indent-8:before{content:counter(list-8,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}.dmNewParagraph[data-version] ol .ql-indent-9:before{content:counter(list-9,decimal) ". "}
.dmNewParagraph[data-version] ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.dmNewParagraph[data-version] ol li:before{content:counter(list-0,decimal) ". "}
.dmNewParagraph[data-version] a{vertical-align:initial}@media(min-width:768px) and (max-width:1024px){.dmNewParagraph[data-version] .t-text-align-left{text-align:left!important}.dmNewParagraph[data-version] .t-text-align-center{text-align:center!important}
.dmNewParagraph[data-version] .t-text-align-right{text-align:right!important}.dmNewParagraph[data-version] .t-text-align-justify{text-align:justify!important}}@media(max-width:767px){.dmRoot .dmNewParagraph[data-version] .m-text-align-left{text-align:left!important}
.dmRoot .dmNewParagraph[data-version] .m-text-align-center{text-align:center!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-right{text-align:right!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-justify{text-align:justify!important}
}.inlineBindingLink{color:inherit!important;text-decoration:inherit!important}/**/.dmLargeBody #dm .dmRespRow .dmRespCol.large-11 .dmform[data-layout=layout-2] .dmform-wrapper .dmformsubmit.dmWidget,.dmLargeBody #dm .dmRespRow .dmRespCol.large-12 .dmform[data-layout=layout-2] .dmform-wrapper .dmformsubmit.dmWidget{width:fit-content}
#dm .dmformsubmit input[type=submit]{text-align:inherit}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput label:not(.for-checkable),#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput label:not(.for-checkable){width:75px;vertical-align:top;white-space:normal}
#dm .dmBody div.dmform[data-layout=layout-2] .dmforminput:not(.g-recaptcha):not(.frc-captcha){justify-content:flex-start!important}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-1] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-1] .dmforminput{display:block}
#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-1] .dmforminput>:not(label):not(div):not(small):not(.frc-banner),#dm div.dmInner .dmform[data-layout=layout-1] .dmforminput>:not(label):not(div):not(small):not(.frc-banner){background:0;border:2px solid #000;display:inline-block}
#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput{-js-display:flex;display:flex}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput input:not([type=checkbox]):not([type=radio]),#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput textarea,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>input,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>textarea{width:calc(100% - 80px)}
#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>.resizeHandler{height:100%;bottom:0}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-3] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-3] .dmforminput{margin-top:20px}
#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-3] .dmforminput>:not(label):not(div):not(small):not(.frc-banner),#dm div.dmInner .dmform[data-layout=layout-3] .dmforminput>:not(label):not(div):not(small):not(.frc-banner){background:0;border:0;border-radius:0;-webkit-appearance:none;border-bottom:1px solid;height:30px}
#dm div.dmInner .frc-captcha.dmforminput.dmRespDesignCol{border:0}#dm div.dmInner .frc-captcha.dmforminput.dmRespDesignCol .frc-banner{border:0;position:inherit}#dm div.dmInner .dmform .dmforminput .radiowrapper span{line-height:normal}
#dm div.dmInner .dmform .dmforminput .checkboxwrapper span,#dm div.dmInner .dmform .dmforminput .optinwrapper div{vertical-align:text-bottom;line-height:normal;display:inline}#dm div.dmInner .dmform .dmforminput .optinwrapper div p.rteBlock{display:inline}
#dm div.dmInner .dmform .dmforminput .horizontal.checkboxwrapper span,#dm div.dmInner .dmform .dmforminput .horizontal.optinwrapper div div,#dm div.dmInner .dmform .dmforminput .horizontal.radiowrapper span{margin:0 15px 0 3px}
#dm div.dmInner .dmform .dmforminput .horizontal{-js-display:flex;display:flex;flex-wrap:wrap}#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput .horizontal{-js-display:inline-flex;display:inline-flex}
#dm div.dmInner .dmform .dmforminput .horizontal div{-js-display:flex;display:flex}#dm div.dmInner .dmform .dmforminput .horizontal input{flex-shrink:0;margin-top:.2em}#dm div.dmInner .dmform .dmforminput label[hide=true],#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=checkbox].checkable-input,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=checkbox].checkable-input+span,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=radio].checkable-input,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=radio].checkable-input+span,.dmform .dmforminput[data-skip-in-editor=true]{display:none}
.dmform .dmform-field-error{display:none;color:#b00020;background-color:#fef5f5;font-size:12px;padding:6px 12px;margin-top:4px;border-radius:4px}.dmform .dmform-field-error::before{content:"";display:inline-block;width:16px;height:16px;margin-right:4px;vertical-align:text-top;background:url('data:image/svg+xml,<svgwidth="16"height="20"viewBox="001620"fill="none"xmlns="http://www.w3.org/2000/svg"><maskid="mask0_7704_320"style="mask-type:alpha"maskUnits="userSpaceOnUse"x="1"y="3"width="14"height="14"><pathd="M8.000243.33325C11.68013.3334314.66636.3203514.666310.0002C14.666113.6811.6816.66618.0002416.6663C4.3203516.66631.3334313.68011.3332510.0002C1.333256.320244.320243.333258.000243.33325ZM7.3332512.0002V13.3333H8.66626V12.0002H7.33325ZM8.000246.66626C7.633586.666267.333256.966597.333257.33325V10.0002C7.3334310.36687.6336910.66638.0002410.6663C8.3666510.66618.6660810.36678.6662610.0002V7.33325C8.666266.966698.366766.666448.000246.66626Z"fill="black"/></mask><gmask="url(%23mask0_7704_320)"><recty="2"width="16"height="16"fill="%23B00020"/></g></svg>') no-repeat center/contain;background-repeat:no-repeat;background-position:center;background-size:contain}
.dmform .inputError{outline:1px solid red!important}.dmform.required-asterisk .required>label::after{content:"*";display:inline-block;margin-inline-start:5px;color:#f11111}
.dmform .dmforminput label{display:block;overflow:hidden;text-overflow:ellipsis}.dmforminput.newLine{clear:both}.dmform .dmWidgetClear{clear:both;display:block}#dm .dmform.form-rtl-direction .dmform-title{text-align:right}
#dm .dmform.form-rtl-direction .checkboxwrapper,#dm .dmform.form-rtl-direction .dmforminput input,#dm .dmform.form-rtl-direction .optinwrapper,#dm .dmform.form-rtl-direction .radiowrapper,#dm .dmform.form-rtl-direction label,#dm .dmform.form-rtl-direction textarea{direction:rtl;text-align:right}
#dm .dmform.form-rtl-direction .checkboxwrapper,#dm .dmform.form-rtl-direction .fileUploadLink,#dm .dmform.form-rtl-direction .optinwrapper,#dm .dmform.form-rtl-direction .radiowrapper{float:right;clear:both}
#dm .dmform.form-rtl-direction .dmRespDesignRow .dmRespDesignCol{float:right;text-align:right}#dm .dmform.form-rtl-direction .dmWidget.R{float:left}.u_dm .dmform a.fileUploadLink{text-decoration:underline;cursor:pointer}
.dmform .fileUploadLink{cursor:pointer}.dmform[data-layout=layout-2] .checkboxwrapper,.dmform[data-layout=layout-2] .optinwrapper,.dmform[data-layout=layout-2] .radiowrapper{justify-content:flex-start!important;text-align:left!important;text-overflow:unset}
.dmform[data-layout=layout-2] .dmforminput label{margin-right:5px}#dmRoot.dmLargeBody #dm .dmWidget.dmformsubmit{max-width:100%;padding:0}.dmLargeBody #dm .large-3 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-4 .dmformsubmit.dmWidget{width:150px}
.dmLargeBody #dm .large-10 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-5 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-6 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-7 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-8 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-9 .dmformsubmit.dmWidget{width:200px}
.dmLargeBody #dm .large-11 .dmformsubmit.dmformsubmit,.dmLargeBody #dm .large-12 .dmformsubmit.dmformsubmit{width:280px}.dmMobileBody #dm .dmRespRow .dmRespCol.small-12 .dmform-wrapper .dmformsubmit{width:91%;max-width:91%;padding:0 10px;float:left}
.inFormLayoutMode .dmform.inlineEditorFormSelected .dmforminput{transition:all .1s linear}.dmMobileBody .dmform .dmforminput label{white-space:normal}.dmform .newLineButton,.dmform .resizeHandler,.dmform.inlineEditorFormSelected .large-1 .resizeHandler span.dm-icon-chevron-left,.dmform.inlineEditorFormSelected .large-12 .resizeHandler span.dm-icon-chevron-right{visibility:hidden}
.dmform.inlineEditorFormSelected .resizeHandler{visibility:visible;height:calc(100% - 30px);position:absolute;bottom:5px;right:10px;cursor:col-resize;z-index:999}.dmform.inlineEditorFormSelected .newLineButton{visibility:visible;position:absolute;left:24px;bottom:calc(50% - 22px);padding:4px;cursor:pointer}
.dmform.inlineEditorFormSelected .newLineButton:before{display:inline-block}.dmform.inlineEditorFormSelected .newLine .newLineButton:before{-webkit-transform:rotateZ(180deg)}.dmform.inlineEditorFormSelected .resizeHandler span{font-size:9px;position:relative;top:50%;margin-top:-4px;color:#666}
.dmform.inlineEditorFormSelected .resizeHandler span.dm-icon-chevron-right{margin-left:4px}.dmform.inlineEditorFormSelected .resizeHandler .handle{background-color:#666;height:100%;background:url(/editor/nee/images/common/2ColumnsArrows.png) no-repeat center 50%,url(/editor/nee/images/common/bluePic.png) repeat-y center;border-right:0;right:-5px;width:12px}
.dmform .m-recaptcha{margin-top:0;margin-bottom:10px}.dmform .grecaptcha-badge[data-style=bottomleft],.dmform .grecaptcha-badge[data-style=bottomright]{z-index:999;opacity:0}.dmform.active .grecaptcha-badge[data-style=bottomleft],.dmform.active .grecaptcha-badge[data-style=bottomright]{opacity:1}
[data-captcha-position=bottomleft] .g-recaptcha,[data-captcha-position=bottomright] .g-recaptcha{padding:0;margin:0}div.dmInner input[type=date],div.dmInner input[type=time]{font-size:16px;background-color:rgba(102,102,102,.15);border:2px solid #fff;width:100%;margin:3px 0;height:40px;padding:0 10px}
#dm div.dmInner .native-inputs .contact-checkable-container label.for-checkable{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;overflow:visible}#dm div.dmInner .native-inputs .contact-checkable-container .contact-checkable-img{margin-left:0;margin-bottom:0}
#dm div.dmInner .native-inputs .contact-checkable-container input[type=checkbox].checkable-input,#dm div.dmInner .native-inputs .contact-checkable-container input[type=radio].checkable-input{display:initial;width:1em;height:1em;margin:8px .3em 8px 0;order:1}
#dm div.dmInner .native-inputs .contact-checkable-container input[type=checkbox].checkable-input:checked~span.img-wrapper>img,#dm div.dmInner .native-inputs .contact-checkable-container input[type=radio].checkable-input:checked~span.img-wrapper>img{border:3px solid transparent}
#dm div.dmInner .native-inputs .contact-checkable-container div,#dm div.dmInner .native-inputs .contact-checkable-container span:not(.img-wrapper){order:2}#dm div.dmInner .native-inputs .contact-checkable-container span.img-wrapper{order:0;width:100%}
#dm .dmform:has(.spacing-container) .dmform-wrapper{overflow:clip}#dm .dmform:has(.spacing-container) .dmform-title.dmwidget-title{padding-inline:0;margin-block-start:0}#dm .dmform:has(.spacing-container) .spacing-container{margin:-7.5px;border:1px solid transparent;overflow:hidden}
#dm .dmform:has(.spacing-container) .spacing-container .dmforminput{margin-top:0;padding:7.5px}#dm .dmform:has(.spacing-container) .spacing-container textarea{display:block}#dm .dmform:has(.spacing-container) .spacing-container .m-recaptcha{margin-bottom:0}
#dm .dmform:has(.spacing-container) .spacing-container .g-recaptcha:has(.grecaptcha-badge:not([data-style=inline])){position:absolute}#dm .dmform:has(.spacing-container) form.dmRespDesignRow{padding:0}
#dm .dmform:has(.spacing-container) form.dmRespDesignRow .dmformsubmit{margin:0;margin-block-start:20px}#dm .dmform:is(.horizontal-alignment) form.dmRespDesignRow{display:flex;flex-direction:row;align-items:flex-end}
#dm .dmform:is(.horizontal-alignment) form.dmRespDesignRow .dmformsubmit{margin-block-end:5px}#dm .dmform:is(.horizontal-alignment).form-rtl-direction form{flex-direction:row-reverse}/**/.dmform{clear:both}.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=email],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=number],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=password],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=tel],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=text],.dmPageBody:not(.inputs-css-clean) div.dmInner select,.dmPageBody:not(.inputs-css-clean) div.dmInner textarea,div.dmInner .dmform input[type=email],div.dmInner .dmform input[type=number],div.dmInner .dmform input[type=password],div.dmInner .dmform input[type=tel],div.dmInner .dmform input[type=text],div.dmInner .dmform select,div.dmInner .dmform textarea{font-size:16px;background-color:rgba(102,102,102,.15);border:2px solid #fff;width:100%;margin:3px 0;height:40px;padding:0 10px}
.dmPageBody:not(.inputs-css-clean) div.dmInner textarea,div.dmInner .dmform textarea{height:80px;padding:10px;min-height:50px}.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=reset],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=submit],div.dmInner .dmform input[type=reset],div.dmInner .dmform input[type=submit]{margin:5px auto;width:100%;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;height:30px!important;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;font-size:16px;border:0;outline:0}
.dmPageBody:not(.inputs-css-clean) div.dmInner select[multiple],div.dmInner .dmform select[multiple]{height:auto}.dmPageBody:not(.inputs-css-clean) div.dmInner select option:not(:disabled),div.dmInner .dmform select option:not(:disabled){color:initial}
.dmPageBody:not(.inputs-css-clean) div.dmInner select option,div.dmInner .dmform select option{background-color:#fff}.dmforminput{text-align:left}#dm .dmform .dmformsubmit{margin:20px 15px}.dmform .dmformsubmit .R{float:right}
.dmform-title{padding-right:15px;padding-left:15px}div.dmInner .dmformsubmit input[type=submit]{height:auto!important}@media(max-width:767px){.dmRoot #dm .dmform input[type=submit]{width:100%}.dmRoot #dm .dmform.dmContactDefaultForm input[type=submit]{width:91%}
#dm .dmform-wrapper .dmformsubmit{width:91%;max-width:91%;padding:0 10px;float:left}}.dmformcaptcha,.dmforminput{margin-top:10px;padding-left:.9375em;padding-right:.9375em}.dmRoot #dm .dmRespRow .dmRespCol.large-10 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-5 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-6 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-7 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-8 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-9 .dmform-wrapper .dmformsubmit{min-width:200px;width:auto}
.dmRoot #dm .dmRespRow .dmRespCol.large-11 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-12 .dmform-wrapper .dmformsubmit{min-width:280px;width:auto}div.dmInner .filewrapper{margin:3px 0;height:40px}
#dmRoot #dm .dmWidget.dmformsubmit{max-width:100%}/**/embed,object{max-width:100%;height:100%}img{max-width:100%;-ms-interpolation-mode:bicubic;display:inline-block}textarea{height:auto;min-height:50px}select{width:100%}.text-left{text-align:left!important}
.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.hide{display:none}.antialiased{-webkit-font-smoothing:antialiased}.dmRespDesignRow{position:relative;width:100%;margin:0 auto;max-width:960px;*zoom:1;padding-top:15px;padding-bottom:15px}
.dmRespDesignRow .dmRespDesignRow.collapse:after,.dmRespDesignRow .dmRespDesignRow.collapse:before,.dmRespDesignRow .dmRespDesignRow:after,.dmRespDesignRow .dmRespDesignRow:before,.dmRespDesignRow:after,.dmRespDesignRow:before{content:" ";display:table}
.dmRespDesignRow .dmRespDesignRow.collapse:after,.dmRespDesignRow .dmRespDesignRow:after,.dmRespDesignRow:after{clear:both}@media(min-width:1025px){.rows-1200 .dmRespDesignRow,.rows-1200 .dmRespRow:not(.fullBleedMode) .dmRespColsWrapper{max-width:1200px}
}.dmRespDesignRow .column,.dmRespDesignRow .dmRespDesignCol{position:relative;width:100%;display:inline-block;vertical-align:top;float:left}.dmRespDesignRow.collapse .dmRespDesignCol{position:relative;padding-left:0;padding-right:0;float:left}
.dmRespDesignRow .dmRespDesignRow{width:auto;margin-top:0;margin-bottom:0;max-width:none;*zoom:1}.dmRespDesignRow .dmRespDesignRow.collapse{width:auto;margin:0;max-width:none;*zoom:1}@media(max-width:767px){.dmRespDesignRow .dmRespDesignCol{position:relative;padding-left:15px;padding-right:15px;float:left}
.flex-element .small-3:first-child,.flex-element .small-4:first-child,.flex-element .small-6:first-child{padding-left:0}.flex-element .small-3:last-child,.flex-element .small-4:last-child,.flex-element .small-6:last-child{padding-right:0}
.dmRespDesignRow .small-1{position:relative;width:8.33333%}.dmRespDesignRow .small-2{position:relative;width:16.66667%}.dmRespDesignRow .small-3{position:relative;width:25%}.dmRespDesignRow .small-4{position:relative;width:33.33333%}
.dmRespDesignRow .small-5{position:relative;width:41.66667%}.dmRespDesignRow .small-6{position:relative;width:50%}.dmRespDesignRow .small-7{position:relative;width:58.33333%}.dmRespDesignRow .small-8{position:relative;width:66.66667%}
.dmRespDesignRow .small-9{position:relative;width:75%}.dmRespDesignRow .small-10{position:relative;width:83.33333%}.dmRespDesignRow .small-11{position:relative;width:91.66667%}.dmRespDesignRow .small-12{position:relative;width:100%}
}@media(min-width:768px) and (max-width:1024px){.dmRespDesignRow .medium-1{position:relative;width:8.33333%}.dmRespDesignRow .medium-2{position:relative;width:16.66667%}.dmRespDesignRow .medium-3{position:relative;width:25%}
.dmRespDesignRow .medium-4{position:relative;width:33.33333%}.dmRespDesignRow .medium-5{position:relative;width:41.66667%}.dmRespDesignRow .medium-6{position:relative;width:50%}.dmRespDesignRow .medium-7{position:relative;width:58.33333%}
.dmRespDesignRow .medium-8{position:relative;width:66.66667%}.dmRespDesignRow .medium-9{position:relative;width:75%}.dmRespDesignRow .medium-10{position:relative;width:83.33333%}.dmRespDesignRow .medium-11{position:relative;width:91.66667%}
.dmRespDesignRow .medium-12{position:relative;width:100%}}@media(min-width:1025px){.dmRespDesignRow .large-1{position:relative;width:8.33333%}.dmRespDesignRow .large-2{position:relative;width:16.66667%}
.dmRespDesignRow .large-3{position:relative;width:25%}.dmRespDesignRow .large-4{position:relative;width:33.33333%}.dmRespDesignRow .large-5{position:relative;width:41.66667%}.dmRespDesignRow .large-6{position:relative;width:50%}
.dmRespDesignRow .large-7{position:relative;width:58.33333%}.dmRespDesignRow .large-8{position:relative;width:66.66667%}.dmRespDesignRow .large-9{position:relative;width:75%}.dmRespDesignRow .large-10{position:relative;width:83.33333%}
.dmRespDesignRow .large-11{position:relative;width:91.66667%}.dmRespDesignRow .large-12{position:relative;width:100%}}/**/.imageWidget{position:relative}.imageWidget a,.imageWidget span.image-caption{font-style:italic;text-align:center}.imageWidget a[data-caption]::after,.imageWidget span[data-caption]::after{content:attr(data-caption);display:block;line-height:100%}
.imageWidget.with-caption a::after,.imageWidget.with-caption span.image-caption::after{margin-top:12px}.imageWidget img[width][height]{height:auto}[data-flex-site] #fcontainer .imageWidget:after,[data-flex-site] #flex-footer .imageWidget:after,[data-flex-site] #flex-header .imageWidget:after{content:none}
[data-flex-site] #fcontainer .imageWidget:before,[data-flex-site] #flex-footer .imageWidget:before,[data-flex-site] #flex-header .imageWidget:before{font-size:80px;transform:none}.imageWidget.hover img.hover-image,.imageWidget:hover img.hover-image{display:initial}
.imageWidget.hover.hasHover img:not(.hover-image),.imageWidget:hover.hasHover img:not(.hover-image){display:none!important}.imageWidget img.hover-image,.imageWidget img.logo-on-scroll{display:none}/**/#dm .dmSocialHub:not(.gapSpacing) .socialHubInnerDiv a:not(:last-child){margin-right:5px}.socialHubIcon{display:flex!important;align-items:center;justify-content:center}.socialHubIcon svg{fill:currentColor;width:80%;height:80%}
.socialHubIcon.style1,.socialHubIcon.style4,.socialHubIcon.style6,.socialHubIcon.style7{background:#617379}.socialHubIcon.style7{box-shadow:0 5px 0 0 #475459}.style1.dmSocialTiktok,.style4.dmSocialTiktok{background:#000}
.style1.dmSocialFacebook,.style4.dmSocialFacebook{background:#1877f2}.style1.dmSocialTwitter,.style4.dmSocialTwitter{background:#0f1419}.style1.dmSocialGooglePlus,.style4.dmSocialGooglePlus{background:#da4835}
.style1.dmSocialInstagram,.style4.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style1.dmSocialYoutube,.style4.dmSocialYoutube{background:red}
.style1.dmSocialLinkedin,.style4.dmSocialLinkedin{background:#2867b2}.style1.dmSocialYelp,.style4.dmSocialYelp{background:#e43340}.style1.dmSocialPinterest,.style4.dmSocialPinterest{background:#c8232c}
.style1.dmSocialVimeo,.style4.dmSocialVimeo{background:#1ab7ea}.style1.dmSocialPicasa,.style4.dmSocialPicasa{background:#be81d1}.style1.dmSocialFoursquare,.style4.dmSocialFoursquare{background:#ef4b78}
.style1.dmSocialRss,.style4.dmSocialRss{background:#f39200}.style1.dmSocialReddit,.style4.dmSocialReddit{background:#ff4500}.style1.dmSocialEmail,.style4.dmSocialEmail{background:#617379}.style1.dmSocialSnapchat,.style4.dmSocialSnapchat{background:#fffc00}
.style1.dmSocialTripadvisor,.style4.dmSocialTripadvisor{background:#589442}.style1.dmSocialWaze,.style4.dmSocialWaze{background:#56cbe7}.style1.dmSocialGoogleMyBusiness,.style4.dmSocialGoogleMyBusiness{background:#477cdf}
.style1.dmSocialWhatsapp,.style4.dmSocialWhatsapp{background:#25d366}.style1.dmSocialPhone,.style4.dmSocialPhone{background:#616c79}.style1:after{content:"";width:44px;height:28px;display:block;position:absolute;top:0;left:0;z-index:-1;border-radius:10px}
.style1.dmSocialEmail:after,.style1.dmSocialFacebook:after,.style1.dmSocialFoursquare:after,.style1.dmSocialGoogleMyBusiness:after,.style1.dmSocialGooglePlus:after,.style1.dmSocialInstagram:after,.style1.dmSocialLinkedin:after,.style1.dmSocialPhone:after,.style1.dmSocialPicasa:after,.style1.dmSocialPinterest:after,.style1.dmSocialReddit:after,.style1.dmSocialRss:after,.style1.dmSocialSnapchat:after,.style1.dmSocialTripadvisor:after,.style1.dmSocialTwitter:after,.style1.dmSocialVimeo:after,.style1.dmSocialYelp:after,.style1.dmSocialYoutube:after{background:#fff;opacity:.2}
.style2.dmSocialTiktok{color:#000}.style2.dmSocialFacebook{color:#1877f2}.style2.dmSocialTwitter{color:#0f1419}.style2.dmSocialGooglePlus{color:#da4835}.style2.dmSocialInstagram:before{background-image:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.style2.dmSocialYoutube{color:red}.style2.dmSocialLinkedin{color:#2867b2}.style2.dmSocialYelp{color:#e43340}.style2.dmSocialPinterest{color:#c8232c}.style2.dmSocialVimeo{color:#1ab7ea}.style2.dmSocialPicasa{color:#be81d1}
.style2.dmSocialFoursquare{color:#ef4b78}.style2.dmSocialRss{color:#f39200}.style2.dmSocialReddit{color:#ff4500}.style2.dmSocialEmail{color:#617379}.style2.dmSocialSnapchat{color:#fffc00}.style2.dmSocialTripadvisor{color:#589442}
.style2.dmSocialGoogleMyBusiness:before{color:#477cdf}.style2.dmSocialWaze:before{color:#56cbe7}.style2.dmSocialWhatsapp:before{color:#25d366}.style2.dmSocialPhone{color:#616c79}.style6.dmSocialTiktok{background:#000}
.style6.dmSocialFacebook{background:#1877f2}.style6.dmSocialTwitter{background:#0f1419}.style6.dmSocialGooglePlus{background:#da4835}.style6.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}
.style6.dmSocialYoutube{background:red}.style6.dmSocialLinkedin{background:#2867b2}.style6.dmSocialYelp{background:#e43340}.style6.dmSocialPinterest{background:#c8232c}.style6.dmSocialVimeo{background:#1ab7ea}
.style6.dmSocialPicasa{background:#be81d1}.style6.dmSocialFoursquare{background:#ef4b78}.style6.dmSocialRss{background:#f39200}.style6.dmSocialReddit{background:#ff4500}.style6.dmSocialEmail{background:#617379}
.style6.dmSocialSnapchat{background:#fffc00}.style6.dmSocialTripadvisor{background:#589442}.style6.dmSocialWaze{background:#56cbe7}.style6.dmSocialGoogleMyBusiness{background:#477cdf}.style6.dmSocialWhatsapp{background:#25d366}
.style6.dmSocialPhone{background:#616c79}.style7.dmSocialTiktok{background:#000}.style7.dmSocialFacebook{background:#1877f2;box-shadow:0 5px 0 0 #4b68a5}.style7.dmSocialTwitter{background:#0f1419}.style7.dmSocialGooglePlus{background:#da4835;box-shadow:0 5px 0 0 #c44130}
.style7.dmSocialInstagram{box-shadow:0 5px 0 0 #ad2271;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style7.dmSocialYoutube{background:red;box-shadow:0 5px 0 0 #b3392c}
.style7.dmSocialLinkedin{background:#2867b2;box-shadow:0 5px 0 0 #1278b1}.style7.dmSocialYelp{background:#e43340;box-shadow:0 5px 0 0 #b62933}.style7.dmSocialPinterest{background:#c8232c;box-shadow:0 5px 0 0 #a21a2d}
.style7.dmSocialVimeo{background:#1ab7ea;box-shadow:0 5px 0 0 #1592bb}.style7.dmSocialPicasa{background:#be81d1;box-shadow:0 5px 0 0 #9867a7}.style7.dmSocialFoursquare{background:#ef4b78;box-shadow:0 5px 0 0 #da3b67}
.style7.dmSocialRss{background:#f39200;box-shadow:0 5px 0 0 #c27500}.style7.dmSocialReddit{background:#ff4500;box-shadow:0 5px 0 0 #ae5534}.style7.dmSocialEmail{background:#617379;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialSnapchat{background:#fffc00;box-shadow:0 5px 0 0 #d1d05d}.style7.dmSocialTripadvisor{background:#589442;box-shadow:0 5px 0 0 #4e7b3e}.style7.dmSocialWaze{background:#56cbe7;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialGoogleMyBusiness{background:#477cdf;box-shadow:0 5px 0 0 #475459}.style7.dmSocialWhatsapp{background:#25d366;box-shadow:0 5px 0 0 #475459}.style7.dmSocialPhone{background:#616c79;box-shadow:0 5px 0 0 #4a5458}/**/.dmSocialHub{clear:both}#dm .dmSocialHub .horizontal a,#dm .dmSocialHub.gapSpacing .socialHubWrapper{display:block}#dm .dmSocialHub.gapSpacing .socialHubInnerDiv{display:flex;flex-wrap:wrap;column-gap:5px;justify-content:center}
#dm .dmSocialHub.alignedLeft .socialHubInnerDiv,#dm .dmSocialHub.alignedLeft h3,.dmSocialHub>div.horizontal{text-align:left}#dm .dmSocialHub a{display:inline-block;text-decoration:none;margin:0;vertical-align:bottom}
#dm .dmSocialHub>h3,.dmSocialHub>div{text-align:inherit}#dm .dmSocialHub.alignedCenter .socialHubInnerDiv,#dm .dmSocialHub.alignedCenter h3{text-align:center}#dm .dmSocialHub.alignedRight .socialHubInnerDiv,#dm .dmSocialHub.alignedRight h3{text-align:right}
a span.socialHubIcon{width:44px;height:44px;font-size:27px;display:inline-block;text-align:center;margin-right:0;margin-bottom:5px;line-height:44px;box-sizing:border-box;background-image:none!important}
.socialHubIcon[class^=icon-]:before,[class*=" icon-"]:before{cursor:pointer}.socialHubIcon.style1{font-size:24px;border-radius:10px;color:#fff;position:relative;z-index:1}.socialHubIcon.style2{font-size:29px}
.socialHubIcon.style3{font-size:24px;border-radius:50%;border:3px solid #fff;color:#fff}.socialHubIcon.style4{font-size:24px;border-radius:10px;color:#fff;position:relative}.socialHubIcon.style5{color:#fff}
.socialHubIcon.style6,.socialHubIcon.style7{font-size:24px;border-radius:50%;color:#fff}.socialHubIcon.style7{border-radius:10px;position:relative;margin-bottom:10px}.socialHubIcon.style8{font-size:24px;border-radius:50%;color:#fff;background:#000}
.socialHubIcon.style9{color:#333;font-size:29px}@media(min-width:768px) and (max-width:1024px){.dmRoot #dm .dmStandardTablet .dmSocialHub.dmSocialHome .socialHubIcon{width:36px;height:36px;background-size:auto}
}#dm .dmSocialHub .socialHubWrapper{display:inline-block;max-width:100%}
/* Custom Widgets Styles */
/* ═══════════════════════════════════════════════════════════
   CSS CUSTOM PROPERTIES — LIGHT (default) & DARK themes
   ═══════════════════════════════════════════════════════════ */

.widget-a18995 {
  /* ── Light theme tokens ── */
  --bg-page:           #f5f7fa;
  --bg-card:           #ffffff;
  --bg-card-header:    #f8fafc;
  --bg-card-hover:     #f1f5f9;
  --bg-input:          #ffffff;
  --bg-summary:        #ffffff;
  --bg-feature-item:   #f8fafc;
  --bg-fee-item:       #f8fafc;
  --bg-receipt-item:   #f8fafc;
  --bg-db-item:        #f8fafc;
  --bg-modal:          #ffffff;
  --bg-tax-form:       #f0f7ff;
  --bg-mobile-item:    #f8fafc;

  --border-default:    #e2e8f0;
  --border-header:     #e2e8f0;
  --border-summary:    #f1f5f9;
  --border-tax-form:   #bfdbfe;

  --text-heading:      #1e293b;
  --text-body:         #475569;
  --text-muted:        #64748b;
  --text-label:        #94a3b8;
  --text-receipt-meta: #64748b;

  --accent-primary:    #1e40af;
  --accent-primary-h:  #1e3a8a;
  --accent-blue:       #3b82f6;
  --accent-blue-h:     #2563eb;
  --accent-green:      #10b981;
  --accent-green-h:    #059669;
  --accent-danger:     #ef4444;
  --accent-danger-h:   #dc2626;
  --accent-amber:      #f59e0b;

  --item-total-color:  #1e40af;
  --grand-total-color: #1e40af;
  --item-price-color:  #1e40af;
  --receipt-badge-bg:  #eff6ff;
  --receipt-badge-fg:  #1e40af;

  --btn-secondary-bg:  #e2e8f0;
  --btn-secondary-fg:  #334155;
  --btn-secondary-h:   #cbd5e1;
  --btn-action-bg:     #ffffff;
  --btn-action-fg:     #1e40af;
  --btn-reset-fg:      #94a3b8;
  --btn-reset-border:  #cbd5e1;

  --shadow-card:       0 2px 8px rgba(0,0,0,0.08);
  --shadow-summary:    0 4px 16px rgba(0,0,0,0.12);
  --shadow-modal:      0 20px 50px rgba(0,0,0,0.3);

  --toggle-off-bg:     #cbd5e1;

  --theme-btn-bg:      rgba(255,255,255,0.15);
  --theme-btn-border:  rgba(255,255,255,0.3);
  --theme-btn-fg:      #ffffff;

  --input-prefix-fg:   #64748b;
}

/* ── Dark theme overrides ── */
.widget-a18995[data-theme="dark"] {
  --bg-page:           #0f172a;
  --bg-card:           #1e293b;
  --bg-card-header:    #162032;
  --bg-card-hover:     #1a2840;
  --bg-input:          #0f172a;
  --bg-summary:        #1e293b;
  --bg-feature-item:   #162032;
  --bg-fee-item:       #162032;
  --bg-receipt-item:   #162032;
  --bg-db-item:        #162032;
  --bg-modal:          #1e293b;
  --bg-tax-form:       #162942;
  --bg-mobile-item:    #162032;

  --border-default:    #334155;
  --border-header:     #334155;
  --border-summary:    #1e3050;
  --border-tax-form:   #1d4ed8;

  --text-heading:      #f1f5f9;
  --text-body:         #94a3b8;
  --text-muted:        #64748b;
  --text-label:        #475569;
  --text-receipt-meta: #64748b;

  --accent-primary:    #3b82f6;
  --accent-primary-h:  #2563eb;
  --accent-blue:       #60a5fa;
  --accent-blue-h:     #3b82f6;
  --accent-green:      #34d399;
  --accent-green-h:    #10b981;
  --accent-danger:     #f87171;
  --accent-danger-h:   #ef4444;
  --accent-amber:      #fbbf24;

  --item-total-color:  #60a5fa;
  --grand-total-color: #60a5fa;
  --item-price-color:  #60a5fa;
  --receipt-badge-bg:  #1e3a6e;
  --receipt-badge-fg:  #93c5fd;

  --btn-secondary-bg:  #334155;
  --btn-secondary-fg:  #cbd5e1;
  --btn-secondary-h:   #475569;
  --btn-action-bg:     transparent;
  --btn-action-fg:     #60a5fa;
  --btn-reset-fg:      #475569;
  --btn-reset-border:  #334155;

  --shadow-card:       0 2px 8px rgba(0,0,0,0.4);
  --shadow-summary:    0 4px 20px rgba(0,0,0,0.5);
  --shadow-modal:      0 20px 60px rgba(0,0,0,0.7);

  --toggle-off-bg:     #334155;

  --theme-btn-bg:      rgba(0,0,0,0.25);
  --theme-btn-border:  rgba(255,255,255,0.15);
  --theme-btn-fg:      #e2e8f0;

  --input-prefix-fg:   #475569;
}

/* ═══════════════════════════════════════════════════════════
   BASE WIDGET
   ═══════════════════════════════════════════════════════════ */

.widget-a18995 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  padding: 20px;
  background: var(--bg-page);
  min-height: 100vh;
  transition: background 0.3s ease, color 0.3s ease;
}

.tire-calculator-container {
  max-width: 1400px;
  margin: 0 auto;
}

/* ── Header ── */
.calculator-header {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
  color: white;
  padding: 30px;
  border-radius: 12px;
  margin-bottom: 30px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
}

.widget-a18995[data-theme="dark"] .calculator-header {
  background: linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 100%);
}

.calculator-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
  gap: 15px;
}

/* ── Theme switcher button ── */
.theme-toggle-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: var(--theme-btn-bg);
  color: var(--theme-btn-fg);
  border: 1px solid var(--theme-btn-border);
  border-radius: 20px;
  cursor: pointer;
  font-size: 0.85em;
  font-weight: 600;
  white-space: nowrap;
  transition: background 0.2s, border-color 0.2s, transform 0.15s;
  backdrop-filter: blur(4px);
  flex-shrink: 0;
}

.theme-toggle-btn:hover {
  background: rgba(255,255,255,0.25);
  border-color: rgba(255,255,255,0.5);
  transform: translateY(-1px);
}

.theme-toggle-icon {
  font-size: 1em;
  transition: transform 0.4s ease;
}

.theme-toggle-btn:hover .theme-toggle-icon {
  transform: rotate(20deg);
}

/* ── Logo ── */
.logo-section {
  display: flex;
  align-items: center;
  gap: 10px;
}

.logo-wrapper {
  position: relative;
  display: inline-block;
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;
}

.shop-logo {
  max-height: 60px;
  display: block;
  border-radius: 8px;
  background: white;
  padding: 5px;
  transition: all 0.2s;
}

.logo-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  opacity: 0;
  transition: opacity 0.2s;
  border-radius: 8px;
}

.logo-wrapper:hover .logo-overlay {
  opacity: 1;
}

.logo-overlay-icon {
  font-size: 1.3em;
  line-height: 1;
}

.logo-overlay-text {
  font-size: 0.72em;
  font-weight: 600;
  color: white;
  white-space: nowrap;
  letter-spacing: 0.03em;
}

.calculator-title {
  font-size: 2em;
  margin: 0;
  font-weight: 700;
}

/* ── Layout ── */
.calculator-layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 30px;
}

@media (max-width: 1024px) {
  .calculator-layout {
    grid-template-columns: 1fr;
  }
}

/* ── Cards ── */
.card {
  background: var(--bg-card);
  border-radius: 12px;
  box-shadow: var(--shadow-card);
  margin-bottom: 20px;
  overflow: hidden;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.card-header {
  background: var(--bg-card-header);
  padding: 20px;
  border-bottom: 2px solid var(--border-header);
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background 0.3s ease;
}

.card-header.collapsible {
  cursor: pointer;
  user-select: none;
}

.card-header.collapsible:hover {
  background: var(--bg-card-hover);
}

.card-header h2 {
  margin: 0;
  font-size: 1.3em;
  color: var(--text-heading);
  font-weight: 700;
  transition: color 0.3s ease;
}

.collapse-icon {
  font-size: 1.5em;
  font-weight: bold;
  color: var(--text-muted);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 15px;
}

.card-body {
  padding: 20px;
}

/* ── Input Fields ── */
.input-field {
  width: 100%;
  padding: 12px;
  border: 2px solid var(--border-default);
  border-radius: 8px;
  font-size: 1em;
  background: var(--bg-input);
  color: var(--text-heading);
  transition: all 0.2s;
  box-sizing: border-box;
}

.input-field:focus {
  outline: none;
  border-color: var(--accent-blue);
  box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
}

.input-field.input-error {
  border-color: var(--accent-danger);
  box-shadow: 0 0 0 3px rgba(239,68,68,0.1);
}

/* Dark mode — select options need explicit bg */
.widget-a18995[data-theme="dark"] select.input-field option {
  background: #1e293b;
  color: #f1f5f9;
}

.input-error-msg {
  color: var(--accent-danger);
  font-size: 0.78em;
  margin-top: 3px;
  display: none;
}

.input-error-msg.show {
  display: block;
}

.receipt-number {
  margin-top: 10px;
  font-size: 0.9em;
  color: var(--text-muted);
  font-weight: 600;
}

/* ── Line Item Column Headers ── */
.line-item-header {
  display: grid;
  grid-template-columns: 2fr 100px 120px 120px 40px;
  gap: 10px;
  margin-bottom: 8px;
  padding: 0 2px;
}

.line-item-header span {
  font-size: 0.78em;
  font-weight: 700;
  color: var(--text-label);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ── Line Items ── */
.line-item {
  display: grid;
  grid-template-columns: 2fr 100px 120px 120px 40px;
  gap: 10px;
  margin-bottom: 12px;
  align-items: center;
}

.item-input {
  padding: 10px;
  border: 2px solid var(--border-default);
  border-radius: 6px;
  font-size: 0.95em;
  background: var(--bg-input);
  color: var(--text-heading);
  transition: border-color 0.2s, background 0.3s;
  width: 100%;
  box-sizing: border-box;
}

.item-input:focus {
  outline: none;
  border-color: var(--accent-blue);
}

.item-input.input-error {
  border-color: var(--accent-danger);
}

/* Price $ prefix */
.price-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.price-input-wrap .price-prefix {
  position: absolute;
  left: 10px;
  color: var(--input-prefix-fg);
  font-size: 0.9em;
  font-weight: 600;
  pointer-events: none;
  z-index: 1;
}

.price-input-wrap .item-input {
  padding-left: 22px;
}

.item-total {
  font-weight: 700;
  color: var(--item-total-color);
  font-size: 1.05em;
  text-align: right;
  padding-right: 4px;
  transition: color 0.3s;
}

/* ── Buttons ── */
.btn-primary,
.btn-primary-small,
.btn-secondary,
.btn-secondary-small,
.btn-action,
.btn-reset,
.btn-reset-ghost,
.btn-sync {
  padding: 12px 24px;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 1em;
}

.btn-primary {
  background: var(--accent-primary);
  color: white;
  width: 100%;
  margin-bottom: 10px;
  padding: 14px 24px;
}

.btn-primary:hover {
  background: var(--accent-primary-h);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(30,64,175,0.3);
}

.btn-primary-small,
.btn-secondary-small {
  padding: 8px 16px;
  font-size: 0.9em;
}

.btn-primary-small {
  background: var(--accent-blue);
  color: white;
}

.btn-primary-small:hover {
  background: var(--accent-blue-h);
}

.btn-secondary-small {
  background: var(--btn-secondary-bg);
  color: var(--btn-secondary-fg);
}

.btn-secondary-small:hover {
  background: var(--btn-secondary-h);
}

.btn-sync {
  background: var(--accent-green);
  color: white;
  padding: 8px 16px;
  font-size: 0.9em;
}

.btn-sync:hover {
  background: var(--accent-green-h);
}

.btn-sync:disabled {
  background: var(--text-muted);
  cursor: not-allowed;
}

.btn-secondary {
  background: var(--btn-secondary-bg);
  color: var(--btn-secondary-fg);
  width: 100%;
  margin-top: 10px;
  padding: 10px 24px;
}

.btn-secondary:hover {
  background: var(--btn-secondary-h);
}

.btn-secondary-inline {
  padding: 10px 20px;
  background: var(--btn-secondary-bg);
  color: var(--btn-secondary-fg);
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 1em;
}

.btn-secondary-inline:hover {
  background: var(--btn-secondary-h);
}

.btn-action {
  background: var(--btn-action-bg);
  color: var(--btn-action-fg);
  border: 2px solid var(--accent-primary);
  flex: 1;
  padding: 10px 16px;
  font-size: 0.95em;
}

.btn-action:hover {
  background: var(--accent-primary);
  color: white;
}

.btn-reset-ghost {
  background: transparent;
  color: var(--btn-reset-fg);
  border: 1.5px dashed var(--btn-reset-border);
  width: 100%;
  padding: 9px 16px;
  font-size: 0.88em;
  font-weight: 500;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  margin-top: 4px;
  letter-spacing: 0.02em;
}

.btn-reset-ghost:hover {
  color: var(--accent-danger);
  border-color: var(--accent-danger);
  background: rgba(239,68,68,0.05);
}

.btn-reset {
  background: var(--accent-danger);
  color: white;
  flex: 1;
}

.btn-reset:hover {
  background: var(--accent-danger-h);
}

.btn-delete,
.btn-delete-fee,
.btn-delete-feature {
  background: var(--accent-danger);
  color: white;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  font-size: 1.5em;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-delete:hover,
.btn-delete-fee:hover,
.btn-delete-feature:hover {
  background: var(--accent-danger-h);
  transform: scale(1.1);
}

.btn-danger-solid {
  padding: 10px 20px;
  background: var(--accent-danger);
  color: white;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 1em;
}

.btn-danger-solid:hover {
  background: var(--accent-danger-h);
}

.action-row {
  display: flex;
  gap: 8px;
  width: 100%;
  margin-bottom: 8px;
}

/* ── Toggle Switch ── */
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 56px;
  height: 30px;
  flex-shrink: 0;
}

.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: var(--toggle-off-bg);
  transition: 0.3s;
  border-radius: 30px;
}

.toggle-slider:before {
  position: absolute;
  content: "";
  height: 22px;
  width: 22px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: 0.3s;
  border-radius: 50%;
}

.toggle-switch input:checked + .toggle-slider {
  background-color: var(--accent-primary);
}

.toggle-switch input:checked + .toggle-slider:before {
  transform: translateX(26px);
}

/* ── Empty / No-item states ── */
.no-features, .no-items, .no-receipts {
  text-align: center;
  color: var(--text-muted);
  padding: 20px;
  font-style: italic;
}

.empty-state-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 28px 20px;
  color: var(--text-muted);
}

.empty-state-cta p {
  margin: 0;
  font-style: italic;
  font-size: 0.95em;
}

.empty-state-cta button {
  padding: 8px 18px;
  background: var(--accent-blue);
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9em;
  transition: all 0.2s;
}

.empty-state-cta button:hover {
  background: var(--accent-blue-h);
}

/* ── Feature Items ── */
.feature-item {
  border: 2px solid var(--border-default);
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
  background: var(--bg-feature-item);
  transition: background 0.3s, border-color 0.3s;
}

.feature-header {
  display: flex;
  gap: 15px;
  margin-bottom: 15px;
  align-items: flex-start;
}

.feature-main-info {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
}

.feature-label-input {
  flex: 1;
  padding: 10px;
  border: 2px solid var(--border-default);
  border-radius: 6px;
  font-weight: 600;
  font-size: 1.05em;
  background: var(--bg-input);
  color: var(--text-heading);
  transition: border-color 0.2s, background 0.3s;
}

.feature-label-input:focus {
  outline: none;
  border-color: var(--accent-blue);
}

.btn-lock {
  background: none;
  border: none;
  font-size: 1.2em;
  cursor: pointer;
  padding: 5px;
  flex-shrink: 0;
  opacity: 0.7;
  transition: opacity 0.2s;
}

.btn-lock:hover {
  opacity: 1;
}

.feature-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-left: 71px;
}

.feature-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.feature-field label {
  font-size: 0.9em;
  color: var(--text-muted);
  font-weight: 600;
}

.feature-description,
.feature-note,
.feature-calc-type {
  padding: 8px;
  border: 2px solid var(--border-default);
  border-radius: 6px;
  width: 100%;
  background: var(--bg-input);
  color: var(--text-heading);
  transition: border-color 0.2s, background 0.3s;
}

.feature-description:focus,
.feature-note:focus,
.feature-calc-type:focus {
  outline: none;
  border-color: var(--accent-blue);
}

.feature-calc-inputs {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.feature-input-group {
  display: flex;
  align-items: center;
  gap: 5px;
}

.feature-input-group label {
  font-size: 0.9em;
  color: var(--text-muted);
  white-space: nowrap;
}

.feature-input-group span {
  color: var(--text-muted);
}

.feature-input-group input {
  padding: 8px;
  border: 2px solid var(--border-default);
  border-radius: 6px;
  width: 100px;
  background: var(--bg-input);
  color: var(--text-heading);
  transition: border-color 0.2s, background 0.3s;
}

.feature-input-group input:focus {
  outline: none;
  border-color: var(--accent-blue);
}

.feature-percentage,
.feature-fixed,
.feature-per-tire {
  width: 100px;
}

/* ── Fee Items ── */
.fee-item {
  border: 2px solid var(--border-default);
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
  background: var(--bg-fee-item);
  transition: background 0.3s, border-color 0.3s;
}

.fee-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}

.fee-label {
  flex: 1;
  padding: 8px;
  border: 2px solid var(--border-default);
  border-radius: 6px;
  font-weight: 600;
  background: var(--bg-input);
  color: var(--text-heading);
  transition: border-color 0.2s, background 0.3s;
}

.fee-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.fee-input-group {
  display: flex;
  align-items: center;
  gap: 5px;
}

.fee-input-group label {
  font-size: 0.9em;
  color: var(--text-muted);
  white-space: nowrap;
}

.fee-input-group span {
  color: var(--text-muted);
}

.fee-input-group input {
  flex: 1;
  padding: 8px;
  border: 2px solid var(--border-default);
  border-radius: 6px;
  background: var(--bg-input);
  color: var(--text-heading);
  transition: border-color 0.2s, background 0.3s;
}

.fee-percentage,
.fee-cap {
  width: 100px;
}

.btn-add-fee {
  padding: 8px 16px;
  background: var(--accent-green);
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9em;
  transition: all 0.2s;
}

.btn-add-fee:hover {
  background: var(--accent-green-h);
}

/* ── Tax ── */
.tax-manager {
  margin-top: 15px;
}

.tax-rate-item {
  display: grid;
  grid-template-columns: 2fr 1fr auto 40px;
  gap: 10px;
  margin-bottom: 10px;
  align-items: center;
}

.tax-name,
.tax-rate {
  padding: 8px;
  border: 2px solid var(--border-default);
  border-radius: 6px;
  background: var(--bg-input);
  color: var(--text-heading);
  transition: border-color 0.2s, background 0.3s;
}

.tax-rate-item span {
  color: var(--text-muted);
}

/* Inline Add Tax Form */
.add-tax-form {
  margin-top: 12px;
  background: var(--bg-tax-form);
  border: 2px solid var(--border-tax-form);
  border-radius: 8px;
  padding: 14px;
  transition: background 0.3s, border-color 0.3s;
}

.add-tax-fields {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
}

.tax-rate-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.tax-rate-input-wrap .input-field {
  padding-right: 28px;
}

.input-unit {
  position: absolute;
  right: 12px;
  color: var(--text-muted);
  font-size: 0.9em;
  font-weight: 600;
  pointer-events: none;
}

.add-tax-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

/* ── Summary Panel ── */
.summary-panel {
  position: relative;
}

.summary-sticky {
  position: sticky;
  top: 20px;
  background: var(--bg-summary);
  border-radius: 12px;
  padding: 25px;
  box-shadow: var(--shadow-summary);
  transition: background 0.3s, box-shadow 0.3s;
}

.summary-title {
  font-size: 1.5em;
  margin: 0 0 20px 0;
  color: var(--text-heading);
  font-weight: 700;
  transition: color 0.3s;
}

.summary-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  color: var(--text-body);
  font-size: 1em;
  border-bottom: 1px solid var(--border-summary);
  transition: color 0.3s, border-color 0.3s;
}

.summary-line:last-of-type {
  border-bottom: none;
}

.summary-divider {
  height: 2px;
  background: var(--border-default);
  margin: 15px 0;
  transition: background 0.3s;
}

.summary-total {
  display: flex;
  justify-content: space-between;
  padding: 16px 0 20px;
  font-size: 1.5em;
  font-weight: 700;
  color: var(--grand-total-color);
  transition: color 0.3s;
}

@keyframes totalFlash {
  0%   { opacity: 1; }
  30%  { opacity: 0.4; transform: scale(1.06); }
  100% { opacity: 1; transform: scale(1); }
}

.grand-total-flash {
  animation: totalFlash 0.35s ease-out;
}

/* Info tooltip */
.info-tooltip {
  display: inline-block;
  width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  background: var(--border-default);
  color: var(--text-muted);
  border-radius: 50%;
  font-size: 0.72em;
  cursor: help;
  vertical-align: middle;
  margin: 0 2px;
  transition: background 0.2s;
}

.info-tooltip:hover {
  background: var(--accent-blue);
  color: white;
}

/* Cost Breakdown Bar */
.cost-breakdown {
  margin: 0 0 18px;
}

.cost-breakdown-bar {
  display: flex;
  height: 8px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 8px;
}

.cost-breakdown-bar .bar-seg {
  transition: width 0.4s ease;
}

.cost-breakdown-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cost-breakdown-legend .legend-item {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.75em;
  color: var(--text-muted);
}

.legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* ── Action Buttons ── */
.action-buttons {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 20px;
}

.action-buttons-mobile {
  display: none;
}

@media (max-width: 1024px) {
  .action-buttons { display: none; }
  .action-buttons-mobile {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .action-buttons-mobile { display: flex; }
}

/* ── Saved Receipts ── */
.saved-receipts-section {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 2px solid var(--border-default);
  transition: border-color 0.3s;
}

.saved-receipts-title {
  font-size: 1.2em;
  margin: 0 0 15px 0;
  color: var(--text-heading);
  font-weight: 700;
  transition: color 0.3s;
}

.saved-receipt-item {
  background: var(--bg-receipt-item);
  border: 2px solid var(--border-default);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: border-color 0.2s, background 0.3s;
}

.saved-receipt-item:hover {
  border-color: var(--accent-blue);
}

.receipt-info {
  flex: 1;
}

.receipt-info strong {
  display: block;
  color: var(--text-heading);
  margin-bottom: 4px;
  transition: color 0.3s;
}

.receipt-meta {
  font-size: 0.85em;
  color: var(--text-receipt-meta);
  margin-right: 10px;
}

.receipt-total-badge {
  display: inline-block;
  background: var(--receipt-badge-bg);
  color: var(--receipt-badge-fg);
  font-size: 0.85em;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  margin-top: 4px;
  transition: background 0.3s, color 0.3s;
}

.receipt-actions {
  display: flex;
  gap: 8px;
}

.btn-load-receipt {
  padding: 6px 12px;
  background: var(--accent-blue);
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9em;
  font-weight: 600;
  transition: background 0.2s;
}

.btn-load-receipt:hover {
  background: var(--accent-blue-h);
}

.btn-delete-receipt {
  padding: 6px 12px;
  background: var(--accent-danger);
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1.2em;
  font-weight: bold;
  transition: background 0.2s;
}

.btn-delete-receipt:hover {
  background: var(--accent-danger-h);
}

/* ── Modals ── */
.modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}

.modal-overlay.hidden {
  display: none;
}

.modal-content {
  background: var(--bg-modal);
  border-radius: 12px;
  max-width: 700px;
  width: 100%;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-modal);
  transition: background 0.3s;
}

.modal-confirm {
  max-width: 420px;
}

.modal-header {
  padding: 20px 25px;
  border-bottom: 2px solid var(--border-default);
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: border-color 0.3s;
}

.modal-header h2 {
  margin: 0;
  font-size: 1.5em;
  color: var(--text-heading);
  transition: color 0.3s;
}

.modal-close {
  background: none;
  border: none;
  font-size: 2em;
  color: var(--text-muted);
  cursor: pointer;
  line-height: 1;
  padding: 0;
  width: 32px;
  height: 32px;
  transition: color 0.2s;
}

.modal-close:hover {
  color: var(--text-heading);
}

.modal-body {
  padding: 25px;
  overflow-y: auto;
  flex: 1;
}

.modal-body p {
  margin: 0;
  color: var(--text-body);
  font-size: 1em;
  line-height: 1.6;
  transition: color 0.3s;
}

.modal-footer {
  padding: 20px 25px;
  border-top: 2px solid var(--border-default);
  display: flex;
  justify-content: space-between;
  gap: 10px;
  transition: border-color 0.3s;
}

.modal-footer-confirm {
  justify-content: flex-end;
}

.search-bar {
  margin-bottom: 20px;
}

.items-list {
  max-height: 400px;
  overflow-y: auto;
}

/* ── Database Items ── */
.database-item {
  background: var(--bg-db-item);
  border: 2px solid var(--border-default);
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s;
}

.database-item:hover {
  border-color: var(--accent-blue);
  box-shadow: 0 2px 8px rgba(59,130,246,0.1);
}

.database-item.editing-mode {
  background: var(--bg-tax-form);
  border-color: var(--accent-blue);
}

.item-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.item-name-row {
  display: flex;
  align-items: center;
}

.item-info strong {
  color: var(--text-heading);
  font-size: 1.05em;
  transition: color 0.3s;
}

.edit-item-name {
  width: 100%;
  padding: 8px;
  border: 2px solid var(--accent-blue);
  border-radius: 6px;
  font-size: 1em;
  font-weight: 600;
  background: var(--bg-input);
  color: var(--text-heading);
}

.edit-item-name:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.1);
}

.item-details-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.item-price {
  color: var(--item-price-color);
  font-weight: 600;
  font-size: 1.1em;
  transition: color 0.3s;
}

.edit-price-group {
  display: flex;
  align-items: center;
  gap: 5px;
}

.edit-price-group span {
  font-weight: 600;
  color: var(--item-price-color);
}

.edit-item-price {
  width: 120px;
  padding: 8px;
  border: 2px solid var(--accent-blue);
  border-radius: 6px;
  font-size: 1em;
  font-weight: 600;
  background: var(--bg-input);
  color: var(--text-heading);
}

.edit-item-price:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.1);
}

.item-badge {
  display: inline-block;
  background: var(--accent-green);
  color: white;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.75em;
  font-weight: 600;
}

.item-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.item-qty-input {
  width: 60px;
  padding: 6px;
  border: 2px solid var(--border-default);
  border-radius: 6px;
  text-align: center;
  font-weight: 600;
  background: var(--bg-input);
  color: var(--text-heading);
  transition: border-color 0.2s, background 0.3s;
}

.btn-add-item {
  padding: 8px 16px;
  background: var(--accent-blue);
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9em;
  transition: all 0.2s;
}

.btn-add-item:hover {
  background: var(--accent-blue-h);
}

.btn-edit-item {
  padding: 6px 10px;
  background: var(--accent-amber);
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1em;
  transition: all 0.2s;
}

.btn-edit-item:hover {
  filter: brightness(0.9);
}

.btn-save-item {
  padding: 8px 16px;
  background: var(--accent-green);
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9em;
  transition: all 0.2s;
}

.btn-save-item:hover {
  background: var(--accent-green-h);
}

.btn-cancel-edit {
  padding: 8px 16px;
  background: var(--text-muted);
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9em;
  transition: all 0.2s;
}

.btn-cancel-edit:hover {
  filter: brightness(0.85);
}

.btn-delete-item {
  padding: 6px 12px;
  background: var(--accent-danger);
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1.2em;
  font-weight: bold;
  transition: all 0.2s;
}

.btn-delete-item:hover {
  background: var(--accent-danger-h);
}

.btn-danger-outline {
  padding: 10px 20px;
  background: transparent;
  color: var(--accent-danger);
  border: 2px solid var(--accent-danger);
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.2s;
}

.btn-danger-outline:hover {
  background: var(--accent-danger);
  color: white;
}

/* ── Toast Notification ── */
.toast {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  background: #1e293b;
  color: white;
  padding: 12px 24px;
  border-radius: 10px;
  font-size: 0.95em;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}

.toast.toast-show {
  opacity: 1;
  transform: translateX(-50%) translateY(-6px);
}

.toast.toast-success { background: #065f46; }
.toast.toast-error   { background: #7f1d1d; }
.toast.toast-info    { background: #1e3a8a; }

.toast-icon {
  font-size: 1.1em;
}

/* ── Google Sheets Sync Spinner ── */
.sync-spinner {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 2px solid rgba(255,255,255,0.4);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
  vertical-align: middle;
  margin-right: 4px;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ── Mobile Responsive ── */
@media (max-width: 767px) {
  .calculator-header { padding: 20px; }
  .calculator-title  { font-size: 1.5em; }
  .line-item-header  { display: none; }

  .line-item {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 15px;
    background: var(--bg-mobile-item);
    border-radius: 8px;
    margin-bottom: 15px;
    border: 1px solid var(--border-default);
  }

  .line-item .mobile-label {
    display: block;
    font-size: 0.72em;
    font-weight: 700;
    color: var(--text-label);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 3px;
  }

  .item-total { text-align: right; }
  .feature-body { padding-left: 0; }
  .feature-calc-inputs { flex-direction: column; }
  .fee-inputs { grid-template-columns: 1fr; }
  .tax-rate-item { grid-template-columns: 1fr; }
  .add-tax-fields { grid-template-columns: 1fr; }
  .summary-sticky { position: static; }
  .modal-content { max-height: 90vh; }

  .database-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .item-info { width: 100%; }
  .item-actions { width: 100%; justify-content: flex-end; }

  .calculator-header-top {
    flex-wrap: wrap;
  }
}

@media (min-width: 768px) {
  .mobile-label { display: none !important; }
}

/* ── Print ── */
@media print {
  .action-buttons,
  .action-buttons-mobile,
  .btn-delete,
  .btn-delete-fee,
  .btn-delete-feature,
  .btn-lock,
  .upload-logo-btn,
  .btn-edit-item,
  .theme-toggle-btn {
    display: none !important;
  }
  .calculator-layout { grid-template-columns: 1fr; }
  .card { page-break-inside: avoid; }
}

/* ── Utility ── */
.hidden {
  display: none !important;
}


@charset "UTF-8";
.widget-03af7a {
  /* ─────────────────────────────────────────
     OUTER CARD — VERTICAL (default)
  ───────────────────────────────────────── */
  /* ─────────────────────────────────────────
     HERO BANNER — VERTICAL
  ───────────────────────────────────────── */
  /* Soft gradient bridge from banner to body */
  /* Hero text block — vertical mode */
  /* ─────────────────────────────────────────
     TIRE IMAGE — floats over both sections
  ───────────────────────────────────────── */
  /* ─────────────────────────────────────────
     WHITE BODY — VERTICAL
  ───────────────────────────────────────── */
  /* ─────────────────────────────────────────
     SEARCH OPTION LIST — VERTICAL
  ───────────────────────────────────────── */
  /* Vertical card: 3-column grid (icon | text | arrow) */
  /* Link wrapper becomes a transparent grid pass-through */
  /* Focus-visible ring for keyboard navigation */
  /* Col 1: Icon circle */
  /* Col 2: Text */
  /* Col 3: Arrow */
  /* ─────────────────────────────────────────
     EMPTY STATE
  ───────────────────────────────────────── */
  /* ─────────────────────────────────────────
     TITLE VERTICAL ALIGNMENT
  ───────────────────────────────────────── */
  /* ═══════════════════════════════════════════
     HORIZONTAL BAR LAYOUT
     .layout-horizontal on .tire-search-widget
  ═══════════════════════════════════════════ */
  /* Hide tire image in horizontal mode */
  /* Widget becomes a horizontal flex row */
  /* Hide gradient bridge in horizontal mode */
  /* Banner = compact left column */
  /* Body = right column, full height */
  /* Options list — vertical stack inside horizontal layout */
  /* ─────────────────────────────────────────
     3-COLUMN GRID — horizontal + columns mode
  ───────────────────────────────────────── */
  /* Each column evenly shares the width — cards retain row design */
  /* ─────────────────────────────────────────
     RESPONSIVE
  ───────────────────────────────────────── */
}
.widget-03af7a .tire-search-widget {
  position: relative;
  background: #ffffff;
  border-radius: 24px;
  overflow: visible;
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.16);
  font-family: inherit;
  --tire-accent: #e55a2b;
  /* Unified spacing between hero (colored row) and list */
  --tire-hero-to-list-gap: 24px;
  --tire-hero-image-clearance: 0px;
}
.widget-03af7a .tire-hero-banner {
  position: relative;
  background: linear-gradient(145deg, #1a1a2e 0%, #16213e 40%, #0f3460 100%);
  border-radius: 24px 24px 0 0;
  min-height: 210px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px 28px 0;
  z-index: 1;
}
.widget-03af7a .tire-hero-banner::after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: 0;
  right: 0;
  height: 36px;
  background: linear-gradient(to bottom, rgba(15, 52, 96, 0.18) 0%, transparent 100%);
  pointer-events: none;
  z-index: 3;
}
.widget-03af7a .tire-bg-circle {
  position: absolute;
  border-radius: 50%;
  opacity: 0.06;
  background: #ffffff;
  pointer-events: none;
}
.widget-03af7a .tire-bg-circle--1 {
  width: 260px;
  height: 260px;
  top: -80px;
  right: -60px;
}
.widget-03af7a .tire-bg-circle--2 {
  width: 160px;
  height: 160px;
  bottom: 20px;
  left: -40px;
}
.widget-03af7a .tire-hero-text {
  position: relative;
  z-index: 2;
  max-width: 55%;
  padding-bottom: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.widget-03af7a .tire-hero-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tire-accent);
  margin-bottom: 6px;
}
.widget-03af7a .tire-search-title {
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0.05em;
  color: #ffffff !important;
  margin: 0;
  text-transform: uppercase;
  line-height: 1.1;
}
.widget-03af7a .tire-hero-image-wrap {
  position: absolute;
  right: -10px;
  top: 20px;
  width: 240px;
  height: 260px;
  z-index: 10;
  pointer-events: none;
}
.widget-03af7a .tire-hero-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  filter: drop-shadow(-8px 12px 18px rgba(0, 0, 0, 0.45));
  display: block;
}
.widget-03af7a .tire-search-body {
  position: relative;
  z-index: 2;
  background: #ffffff;
  border-radius: 0 0 24px 24px;
  /* Keep the list at a consistent distance from the colored hero row,
     while adding just enough clearance if the tire image overlaps more. */
  padding: calc(var(--tire-hero-to-list-gap) + var(--tire-hero-image-clearance)) 20px 28px;
}
.widget-03af7a .tire-search-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.widget-03af7a .tire-search-item {
  background: #f8f9fb;
  border: 1.5px solid #eaedf1;
  border-radius: 14px;
  cursor: pointer;
  display: grid;
  grid-template-columns: 60px 1fr 40px;
  grid-template-rows: 1fr;
  align-items: center;
  min-height: 68px;
  transition: box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease, transform 0.12s ease;
  overflow: hidden;
}
.widget-03af7a .tire-search-item:hover {
  background: #ffffff;
  border-color: var(--tire-accent);
  box-shadow: 0 6px 24px rgba(229, 90, 43, 0.12);
}
.widget-03af7a .tire-search-item:active {
  transform: scale(0.985);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
.widget-03af7a .tire-search-item > *,
.widget-03af7a .tire-search-item > * > a {
  display: contents;
}
.widget-03af7a .tire-search-item > * > a,
.widget-03af7a .tire-search-item > a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.widget-03af7a .tire-search-item:focus-within {
  outline: 2px solid var(--tire-accent);
  outline-offset: 2px;
}
.widget-03af7a .tire-item-icon-wrap {
  grid-column: 1;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #eef0f4;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  align-self: center;
  transition: background 0.22s ease, transform 0.22s ease;
}
.widget-03af7a .tire-search-item:hover .tire-item-icon-wrap {
  background: rgba(229, 90, 43, 0.1);
  transform: scale(1.07);
}
.widget-03af7a .tire-item-icon {
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.widget-03af7a .tire-item-icon svg {
  width: 26px;
  height: 26px;
  fill: currentColor;
  stroke: currentColor;
  display: block;
}
.widget-03af7a .tire-item-content {
  grid-column: 2;
  min-width: 0;
  padding: 14px 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  justify-content: center;
  align-self: center;
}
.widget-03af7a .tire-item-label {
  display: block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.05em;
  color: #111827;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}
.widget-03af7a .tire-item-sublabel {
  display: block;
  font-size: 11.5px;
  font-weight: 400;
  color: #7b8494;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}
.widget-03af7a .tire-item-arrow {
  grid-column: 3;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  align-self: center;
  color: var(--tire-accent);
  transition: transform 0.22s ease;
}
.widget-03af7a .tire-search-item:hover .tire-item-arrow {
  transform: translateX(4px);
}
.widget-03af7a .tire-item-arrow svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  display: block;
}
.widget-03af7a .tire-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 24px 16px;
  text-align: center;
}
.widget-03af7a .tire-empty-state svg {
  width: 40px;
  height: 40px;
  color: #c8d0da;
}
.widget-03af7a .tire-empty-state p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #9ca3af;
}
.widget-03af7a .tire-hero-banner.valign-top {
  justify-content: flex-start;
}
.widget-03af7a .tire-hero-banner.valign-top .tire-hero-text {
  padding-top: 0;
  padding-bottom: 0;
}
.widget-03af7a .tire-hero-banner.valign-middle {
  justify-content: center;
}
.widget-03af7a .tire-hero-banner.valign-middle .tire-hero-text {
  padding-bottom: 0;
}
.widget-03af7a .layout-horizontal .tire-hero-image-wrap {
  display: none;
}
.widget-03af7a .tire-search-widget.layout-horizontal {
  max-width: 100%;
  border-radius: 20px;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  overflow: hidden;
}
.widget-03af7a .layout-horizontal .tire-hero-banner::after {
  display: none;
}
.widget-03af7a .layout-horizontal .tire-hero-banner {
  border-radius: 0;
  min-height: unset;
  width: 220px;
  flex-shrink: 0;
  justify-content: center;
  align-items: flex-start;
  padding: 24px 20px 24px 24px;
}
.widget-03af7a .layout-horizontal .tire-hero-text {
  max-width: 100%;
  padding-bottom: 0;
  justify-content: center;
}
.widget-03af7a .layout-horizontal .tire-bg-circle--1 {
  width: 180px;
  height: 180px;
  top: -60px;
  right: -50px;
}
.widget-03af7a .layout-horizontal .tire-bg-circle--2 {
  width: 110px;
  height: 110px;
  bottom: -30px;
  left: -30px;
}
.widget-03af7a .layout-horizontal .tire-search-body {
  flex: 1;
  min-width: 0;
  border-radius: 0;
  padding: 16px 20px;
  display: flex;
  align-items: center;
}
.widget-03af7a .layout-horizontal .tire-search-options {
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.widget-03af7a .layout-horizontal.layout-columns .tire-search-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: auto;
  gap: 10px;
  align-items: stretch;
}
.widget-03af7a .layout-horizontal.layout-columns .tire-search-item {
  width: 100%;
}
@media (max-width: 600px) {
  .widget-03af7a {
    /* Vertical */
    /* Horizontal on small screens: stack banner above body */
    /* 3-column grid collapses to 1 column on small screens */
  }
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) {
    max-width: 100%;
    border-radius: 20px;
  }
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) .tire-hero-banner {
    border-radius: 20px 20px 0 0;
    min-height: 180px;
    padding: 22px 20px 0;
  }
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) .tire-search-title {
    font-size: 20px;
  }
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) .tire-hero-text {
    padding-bottom: 80px;
  }
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) .tire-hero-image-wrap {
    width: 180px;
    height: 200px;
    top: 20px;
    right: -6px;
  }
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) .tire-search-body {
    padding: calc(var(--tire-hero-to-list-gap) + var(--tire-hero-image-clearance)) 14px 20px;
    border-radius: 0 0 20px 20px;
  }
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) .tire-search-item {
    grid-template-columns: 52px 1fr 34px;
    min-height: 60px;
  }
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) .tire-item-icon-wrap {
    width: 38px;
    height: 38px;
  }
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) .tire-item-icon,
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) .tire-item-icon svg {
    width: 20px;
    height: 20px;
  }
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) .tire-item-label {
    font-size: 12px;
  }
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) .tire-item-sublabel {
    font-size: 11px;
  }
  .widget-03af7a .tire-search-widget:not(.layout-horizontal) .tire-item-arrow svg {
    width: 18px;
    height: 18px;
  }
  .widget-03af7a .tire-search-widget.layout-horizontal {
    flex-direction: column;
  }
  .widget-03af7a .layout-horizontal .tire-hero-banner {
    width: 100%;
    border-radius: 20px 20px 0 0;
    min-height: 100px;
    padding: 20px 24px;
    justify-content: center;
  }
  .widget-03af7a .layout-horizontal .tire-search-body {
    border-radius: 0 0 20px 20px;
    padding: 14px;
  }
  .widget-03af7a .layout-horizontal.layout-columns .tire-search-options {
    grid-template-columns: 1fr;
  }
}

/* ── Background animation keyframes ── */
@keyframes kenBurns {
  0%   { transform: scale(1.15) translate(-2%, 2%); }
  100% { transform: scale(1.0)  translate(2%, -2%); }
}
@keyframes kenBurnsReverse {
  0%   { transform: scale(1.0)  translate(2%, -2%); }
  100% { transform: scale(1.15) translate(-2%, 2%); }
}
@keyframes panLeft {
  0%   { transform: scale(1.08) translateX(-4%); }
  100% { transform: scale(1.08) translateX(4%);  }
}
@keyframes panRight {
  0%   { transform: scale(1.08) translateX(4%);  }
  100% { transform: scale(1.08) translateX(-4%); }
}
@keyframes pulseZoom {
  0%   { transform: scale(1.0); }
  100% { transform: scale(1.12); }
}

/* ── Tire entry animation keyframes ── */
@keyframes tireSlideUp {
  from { opacity: 0; transform: translateY(60px); }
  to   { opacity: 1; transform: translateY(0);    }
}
@keyframes tireSlideIn {
  from { opacity: 0; transform: translateX(-60px); }
  to   { opacity: 1; transform: translateX(0);     }
}
@keyframes tireFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes tireSpinIn {
  from { opacity: 0; transform: rotate(-180deg) scale(0.4); }
  to   { opacity: 1; transform: rotate(0deg)    scale(1);   }
}
@keyframes tireBounceIn {
  from { opacity: 0; transform: scale(0.5) translateY(40px); }
  to   { opacity: 1; transform: scale(1)   translateY(0);    }
}

.widget-3067e0 {

  /* ── Wrapper ── */
  .tire-hero-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 380px;
    margin-bottom: 40px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
  }

  /* Dark overlay */
  .hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
    pointer-events: none;
  }

  /* ── Particle Canvas ── */
  .particle-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
  }

  /* ── Background animation layer ── */
  .bg-anim-layer {
    position: absolute;
    inset: -10%;
    background-size: cover;
    background-position: center;
    z-index: 0;
    /* will-change applied by JS only when animation is active */
  }

  /* ── Column order ── */
  .tire-hero-wrapper.order-default {
    flex-direction: row;
  }
  .tire-hero-wrapper.order-swap {
    flex-direction: row-reverse;
  }

  /* ── No-tire mode: content fills entire hero ── */
  .tire-hero-wrapper.no-tire {
    align-items: stretch;
    justify-content: center;
  }
  .tire-hero-wrapper.no-tire,
  .tire-hero-wrapper.no-tire.order-default,
  .tire-hero-wrapper.no-tire.order-swap {
    flex-direction: column !important;
  }
  .tire-hero-wrapper.no-tire .content-panel {
    position: relative;
    z-index: 3;
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 48px 60px 68px;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .tire-hero-wrapper.no-tire .content-panel .hero-heading,
  .tire-hero-wrapper.no-tire .content-panel .hero-subheadline,
  .tire-hero-wrapper.no-tire .content-panel .hero-subtext,
  .tire-hero-wrapper.no-tire .content-panel .hero-disclaimer,
  .tire-hero-wrapper.no-tire .content-panel .brands-label,
  .tire-hero-wrapper.no-tire .content-panel .brands-grid {
    width: 100%;
  }
  .tire-hero-wrapper.no-tire .cta-button-wrapper {
    justify-content: center;
  }

  /* ── Tire Image Column ── */
  .tire-image-col {
    position: relative;
    z-index: 3;
    flex: 0 0 42%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 20px;
    min-height: 260px;
    box-sizing: border-box;
  }

  .tire-img {
    width: 100%;
    max-width: 400px;
    height: auto;
    display: block;
    object-fit: contain;
    margin-bottom: -4px;
    filter: drop-shadow(4px 4px 16px rgba(0,0,0,0.75));
  }

  /* ── Tire entry animation classes ── */
  .tire-img.anim-slide-up {
    animation: tireSlideUp var(--tire-anim-duration, 0.9s) cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .tire-img.anim-slide-in {
    animation: tireSlideIn var(--tire-anim-duration, 0.9s) cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .tire-img.anim-fade-in {
    animation: tireFadeIn var(--tire-anim-duration, 1.1s) ease both;
  }
  .tire-img.anim-spin-in {
    animation: tireSpinIn var(--tire-anim-duration, 1.0s) cubic-bezier(0.34, 1.56, 0.64, 1) both;
  }
  .tire-img.anim-bounce-in {
    animation: tireBounceIn var(--tire-anim-duration, 1.1s) cubic-bezier(0.34, 1.56, 0.64, 1) both;
  }

  /* ── Text shadows ── */
  .hero-heading.text-shadow-on {
    text-shadow: 0 2px 8px rgba(0,0,0,0.65), 0 1px 3px rgba(0,0,0,0.45);
  }
  .hero-subheadline.text-shadow-on {
    text-shadow: 0 1px 6px rgba(0,0,0,0.6), 0 1px 2px rgba(0,0,0,0.4);
  }
  .hero-subtext.text-shadow-on,
  .hero-subtext.text-shadow-on p {
    text-shadow: 0 1px 5px rgba(0,0,0,0.55), 0 1px 2px rgba(0,0,0,0.35);
  }

  /* ── Content Panel ── */
  .content-panel {
    position: relative;
    z-index: 3;
    flex: 1;
    padding: 40px 44px 60px 28px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
  }
  .order-swap .content-panel {
    padding: 40px 28px 60px 44px;
  }

  /* ── Heading ── */
  .hero-heading {
    color: #ffffff;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
    width: 100%;
  }

  /* ── Subheadline ── */
  .hero-subheadline {
    color: #ffffff;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
    width: 100%;
    opacity: 0.9;
  }

  /* ── Description ── */
  .hero-subtext {
    color: #ffffff;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
    width: 100%;
  }
  .hero-subtext p {
    color: #ffffff;
    margin: 0;
  }

  /* ── Disclaimer ── */
  .hero-disclaimer {
    color: #ffffff;
    font-size: 11px;
    line-height: 1.5;
    margin: 0;
    width: 100%;
    opacity: 0.7;
  }

  /* ── Optional brands label ── */
  .brands-label {
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0;
    opacity: 0.75;
  }

  /* ── Brand Logos Grid ── */
  .brands-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px 14px;
    width: 100%;
    align-items: center;
    /* Limit reflow scope to this grid */
    contain: layout style;
  }

  .brand-logo-item {
    background: transparent;
    border-radius: 6px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    cursor: default;
    box-sizing: border-box;
  }

  .brand-logo-item.is-linked {
    cursor: pointer;
    transition: transform 0.18s ease;
  }

  .brand-logo-item.is-linked:hover {
    transform: translateY(-2px);
  }

  .brand-logo-item img {
    max-height: 32px;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
  }

  /* ── Placeholder tiles ── */
  .brand-logo-placeholder {
    min-height: 44px;
  }

  .brand-placeholder-label {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* ── CTA Button Wrapper (alignment) ── */
  .cta-button-wrapper {
    display: flex;
    width: 100%;
  }
  .cta-button-wrapper.btn-align-left   { justify-content: flex-start; }
  .cta-button-wrapper.btn-align-center { justify-content: center; }
  .cta-button-wrapper.btn-align-right  { justify-content: flex-end; }

  /* ── CTA Button ── */
  .cta-button {
    width: 300px !important;
    height: 50px !important;
    background-color: #f5a800 !important;
    color: #000000 !important;
    border: none !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 0 28px !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    border-radius: 3px !important;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    transition: background-color 0.18s ease, transform 0.15s ease !important;
    flex-shrink: 0;
  }

  .cta-button:hover {
    background-color: #e09900 !important;
    transform: translateY(-1px);
  }

  .cta-button:focus-visible {
    outline: 3px solid #f5a800 !important;
    outline-offset: 3px !important;
    background-color: #e09900 !important;
  }

  /* ── Bottom Divider Shape ── */
  .divider-shape {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 4;
    line-height: 0;
    pointer-events: none;
  }

  .divider-shape svg {
    display: block;
    width: 100%;
    height: 80px;
  }

  .divider-shape svg polygon,
  .divider-shape svg path,
  .divider-shape svg polyline {
    fill: #ffffff;
  }

  /* ── Tablet — vertical stack ── */
  @media (min-width: 768px) and (max-width: 1024px) {
    .tire-hero-wrapper,
    .tire-hero-wrapper.order-default,
    .tire-hero-wrapper.order-swap {
      flex-direction: column !important;
      min-height: auto;
      align-items: stretch;
    }

    .content-panel,
    .order-swap .content-panel {
      order: 1;
      flex: none;
      width: 100%;
      padding: 36px 40px 28px;
      align-items: center;
      text-align: center;
      box-sizing: border-box;
    }

    .tire-image-col {
      order: 2;
      flex: none;
      width: 100%;
      padding: 0 40px 36px;
      justify-content: center;
      align-items: center;
      min-height: auto;
      box-sizing: border-box;
    }

    .tire-img {
      max-width: 300px;
      margin-bottom: 0;
    }

    .brands-grid {
      grid-template-columns: repeat(3, 1fr) !important;
    }

    .hero-heading    { font-size: 24px; }
    .hero-subheadline { font-size: 16px; }
    .hero-subtext    { font-size: 14px; }

    .cta-button { width: 280px !important; }
    .cta-button-wrapper { justify-content: center; }

    .divider-shape svg { height: 56px; }

    .tire-hero-wrapper.no-tire .content-panel {
      width: 100%;
      max-width: 100%;
      padding: 48px 60px 68px;
    }
  }

  /* ── Mobile ── */
  @media (max-width: 767px) {
    .tire-hero-wrapper,
    .tire-hero-wrapper.order-default,
    .tire-hero-wrapper.order-swap {
      flex-direction: column !important;
      min-height: auto;
    }

    .content-panel,
    .order-swap .content-panel {
      order: 1;
      padding: 28px 20px 20px;
      align-items: center;
      text-align: center;
    }

    .tire-image-col {
      order: 2;
      flex: none;
      width: 100%;
      padding: 0 20px 24px;
      justify-content: center;
      align-items: center;
      min-height: auto;
    }

    .tire-img {
      max-width: 220px;
      margin-bottom: 0;
    }

    .brands-grid {
      grid-template-columns: repeat(2, 1fr) !important;
    }

    .hero-heading     { font-size: 21px; }
    .hero-subheadline { font-size: 14px; }
    .hero-subtext     { font-size: 14px; }

    .cta-button { width: 100% !important; }
    .cta-button-wrapper { justify-content: center; }

    .divider-shape svg { height: 44px; }

    .tire-hero-wrapper.no-tire .content-panel {
      width: 100%;
      max-width: 100%;
      padding: 32px 24px 48px;
    }
  }
}


.widget-1f5975 .copyright {
    font-size: 13px;
    display: flex;
    text-align: left;
    justify-content: flex-start;
}
