/*
 * Additions on top of the original Natsy/Elementor styles (new features only).
 * Everything else on the site is styled by the original theme files in /assets.
 */

/* The theme keeps the page invisible until app.js has run (3 s on a phone); show it as soon as the CSS is in */
.beforePreload .site-wrapper, .beforePreload .kitify-nova-menu__mobile-trigger { opacity: 1; }

/* Foundation's own rule for the closed panel; its links would otherwise take the keyboard focus off screen */
.site-canvas-menu.is-closed { visibility: hidden; }

/* Enough contrast on white, one shade darker than the theme's #777777 and #9E9E9E */
.elementor-kit-7 { --e-global-color-text: #767676; }
.elementor-1431 .elementor-element.elementor-element-c69a87b > .elementor-widget-container > .kitify-tabs > .kitify-tabs__control-wrapper .kitify-tabs__control:not(.active-tab):not(:hover) .kitify-tabs__label-text { color: #949494; }

/* Header search icon */
.bc-header-search { display: flex; align-items: center; justify-content: flex-end; }
.bc-header-search a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: #fff; }
.bc-header-search svg { width: 20px; height: 20px; fill: currentColor; stroke: currentColor; }
.elementor-108 .bc-header-search a { color: #1a1a1a; }
.elementor-sticky--effects .bc-header-search a { color: inherit; }

/* Live search results */
.header_search_ajax_results .bc-search-item { display: flex; align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid rgba(0, 0, 0, .06); color: inherit; text-decoration: none; }
.header_search_ajax_results .bc-search-item img { width: 64px; height: 48px; object-fit: contain; background: #fff; }
.header_search_ajax_results .bc-search-empty { padding: 12px 0; opacity: .7; }

/* A+++ energy badge on product images */
.e-loop-item .elementor-element-434af90 > .e-con-inner, .kitify-product-images { position: relative; }
.bc-badge-a3plus { position: absolute; top: 10px; left: 10px; z-index: 3; padding: 4px 10px; border-radius: 4px; background: #04967a; color: #fff; font-family: "Syne", sans-serif; font-size: 13px; font-weight: 700; line-height: 1.3; letter-spacing: .02em; }

/* SKU + attributes table on the product page (uses WooCommerce's shop_attributes look) */
.bc-product-attributes { margin-top: 24px; }
.bc-product-attributes table.shop_attributes { width: 100%; border-collapse: collapse; }
.bc-product-attributes table.shop_attributes th,
.bc-product-attributes table.shop_attributes td { padding: 10px 14px; border-bottom: 1px solid rgba(0, 0, 0, .08); text-align: left; vertical-align: top; }
.bc-product-attributes table.shop_attributes th { width: 40%; font-weight: 600; color: #1a1a1a; }
.bc-product-attributes table.shop_attributes td { color: #494949; }

/* Prices (only when the shop is switched on) */
.bc-price { margin-top: 6px; font-weight: 600; color: #e40613; }
.bc-price del { margin-right: 8px; color: #8a8a8a; font-weight: 400; }

/* Form feedback for the contact form */
.bc-form-message { margin: 0 0 20px; padding: 12px 16px; border-radius: 4px; }
.bc-form-message--success { background: #e9f7f2; color: #04967a; }
.bc-form-message--error { background: #fdecec; color: #c4161c; }
.bc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Shop pages (cart / checkout / thank you) — only reachable while the shop is enabled */
.bc-shop-container { max-width: 1225px; margin: 0 auto; padding: 0 20px; }
.bc-shop-hero { padding: 150px 0 50px; margin-bottom: 50px; background: #1a1a1a; color: #fff; }
.bc-shop-title { margin: 0 0 10px; color: #fff; font-family: "Syne", sans-serif; font-size: 44px; font-weight: 600; }
.bc-shop-breadcrumb, .bc-shop-breadcrumb a { color: rgba(255, 255, 255, .8); font-size: 15px; }
.bc-shop-page { padding-bottom: 80px; }
.bc-shop-page table.shop_table { width: 100%; border-collapse: collapse; margin-bottom: 30px; }
.bc-shop-page table.shop_table th, .bc-shop-page table.shop_table td { padding: 14px 10px; border-bottom: 1px solid rgba(0, 0, 0, .08); text-align: left; vertical-align: middle; }
.bc-shop-page .product-thumbnail img { width: 80px; height: auto; }
.bc-shop-page .quantity input.qty { width: 80px; padding: 8px; }
.bc-shop-page .remove { border: 0; background: none; font-size: 24px; line-height: 1; color: #e40613; cursor: pointer; }
.bc-shop-page .cart_totals { max-width: 480px; margin-left: auto; }
.bc-shop-page .button { display: inline-block; padding: 12px 26px; border: 0; border-radius: 4px; background: #1a1a1a; color: #fff; cursor: pointer; text-decoration: none; }
.bc-shop-page .button.alt, .bc-shop-page .checkout-button { background: #e40613; }
.bc-checkout-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.bc-checkout .form-row { margin-bottom: 18px; }
.bc-checkout label { display: block; margin-bottom: 6px; font-weight: 500; }
.bc-checkout .input-text { width: 100%; padding: 12px 14px; border: 1px solid rgba(0, 0, 0, .15); border-radius: 4px; }
.bc-checkout .wc_payment_methods { list-style: none; margin: 0 0 16px; padding: 0; }
.bc-checkout .wc_payment_method { display: flex; gap: 10px; align-items: center; padding: 8px 0; }
.bc-checkout .wc_payment_method label { display: inline; margin: 0; }
.bc-checkout .checkbox { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.bc-pickup-info { padding: 12px 16px; background: #f5f5f5; border-radius: 4px; color: #494949; }
.bc-shop-page .woocommerce-message, .bc-shop-page .woocommerce-error, .bc-shop-page .woocommerce-info, .bc-shop-page .woocommerce-notice { margin: 0 0 24px; padding: 14px 18px; border-radius: 4px; background: #f5f5f5; list-style: none; }
.bc-shop-page .woocommerce-message, .bc-shop-page .woocommerce-notice--success { background: #e9f7f2; color: #04967a; }
.bc-shop-page .woocommerce-error { background: #fdecec; color: #c4161c; }
.bc-shop-page .woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 24px; margin: 0 0 24px; padding: 0; list-style: none; }
@media (max-width: 767px) {
  .bc-checkout-grid { grid-template-columns: 1fr; }
  .bc-shop-title { font-size: 32px; }
  .bc-shop-hero { padding-top: 120px; }
}

/* Header cart icon (shop mode only) */
.bc-header-cart { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: #fff; }
.elementor-108 .bc-header-cart { color: #1a1a1a; }
.bc-header-cart svg { width: 22px; height: 22px; }
.bc-header-cart .bc-cart-count { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: #e40613; color: #fff; font-size: 11px; line-height: 18px; text-align: center; }

/* Live search states */
#headerSearchModal .header_search_form:not(.loading) .header_search_ajax_loading { display: none; }
#headerSearchModal .header_search_ajax_results_wrapper.visible .header_search_icon { display: none; }
/* The theme's "transition: all" also animated the visibility of these two while the page loaded, inside the closed panel */
#headerSearchModal .header_search_input, #headerSearchModal .header_search_button { transition-property: color, background-color, border-color; }
#headerSearchModal .bc-search-item { color: #1a1a1a; font-size: 16px; }
#headerSearchModal .bc-search-item:hover { color: #e40613; }

/* Product gallery with a single photo: FlexSlider never starts, so nothing gives the absolute zoom wrappers a height */
.woocommerce-product-gallery__image:only-child .zoomouter,
.woocommerce-product-gallery__image:only-child .zoominner { position: relative !important; height: auto !important; }

/* Header (#893): the theme keeps it fixed with a transparent gradient, so after scrolling the menu sat on top of
   the page text and could not be read. Once scrolled (Elementor adds .elementor-sticky--effects) it gets the dark
   brand background; on the product page, which has no dark photo at the top, it is solid from the start. */
.elementor-893 .elementor-sticky--active.elementor-sticky--effects,
.single-product .elementor-893 .elementor-element-2a3bc862 { background-color: #13160b !important; background-image: none !important; box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .6); transition: background-color .2s ease; }

/* The theme's link hover colour was green (#008060), which isn't a Budiag colour: use the brand red */
html:root{--site-link-hover-color:#e40613}

/* Phones: the desktop menu stays out of the page while nova-menu.js starts (it pushed the page down for a moment) */
@media (max-width:1024px){.kitify-nova-mobile-menu .main-navigation{display:none}}

/* Menu icon: the drawing stays 21px, the finger gets 44px */
.kitify-nova-menu__mobile-trigger a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-11px}

/* 404: the white logo needs the dark header here too; the button uses the brand colour */
.error404 .elementor-893 .elementor-element-2a3bc862{background-color:#13160b!important;background-image:none!important}
.page-404{padding-inline:20px}
.page-404 .error-404-button .button{background:#e40613;color:#fff}
.page-404 .error-404-button .button:hover,.page-404 .error-404-button .button:focus{background:#b8050f;color:#fff}

/* Contact form: labels clear of the fields, readable button */
.wpcf7-form .wpcf7-form-control-wrap{display:block;margin-top:6px}
.wpcf7-form input[type=submit],.wpcf7-form input[type=submit]:hover,.wpcf7-form input[type=submit]:focus{color:#fff}

/* Phones and tablets: under 16px iPhones zoom the page when a field gets focus */
@media (max-width:1024px){
  .wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),.wpcf7-form textarea,.wpcf7-form select,.elementor-form .elementor-field-textual,#search_header,.bcf-select{font-size:16px!important}
}
@media (max-width:767px){
  .wpcf7-form input[type=submit]{width:100%;min-height:48px}
}

/* Header on the light variant (Garancia, Këshilla): the menu icon was white on white */
.elementor-108 .kitify-nova-menu__mobile-trigger i,.elementor-108 .kitify-nova-menu__mobile-trigger a{color:#13160b!important}
/* Brand pages start with a dark photo below the header: a white logo needs a dark bar */
body:has(.elementor-484) .elementor-893 .elementor-element-2a3bc862{background-color:#13160b!important;background-image:none!important}
/* The search icon stays visible on the dark header after scrolling */
.elementor-893 .elementor-sticky--active #js_header_search_modal,.elementor-893 .elementor-sticky--active #js_header_search_modal svg{color:#fff;fill:#fff;opacity:1}

/* Kreu: both slider arrows on the right, the left one sat on the headline */
#SR7_1_1 sr7-arrow.sr7-leftarrow{left:calc(100% - 180px)!important}

/* Rreth Nesh: the text sat under the header and on top of the air conditioner */
@media (max-width:1024px){
  .elementor-1431 .elementor-element-9f65ba1{position:relative;padding-top:104px!important;padding-bottom:40px!important}
  .elementor-1431 .elementor-element-9f65ba1::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(19,22,11,.62),rgba(19,22,11,.82))}
  .elementor-1431 .elementor-element-9f65ba1 > .e-con-inner{position:relative;z-index:1}
  .elementor-1431 .elementor-element-16a38cf .elementor-heading-title{font-size:40px!important;line-height:1.1!important}
  .elementor-1431 .elementor-element-9f65ba1 .elementor-widget-button{align-self:flex-start}
  .elementor-1431 .elementor-element-9f65ba1 .elementor-button-wrapper{text-align:left}
}

/* Brand pages on phones: the hero text touched the screen edges */
@media (max-width:767px){
  .elementor-484 .elementor-element-c462168{padding:32px 20px!important;min-height:0}
  .elementor-484 .elementor-element-c462168 > .e-con-inner{padding:0}
  .elementor-484 .elementor-element-d00156e{font-size:15px;line-height:1.55}
}

/* Kreu: the capacity chip on the dark "Seria e Re" card was dark on dark */
.bch-promo__card .bc-chip:not([class*="--e"]){background:rgba(255,255,255,.14);color:#fff}
.bch-biz h2{margin:8px 0 14px}

/* Kontakti: heading on the page scale, fields like the rest of the site */
.elementor-element-d9f2baa .elementor-heading-title{font-size:clamp(30px,3.2vw,44px)!important;line-height:1.15!important}
.wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),.wpcf7-form select,.wpcf7-form textarea{border:1px solid #d5d5cf;border-radius:10px;background:#fff;box-shadow:none}
.wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]){height:52px}
.wpcf7-form input:focus,.wpcf7-form textarea:focus{border-color:#13160b;outline:none;box-shadow:0 0 0 3px rgba(19,22,11,.08)}
.wpcf7-form input[type=submit]{min-width:220px;min-height:52px;border-radius:10px;font-size:16px;font-weight:600}
body:has(.wpcf7-form) h1.elementor-heading-title,body:has(.wpcf7-form) .kitify-breadcrumbs{text-shadow:0 2px 18px rgba(0,0,0,.65)}

/* Garancia */
body:has(.elementor-20),.elementor-20{background:#f6f6f3}
.elementor-20 .elementor-element-adbf859{padding:32px 16px 72px!important}
.elementor-20 .elementor-element-adbf859 > .e-con-inner{max-width:880px;margin-inline:auto}
.elementor-20 .elementor-element-65e329c{width:100%;max-width:880px;margin:0 auto;padding:0!important;border:1px solid #e8e8e4;border-radius:16px;background:#fff;box-shadow:none!important}
.elementor-20 .elementor-element-65e329c > .e-con-inner{max-width:none;padding:48px}
.elementor-20 .elementor-element-2a9952a{width:100%;gap:0}
.elementor-20 .elementor-element-98339fa{margin:0 0 12px!important}
.elementor-20 .elementor-element-98339fa .elementor-heading-title{font:700 40px/1.12 Syne,sans-serif!important;color:#13160b;overflow-wrap:normal;word-break:normal}
.elementor-20 .elementor-element.elementor-element-759bfbc{width:100%!important;max-width:640px!important;--container-widget-width:100%;margin:0 0 32px!important;color:#55594d;font-size:16px;line-height:1.6}
.elementor-20 .elementor-element-759bfbc p{margin:0}
.elementor-20 .elementor-element-f47c2ba{margin:0 0 8px!important}
.elementor-20 .elementor-element-f47c2ba .elementor-heading-title{font:700 19px/1.35 Syne,sans-serif!important;color:#13160b}
.elementor-20 .elementor-form-fields-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0!important}
.elementor-20 .elementor-field-group{width:auto!important;max-width:none!important;flex:none;margin:0!important;padding:0!important}
.elementor-20 .elementor-field-type-html,.elementor-20 .elementor-field-type-checkbox,.elementor-20 .e-form__buttons,.elementor-20 .elementor-field-group-field_f96862e,.elementor-20 .elementor-field-group-field_84b1f16,.elementor-20 .elementor-field-group-field_e1ed823{grid-column:1/-1}
.elementor-20 .elementor-field-type-html{margin-top:12px!important;padding:20px 0 0!important;border-top:1px solid #ececE8;font:700 16px/1.3 Syne,sans-serif!important;color:#13160b!important}
.elementor-20 .elementor-field-label{display:block;margin:0 0 6px;padding:0;font:600 14px/1.3 Outfit,sans-serif;color:#13160b}
.elementor-20 .elementor-mark-required .elementor-field-label::after,.elementor-20 .elementor-field-required .elementor-field-label::after{color:#e40613}
.elementor-20 .elementor-field-textual{width:100%;height:52px;margin:0;padding:0 14px;border:1px solid #d5d5cf!important;border-radius:10px!important;background-color:#fff!important;color:#13160b;font:400 16px Outfit,sans-serif;box-shadow:none}
.elementor-20 .elementor-field-textual::placeholder{color:#8a8a84}
.elementor-20 .elementor-field-textual:focus{border-color:#13160b!important;outline:none;box-shadow:0 0 0 3px rgba(19,22,11,.08)}
.elementor-20 .elementor-select-wrapper::before,.elementor-20 .select-caret-down-wrapper{display:none!important}
.elementor-20 select.elementor-field-textual{-webkit-appearance:none;appearance:none;padding-right:42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313160b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px!important}
.elementor-20 .elementor-field-option{display:flex;align-items:flex-start;gap:10px}
.elementor-20 .elementor-field-option input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:#e40613}
.elementor-20 .elementor-field-option label{margin:0;font:400 14px/1.5 Outfit,sans-serif;color:#55594d}
.elementor-20 .e-form__buttons{margin-top:12px!important}
.elementor-20 .elementor-button{width:auto;min-width:220px;height:52px;padding:0 28px;border:0;border-radius:10px;background:#e40613;color:#fff;font:600 16px Outfit,sans-serif}
.elementor-20 .elementor-button:hover,.elementor-20 .elementor-button:focus{background:#b8050f;color:#fff}
@media (max-width:767px){
  .elementor-20 .elementor-element-adbf859{padding:16px 12px 48px!important}
  .elementor-20 .elementor-element-65e329c > .e-con-inner{padding:28px 20px}
  .elementor-20 .elementor-element-98339fa .elementor-heading-title{font-size:32px!important}
  .elementor-20 .elementor-element.elementor-element-759bfbc{margin-bottom:24px!important}
  .elementor-20 .elementor-form-fields-wrapper{grid-template-columns:minmax(0,1fr);gap:16px}
  .elementor-20 .elementor-button{width:100%}
}

/* Offer popup: one arrow on the district list; on phones the padding left the fields 172px wide */
#elementor-popup-modal-3253 .elementor-select-wrapper::before,#elementor-popup-modal-3253 .select-caret-down-wrapper{display:none!important}
@media (max-width:767px){
  #elementor-popup-modal-3253 .dialog-widget-content{width:calc(100vw - 24px)!important;max-width:none!important}
  #elementor-popup-modal-3253 .dialog-message{box-sizing:border-box;width:100%!important;max-width:none!important;padding:56px 20px 24px!important}
  #elementor-popup-modal-3253 .elementor-3253,#elementor-popup-modal-3253 .elementor-element-fdefb7c,#elementor-popup-modal-3253 .elementor-element-fdefb7c > .e-con-inner{flex:1 1 100%;width:100%!important;min-width:0;max-width:100%!important}
}

/* The theme's old live search prints "undefined" next to the real results */
#headerSearchModal .ajax_results_wrapper{display:none}
