/* UltraFort Responsive — independent frontend theme for OpenCart 1.5.6.4
   Loaded after the legacy responsive stylesheet so the existing engine
   behavior remains intact while presentation is fully redesigned. */

:root {
  --uf-navy:#0b2b55;
  --uf-navy-2:#123f76;
  --uf-blue:#0876d9;
  --uf-blue-2:#1b91ec;
  --uf-cyan:#4fb8ef;
  --uf-ink:#102945;
  --uf-text:#456078;
  --uf-muted:#70869b;
  --uf-line:#d9e7f3;
  --uf-soft:#f2f8fd;
  --uf-soft-2:#eaf5fc;
  --uf-white:#fff;
  --uf-success:#159447;
  --uf-shadow:0 12px 34px rgba(25,71,112,.09);
  --uf-radius:14px;
}

html,body{background:#edf7fc;color:var(--uf-ink);}
body,td,th,input,textarea,select,a{font-size:14px;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.5;}
a,a:visited,a b{color:#0876d9;text-decoration:none;}
a:hover{color:#075ca6;text-decoration:none;}
h1,h2,h3,h4{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--uf-ink);text-shadow:none;}
h1{font-size:34px;line-height:1.12;font-weight:750;letter-spacing:-.02em;margin:0 0 18px;}
h2{font-size:23px;line-height:1.25;font-weight:700;margin:0 0 16px;}
h3{font-size:17px;line-height:1.3;font-weight:700;}
input[type=text],input[type=password],textarea,select{background:#fff;border:1px solid #cdddea;border-radius:8px;padding:10px 12px;min-height:40px;box-sizing:border-box;color:var(--uf-ink);font-family:inherit;}
input:focus,textarea:focus,select:focus{outline:2px solid rgba(27,145,236,.18);border-color:var(--uf-blue-2);}
.button,input.button,a.button{background:var(--uf-blue);border:1px solid var(--uf-blue);border-radius:8px;color:#fff!important;font-weight:700;text-shadow:none;box-shadow:none;padding:10px 16px;line-height:1.2;cursor:pointer;text-decoration:none;}
.button:hover,input.button:hover,a.button:hover{background:#075fab;border-color:#075fab;}

#container{width:100%;max-width:1320px;margin:0 auto;padding:0 26px;box-sizing:border-box;text-align:left;}
.uf-main{display:block;min-height:420px;}
#content{min-height:400px;margin-bottom:36px;}
#column-left{width:230px;}
#column-right{width:230px;}
#column-left + #column-right + #content,#column-left + #content{margin-left:258px;}
#column-right + #content{margin-right:258px;}
.route-product-product #column-left,.route-product-product #column-right{display:none!important;}
.route-product-product #column-left + #content,.route-product-product #column-right + #content,.route-product-product #column-left + #column-right + #content{margin-left:0!important;margin-right:0!important;}

/* Header */
#header.uf-header{height:auto;margin:18px 0 0;padding:0;background:#fff;border:1px solid #e3eef7;border-radius:16px 16px 0 0;position:relative;z-index:110;box-shadow:0 10px 30px rgba(33,75,111,.07);}
.uf-header-main{display:grid;grid-template-columns:minmax(220px,270px) minmax(320px,1fr) auto;align-items:center;gap:22px;padding:17px 22px;}
.uf-brand-zone{display:flex;align-items:center;min-width:0;}
#header #logo,.uf-logo{position:static!important;top:auto!important;left:auto!important;margin:0;width:auto;max-width:245px;}
#header #logo img{display:block;max-width:240px;max-height:66px;width:auto;height:auto;object-fit:contain;}
.uf-brand-note{display:none!important;}
#header #search,.uf-search{position:relative!important;top:auto!important;right:auto!important;width:100%!important;z-index:2;margin:0;display:flex;}
#header #search input{width:100%;height:46px;border:1px solid #d4e3ef;border-radius:9px 0 0 9px;background:#fbfdff;padding:0 14px;box-shadow:none;font-size:14px;}
#header .button-search,.uf-search-button{position:static!important;display:flex;align-items:center;justify-content:center;width:50px;height:46px;border:0!important;border-radius:0 9px 9px 0;background:var(--uf-navy)!important;cursor:pointer;padding:0;}
.uf-search-button svg{width:21px;height:21px;stroke:#fff;stroke-width:1.8;fill:none;}
.uf-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:13px;white-space:nowrap;}
.uf-header-actions svg{width:22px;height:22px;stroke:var(--uf-navy);stroke-width:1.7;fill:none;}
.uf-action{display:flex;align-items:center;gap:6px;color:var(--uf-navy)!important;font-size:12px;font-weight:650;text-decoration:none!important;padding:7px 4px;}
.uf-action span{max-width:110px;overflow:hidden;text-overflow:ellipsis;}
#language,.uf-language{position:static!important;top:auto!important;left:auto!important;width:auto!important;margin:0!important;display:flex;align-items:center;gap:0;line-height:1;color:var(--uf-muted);}
.uf-language a{font-size:12px;font-weight:700;padding:5px 7px;color:#71879a!important;border-right:1px solid #dbe6ef;}
.uf-language a:last-child{border-right:0;}
.uf-language a.active{color:var(--uf-navy)!important;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;}
.uf-currency-wrap{display:flex;align-items:center;}
#currency{position:static!important;top:auto!important;left:auto!important;width:auto!important;line-height:1;margin:0;}
#currency a{border:0;background:transparent;margin:0;padding:4px;font-size:12px;}
.uf-cart-wrap{position:relative;}
#header #cart,.uf-mini-cart{position:relative!important;top:auto!important;right:auto!important;min-width:0!important;width:auto!important;z-index:120;margin:0;}
#header #cart .heading,.uf-cart-heading{float:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;}
.uf-cart-trigger{display:flex;align-items:center;gap:7px;color:var(--uf-navy)!important;padding:6px 4px;text-decoration:none!important;cursor:pointer;}
.uf-cart-trigger svg{width:25px;height:25px;stroke-width:1.8;}
.uf-cart-copy{display:flex;flex-direction:column;line-height:1.15;}
.uf-cart-copy strong{font-size:12px;color:var(--uf-navy);}
.uf-cart-copy small{font-size:11px;color:#71879a;margin-top:3px;max-width:95px;overflow:hidden;text-overflow:ellipsis;}
#header #cart .content,.uf-cart-dropdown{display:none;position:absolute!important;right:0!important;left:auto!important;top:calc(100% + 10px)!important;width:390px!important;min-height:0!important;max-height:70vh;overflow:auto;background:#fff!important;border:1px solid var(--uf-line)!important;border-radius:12px!important;box-shadow:var(--uf-shadow)!important;padding:14px!important;box-sizing:border-box;}
#header #cart.active .content{display:block;}
.uf-cart-dropdown .checkout{display:flex;gap:8px!important;justify-content:flex-end;margin-top:10px;}
.uf-cart-dropdown .checkout a{padding:9px 12px;border:1px solid var(--uf-blue);border-radius:7px;}
.uf-cart-dropdown .checkout .uf-checkout-link{background:var(--uf-blue);color:#fff!important;}
.mini-cart-info .remove button{border:0;background:transparent;color:#9a5360;font-size:22px;cursor:pointer;}
.uf-header-service{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #edf3f8;padding:7px 22px;color:#6e8395;font-size:12px;}
.uf-welcome a{font-weight:650;}
.uf-phone{display:flex;align-items:center;gap:7px;color:var(--uf-navy)!important;font-weight:700;}.uf-phone-action{padding-left:8px;padding-right:8px;border-left:1px solid #e1ebf3;border-right:1px solid #e1ebf3;}
.uf-phone svg{width:18px;height:18px;stroke:var(--uf-navy);stroke-width:1.7;fill:none;}

/* Main navigation */
#menu.uf-main-nav{height:auto;min-height:50px;margin:0 0 22px;padding:0 10px;background:#fff;border:1px solid #e1edf6;border-top:0;border-radius:0 0 16px 16px;box-shadow:0 8px 20px rgba(33,75,111,.05);display:flex;align-items:stretch;overflow:visible;clear:both;}
.uf-catalog-toggle{border:0;background:linear-gradient(135deg,var(--uf-navy),#0d5b9c);color:#fff;font-weight:750;padding:0 22px;border-radius:9px;margin:7px 10px 7px 0;min-height:42px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;}
.uf-hamb{width:18px;display:flex;flex-direction:column;gap:3px;}.uf-hamb i{height:2px;background:#fff;border-radius:2px;display:block;}
#menu > ul.uf-menu-list{display:flex;align-items:stretch;flex:1;list-style:none;margin:0;padding:0;}
#menu > ul.uf-menu-list > li{float:none;position:relative;padding:0;display:flex;align-items:stretch;z-index:30;}
#menu > ul.uf-menu-list > li > a{display:flex;align-items:center;color:var(--uf-navy)!important;font-size:13px;font-weight:650;line-height:1.25;padding:0 14px;margin:0;border-radius:0;text-decoration:none;}
#menu > ul.uf-menu-list > li:hover > a{background:var(--uf-soft);color:#075fae!important;}
#menu > ul.uf-menu-list > li > div.uf-mega-menu{display:none;position:absolute;top:100%;left:0;background:#fff!important;border:1px solid var(--uf-line);border-radius:0 0 12px 12px;box-shadow:var(--uf-shadow);padding:12px;min-width:260px;z-index:80;}
#menu > ul.uf-menu-list > li:hover > div.uf-mega-menu,#menu > ul.uf-menu-list > li:focus-within > div.uf-mega-menu{display:flex;}
#menu > ul.uf-menu-list > li > div.uf-mega-menu > ul{display:block;min-width:220px;margin:0;padding:0;list-style:none;}
#menu > ul.uf-menu-list > li > div.uf-mega-menu > ul + ul{padding-left:10px;}
#menu > ul.uf-menu-list > li > div.uf-mega-menu li a{display:block;color:var(--uf-ink)!important;padding:8px 10px;border-radius:7px;white-space:normal;min-width:0;text-decoration:none;font-size:13px;}
#menu > ul.uf-menu-list > li > div.uf-mega-menu li a:hover{background:var(--uf-soft);color:var(--uf-blue)!important;}

/* Breadcrumbs and notices */
.breadcrumb,.uf-breadcrumb{color:#91a4b5;margin:0 0 18px;padding:0;font-size:12px;}
.breadcrumb a{color:#6c8499!important;}
.success,.warning,.attention,.information{border-radius:10px;padding:12px 14px 12px 38px;}

/* Sidebar */
.box{background:#fff;border:1px solid var(--uf-line);border-radius:12px;box-shadow:0 6px 18px rgba(40,82,119,.05);overflow:hidden;margin-bottom:18px;}
.box .box-heading{background:linear-gradient(180deg,#f7fbff,#eef7fd);border:0;color:var(--uf-navy);font-size:16px;font-weight:750;padding:14px 15px;}
.box .box-content{background:#fff;border:0;padding:10px 14px 14px;}
ul.box-category > li{border-bottom:1px solid #edf3f8;padding:7px 0;}ul.box-category > li:last-child{border-bottom:0;}
ul.box-category a{color:#36556f!important;text-decoration:none;}ul.box-category a.active{color:var(--uf-blue)!important;font-weight:750;}

/* PRODUCT PAGE */
.uf-product-page{width:auto;}
.uf-product-hero{display:grid!important;grid-template-columns:minmax(280px,360px) minmax(0,1fr)!important;gap:20px;overflow:visible!important;margin:0 0 24px!important;background:transparent;align-items:start!important;}
.product-info.uf-product-hero > .uf-gallery-panel,.product-info.uf-product-hero > .uf-product-summary{float:none!important;width:auto!important;min-width:0!important;margin:0!important;}
.uf-gallery-panel,.uf-product-summary{background:#fff;border:1px solid #dfeaf3;border-radius:var(--uf-radius);box-shadow:0 8px 26px rgba(31,75,112,.05);box-sizing:border-box;}
.uf-gallery-panel{padding:14px;}
.uf-gallery{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:start;}
.product-info .uf-thumbs{width:auto!important;margin:0!important;clear:none!important;overflow:visible!important;display:flex;flex-direction:column;gap:10px;}
.product-info .uf-thumbs a{float:none!important;display:flex!important;margin:0!important;width:52px;height:52px;border:1px solid #dce8f1;border-radius:9px;background:#fff;padding:3px;box-sizing:border-box;align-items:center;justify-content:center;overflow:hidden;}
.product-info .uf-thumbs a.active,.product-info .uf-thumbs a:hover{border-color:var(--uf-blue);box-shadow:0 0 0 2px rgba(8,118,217,.1);}
.product-info .uf-thumbs img{max-width:100%;max-height:100%;width:auto;height:auto;border:0!important;object-fit:contain;}
.product-info .uf-main-image{float:none!important;margin:0!important;padding:0!important;border:0!important;background:linear-gradient(180deg,#fbfdff,#e9f5fc);border-radius:12px;min-height:330px;display:flex!important;align-items:center;justify-content:center;overflow:hidden;}
.product-info .uf-main-image a{display:flex;align-items:center;justify-content:center;width:100%;min-height:330px;height:100%;padding:14px;box-sizing:border-box;}
.product-info .uf-main-image img{display:block!important;width:100%!important;max-width:240px!important;max-height:320px!important;height:auto!important;object-fit:contain;margin:auto;image-rendering:auto;}
.uf-product-summary{margin:0!important;padding:26px!important;min-width:0;}
.product-info > .left + .right,.product-info > .right{margin:0!important;float:none!important;width:auto!important;}
.uf-product-summary h1{font-size:32px;margin:0 0 12px;color:var(--uf-ink);}
.uf-short-description{color:#526c82;font-size:14px;line-height:1.55;margin:0 0 18px!important;padding-bottom:17px;border-bottom:1px solid #e7eff5;}
.uf-product-meta{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-bottom:18px;}
.uf-product-meta > div{display:grid;grid-template-columns:minmax(92px,.8fr) 1.2fr;gap:10px;padding:7px 0;border-bottom:1px solid #edf3f8;align-items:center;}
.uf-product-meta span{font-size:12px;color:#7d91a3;}.uf-product-meta strong{font-size:13px;color:var(--uf-ink);font-weight:650;overflow-wrap:anywhere;}
.uf-stock{display:flex;align-items:center;gap:7px}.uf-stock i{width:9px;height:9px;background:#20a85c;border-radius:50%;display:inline-block;}
.product-info .price.uf-price-card{border:0!important;background:var(--uf-soft)!important;border-radius:12px;padding:18px 20px!important;margin:0 0 18px!important;color:var(--uf-ink)!important;display:block;width:auto;}
.uf-price-label{font-size:12px;color:#6f879a;margin-bottom:4px;}.uf-price-main{font-size:29px;font-weight:800;color:var(--uf-navy);line-height:1.15;}
.uf-price-card .price-old{font-size:16px;color:#8b9ca9;text-decoration:line-through;margin-right:8px;}.uf-price-card .price-new{font-size:29px;color:#d9473f;font-weight:800;}
.uf-price-card .price-tax{display:block;margin-top:6px;color:#7a8f9f;font-size:11px;}.uf-discounts{margin-top:10px;font-size:12px;color:#446079;line-height:1.55;}
.product-info .options.uf-options-card{border:1px solid #e0ebf4!important;background:#fff!important;border-radius:12px;padding:18px!important;margin:0 0 18px!important;width:auto;}
.uf-options-card h2{font-size:19px;margin-bottom:16px;}.uf-option-block{padding:0 0 16px!important;margin:0 0 16px!important;border-bottom:1px solid #edf3f8;}.uf-option-block:last-child{border-bottom:0;margin-bottom:0!important;padding-bottom:0!important;}
.uf-option-title{font-size:14px;color:var(--uf-ink);margin-bottom:10px;}.required{color:#d53d3d;}
.uf-options-card select,.uf-options-card textarea,.uf-options-card input[type=text]{width:100%;max-width:100%;}
.uf-choice-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px;}.uf-swatch-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px;}
.uf-option-hidden{display:none!important;}
.uf-choice-card,.uf-swatch-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #d9e6f0;border-radius:9px;padding:8px;background:#fff;min-height:52px;box-sizing:border-box;cursor:pointer;transition:.15s ease;}
.uf-choice-card:hover,.uf-swatch-card:hover,.uf-choice-card.is-selected,.uf-swatch-card.is-selected{border-color:var(--uf-blue);box-shadow:0 0 0 2px rgba(8,118,217,.10);background:#f8fcff;}.uf-choice-card.is-selected:after,.uf-swatch-card.is-selected:after{content:"✓";position:absolute;top:6px;right:7px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--uf-blue);color:#fff;font-size:11px;font-weight:800;}
.uf-choice-card input,.uf-swatch-card input{position:absolute;opacity:0;pointer-events:none;}
.uf-choice-name{font-size:12px;color:#29465f;line-height:1.25;}.uf-choice-card small,.uf-swatch-card small{color:#0876d9;font-weight:700;font-size:11px;}
.uf-swatch-image{width:100%;height:42px;border-radius:6px;background:#f5f8fb;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:2px;}.uf-swatch-image img{width:100%;height:100%;object-fit:cover;}
.uf-option-more{border:0;background:transparent;color:var(--uf-blue);font-weight:700;font-size:12px;margin-top:10px;padding:5px 0;cursor:pointer;}
.product-info .cart.uf-buy-card{border:0!important;background:linear-gradient(180deg,#f8fcff,#edf7fe)!important;border-radius:12px;padding:17px!important;margin:0!important;width:auto;display:grid;grid-template-columns:auto 1fr 1fr;gap:10px;align-items:center;}
.uf-qty-row{display:flex;align-items:center;gap:7px;}.uf-qty-row label{font-size:12px;color:#637c90;}.uf-qty-row input{width:62px;height:44px;text-align:center;}
.uf-primary-button,.uf-secondary-button{min-height:44px;display:flex!important;align-items:center;justify-content:center;border-radius:8px;font-weight:750;text-decoration:none!important;box-sizing:border-box;text-align:center;}
.uf-primary-button{background:var(--uf-blue)!important;border-color:var(--uf-blue)!important;color:#fff!important;}.uf-secondary-button{background:#fff;color:var(--uf-blue)!important;border:1px solid var(--uf-blue);padding:10px 12px;}
.uf-buy-links{grid-column:1/-1;display:flex;gap:18px;font-size:12px;padding-top:4px;}.uf-buy-links a{color:#607d94!important;}
.product-info .cart .minimum{grid-column:1/-1;margin:0!important;padding:4px 0 0!important;color:#8194a4;font-size:11px;}

.uf-quick-specs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 28px;}
.uf-spec-card{background:linear-gradient(180deg,#fff,#f0f8fe);border:1px solid #dfeaf3;border-radius:11px;padding:14px 12px;display:flex;align-items:flex-start;gap:10px;min-height:78px;box-sizing:border-box;}
.uf-spec-icon{width:36px;height:36px;flex:0 0 36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#edf9ff 0%,#cbeeff 100%);color:#0876d9;border:1px solid #b8dff5;box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 3px 9px rgba(8,118,217,.08);}.uf-spec-icon svg{width:22px;height:22px;fill:none;stroke:#0876d9;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;}
.uf-spec-card small{display:block;color:#7690a4;font-size:11px;line-height:1.2;margin-bottom:5px;}.uf-spec-card strong{display:block;color:var(--uf-ink);font-size:12px;line-height:1.3;font-weight:750;overflow-wrap:anywhere;}

.uf-product-content{background:#fff;border:1px solid #dfeaf3;border-radius:14px;padding:0 24px 24px;margin-bottom:28px;box-shadow:0 8px 24px rgba(31,75,112,.04);}
.htabs.uf-tabs{height:auto;display:flex;gap:32px;border-bottom:1px solid #dce8f1;padding:0;margin:0 0 22px;overflow-x:auto;}
.htabs.uf-tabs a{float:none;background:none;border:0!important;border-bottom:3px solid transparent!important;margin:0;padding:18px 0 14px;font-size:14px;color:#617c93;font-weight:700;white-space:nowrap;}
.htabs.uf-tabs a.selected{color:var(--uf-blue);border-bottom-color:var(--uf-blue)!important;}
.tab-content.uf-tab-panel{border:0!important;padding:0!important;margin:0;line-height:1.65;color:#39556d;font-size:14px;}
.uf-richtext{overflow:hidden;}.uf-richtext img{max-width:100%!important;height:auto!important;}.uf-richtext table{max-width:100%!important;}.uf-richtext h2{font-size:25px;margin:24px 0 14px;}.uf-richtext h3{font-size:19px;margin:20px 0 10px;}.uf-richtext p{margin-bottom:15px;}.uf-richtext ul,.uf-richtext ol{padding-left:22px;}
.attribute.uf-attribute-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #dfeaf3;border-radius:10px;}.uf-attribute-table thead td{background:#eef7fd;color:var(--uf-navy);font-weight:750;padding:12px 14px;border:0;}.uf-attribute-table tbody td{padding:11px 14px;border-top:1px solid #edf3f8;border-bottom:0!important;color:#38556d;}.uf-attribute-table tbody td:first-child{width:36%;color:#70879a;background:#fbfdff;}
.uf-documents-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;}.uf-document-card{border:1px solid #dce8f2;border-radius:10px;padding:14px;display:flex;align-items:center;gap:12px;color:var(--uf-ink)!important;}.uf-document-icon{display:flex;width:44px;height:44px;align-items:center;justify-content:center;background:#eaf4fb;color:#0d64ad;border-radius:8px;font-size:11px;font-weight:800;}.uf-document-card small,.uf-document-card strong{display:block;}.uf-document-card small{color:#8195a5;font-size:11px;}.uf-document-card strong{font-size:13px;margin-top:3px;}

.uf-related-section{margin:0 0 30px;}.uf-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}.uf-section-heading h2{font-size:25px;}
.box-product.uf-related-grid,.uf-category-products.product-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch;}
.box-product.uf-related-grid > div,.box-product.uf-related-grid > article,.uf-category-products.product-grid > article,.uf-category-products.product-grid > div{width:auto!important;margin:0!important;display:flex!important;flex-direction:column;background:#fff;border:1px solid #dfeaf3;border-radius:12px;padding:12px;box-sizing:border-box;box-shadow:0 6px 18px rgba(31,75,112,.04);min-height:100%;vertical-align:top;}
.uf-product-card .image,.uf-category-products .image{float:none!important;text-align:center;background:#f6fafe;border-radius:9px;min-height:180px;display:flex;align-items:center;justify-content:center;margin:0 0 11px!important;padding:10px;box-sizing:border-box;}
.uf-product-card .image img,.uf-category-products .image img{max-width:100%;max-height:190px;width:auto;height:auto;border:0!important;object-fit:contain;}
.uf-product-card .name,.uf-category-products .name{margin:0 0 8px!important;min-height:44px;}.uf-product-card .name a,.uf-category-products .name a{font-size:14px!important;font-weight:700!important;line-height:1.35;color:var(--uf-ink)!important;text-decoration:none!important;}
.uf-product-card .price,.uf-category-products .price{margin:auto 0 10px!important;color:var(--uf-navy)!important;font-size:18px!important;font-weight:800;}.uf-product-card .price-old,.uf-category-products .price-old{font-size:12px!important;color:#91a0ad!important;}.uf-product-card .price-new,.uf-category-products .price-new{color:#d8493f!important;}
.uf-card-button{display:block!important;text-align:center;margin-top:auto;}.uf-tags{background:#fff;border:1px solid #e2ebf3;border-radius:10px;padding:12px 14px;margin-bottom:24px;color:#71879a;}

/* CATEGORY */
.uf-category-header{margin-bottom:22px;}.uf-category-heading h1{font-size:34px;}
.uf-category-intro{display:flex;gap:20px;background:#fff;border:1px solid #dfeaf3;border-radius:12px;padding:18px;margin-bottom:20px;overflow:hidden;}.uf-category-intro .image{float:none;margin:0;flex:0 0 220px;text-align:center;}.uf-category-intro .image img{max-width:220px;height:auto;}.uf-category-description{color:#456279;line-height:1.65;}.uf-category-description h1{font-size:24px;}.uf-category-description img{max-width:100%;height:auto;}
.uf-subcategory-section{margin-bottom:22px;}.uf-subcategory-section h2{font-size:18px;}.uf-subcategory-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0!important;}.uf-subcategory-card{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#fff;border:1px solid #dce8f2;border-radius:9px;color:#294d69!important;font-weight:650;}.uf-subcategory-card:hover{border-color:#8ac7ee;background:#f5fbff;}.uf-subcategory-card span{color:var(--uf-blue);}
.uf-product-filter{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dfeaf3;border-radius:10px;padding:10px 12px;margin-bottom:10px;}.uf-product-filter .display{margin-right:auto;}.uf-product-filter .sort,.uf-product-filter .limit{float:none!important;margin:0!important;display:flex;align-items:center;gap:6px;}.uf-product-filter select{min-height:36px;padding:6px 9px;max-width:210px;}.product-compare{text-align:right;margin:0 0 10px;}.product-compare a{font-size:12px;color:#6b8499!important;}
.uf-category-products .description{font-size:12px!important;line-height:1.45;color:#71869a;max-height:55px;overflow:hidden;margin-bottom:9px!important;}.uf-category-products .price-tax{display:block;font-size:10px;color:#8fa0ad;font-weight:400;}.uf-card-tools{display:flex;gap:12px;margin-top:8px;font-size:11px;}.uf-card-tools a{color:#7b8f9f!important;}.uf-pagination{margin:20px 0;}.pagination .links a,.pagination .links b{border:1px solid #dce8f2!important;border-radius:6px!important;padding:7px 10px!important;background:#fff!important;color:#45647c!important;}.pagination .links b{background:var(--uf-blue)!important;color:#fff!important;border-color:var(--uf-blue)!important;}
.uf-category-products.product-list{display:block!important;}.uf-category-products.product-list > article,.uf-category-products.product-list > div{display:grid!important;grid-template-columns:190px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid #dfeaf3;border-radius:12px;padding:14px;margin-bottom:12px;}.uf-category-products.product-list .image{grid-row:1/5;min-height:150px;margin:0!important;}.uf-category-products.product-list .name{min-height:0;margin:0!important;}.uf-category-products.product-list .description{max-height:none;}.uf-category-products.product-list .cart{grid-column:3;grid-row:1/4;}.uf-category-products.product-list .uf-card-tools{grid-column:2/4;}

/* Footer */
#footer.uf-footer{clear:both;overflow:visible;min-height:0;padding:0;border:0;background:linear-gradient(120deg,#082746,#0b365f);border-radius:16px 16px 0 0;color:#dbe9f3;margin-top:30px;}
.uf-footer-inner{display:grid;grid-template-columns:minmax(290px,1.9fr) repeat(4,minmax(120px,.82fr));gap:14px;padding:21px 26px 16px;align-items:start;}.uf-footer-brand img{display:block;max-width:195px;max-height:48px;object-fit:contain;opacity:.98;}.uf-footer-brand strong{font-size:24px;color:#fff;}.uf-footer-brandline{margin-top:7px;}.uf-footer-brand p{font-size:11px;line-height:1.35;color:#b9d0e0;max-width:none;margin:0 0 6px;white-space:nowrap;}.uf-footer-contact{display:inline-flex;align-items:center;color:#fff!important;font-weight:700;font-size:12px;margin:0;}.uf-footer-messengers{font-weight:500;color:#a9c8dd;margin-left:5px;}
.uf-footer-column h3{color:#fff!important;font-size:13px!important;margin:0 0 9px!important;}.uf-footer-column ul{list-style:none;margin:0!important;padding:0!important;}.uf-footer-column li{margin:0 0 5px!important;}.uf-footer-column a{color:#c8dae7!important;font-size:11.5px;text-decoration:none!important;}.uf-footer-column a:hover{color:#fff!important;}.uf-footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:9px 28px;border-top:1px solid rgba(255,255,255,.11);color:#9fbbce;font-size:10.5px;}
#powered{display:none;}

/* Generic modules inherit the new card language */
.box-product:not(.uf-related-grid){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}.box-product:not(.uf-related-grid)>div{width:auto!important;margin:0!important;background:#fff;border:1px solid #dfeaf3;border-radius:10px;padding:10px;box-sizing:border-box;}.box-product:not(.uf-related-grid) .image{text-align:center;}.box-product:not(.uf-related-grid) .image img{max-width:100%;height:auto;}

/* TABLET */
@media screen and (max-width:1100px){
  #container{padding:0 18px;}
  .uf-header-main{grid-template-columns:230px minmax(240px,1fr);gap:14px;}.uf-header-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid #edf3f8;padding-top:8px;}.uf-brand-note{display:none;}
  .uf-product-hero{grid-template-columns:minmax(250px,320px) minmax(0,1fr)!important;gap:16px;}.uf-product-summary{padding:20px!important;}.uf-product-summary h1{font-size:28px;}.uf-gallery{grid-template-columns:54px 1fr;}.product-info .uf-thumbs a{width:50px;height:50px;}.product-info .uf-main-image{min-height:330px;}.uf-swatch-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;}.uf-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .uf-quick-specs{grid-template-columns:repeat(3,1fr);}.box-product.uf-related-grid,.uf-category-products.product-grid{grid-template-columns:repeat(3,1fr);}.uf-footer-inner{grid-template-columns:minmax(260px,1.6fr) repeat(2,1fr);}.uf-footer-brand p{white-space:normal;}.uf-footer-column{min-width:0;}
}

/* MOBILE */
@media screen and (max-width:768px){
  html,body{min-width:0;width:100%;overflow-x:hidden;}
  body,td,th,input,textarea,select,a{font-size:14px;}
  #container{width:100%;max-width:none;padding:0 10px;}
  #column-left,#column-right{float:none;width:100%;}.route-product-product #column-left,.route-product-product #column-right{display:none!important;}
  #column-left + #column-right + #content,#column-left + #content,#column-right + #content{margin-left:0;margin-right:0;}
  h1{font-size:27px;}

  #header.uf-header{margin-top:8px;border-radius:12px 12px 0 0;display:block!important;}
  .uf-header-main{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;padding:12px!important;align-items:center!important;}
  .uf-brand-zone{grid-column:1;}.uf-logo{width:auto!important;margin:0!important;text-align:left!important;}.uf-logo img{max-width:190px!important;max-height:52px!important;}.uf-brand-note{display:none;}
  #header #search,.uf-search{grid-column:1/-1!important;grid-row:2;width:100%!important;margin:0!important;order:0!important;}.uf-header-actions{grid-column:1/-1!important;grid-row:3;display:flex!important;justify-content:space-between!important;gap:5px!important;border-top:1px solid #edf3f8;padding-top:7px;overflow:visible;}.uf-phone-action{border-left:0;border-right:0;}
  .uf-action{font-size:0;padding:6px;}.uf-action span{display:none;}.uf-action svg{width:23px;height:23px;}
  .uf-language a{font-size:12px;padding:5px;}.uf-currency-wrap{display:none;}.uf-cart-copy strong{display:none;}.uf-cart-copy small{font-size:10px;max-width:75px;}
  #header #cart .content{right:-6px!important;width:min(360px,calc(100vw - 24px))!important;}
  .uf-phone{font-size:12px;}

  #menu.uf-main-nav{display:block!important;height:auto!important;min-height:0;padding:7px!important;margin-bottom:14px;border-radius:0 0 12px 12px;overflow:visible!important;}
  .uf-catalog-toggle{width:100%;margin:0;justify-content:flex-start;min-height:44px;}
  #menu > ul.uf-menu-list{display:none!important;width:100%;flex-direction:column;padding-top:6px!important;}
  #menu.uf-menu-open > ul.uf-menu-list{display:flex!important;}
  #menu > ul.uf-menu-list > li{display:block!important;width:100%!important;padding:0!important;}
  #menu > ul.uf-menu-list > li > a{min-height:44px;justify-content:flex-start;padding:10px 12px!important;border-bottom:1px solid #edf3f8;}
  #menu > ul.uf-menu-list > li > div.uf-mega-menu{display:none!important;position:static!important;width:100%!important;margin:0!important;padding:6px 10px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#f4f9fd!important;}
  #menu > ul.uf-menu-list > li.mobile-open > div.uf-mega-menu{display:block!important;}
  #menu > ul.uf-menu-list > li > div.uf-mega-menu > ul{display:block!important;width:100%!important;padding:0!important;}.uf-mega-menu li a{color:#34536d!important;}

  .uf-breadcrumb{white-space:nowrap;overflow-x:auto;padding-bottom:4px;}
  .uf-product-hero{display:block!important;}.uf-gallery-panel,.uf-product-summary{margin-bottom:12px!important;border-radius:12px;}.uf-gallery-panel{padding:10px;}.uf-gallery{display:flex;flex-direction:column-reverse;gap:10px;}.product-info .uf-main-image{min-height:300px!important;width:100%!important;padding:0!important;margin:0!important;}.product-info .uf-main-image img{max-width:92%!important;max-height:58vh!important;}.product-info .uf-thumbs{width:100%!important;display:flex!important;flex-direction:row!important;overflow-x:auto!important;gap:7px!important;padding-bottom:3px;}.product-info .uf-thumbs a{width:58px!important;height:58px!important;flex:0 0 58px;}
  .uf-product-summary{padding:17px!important;}.uf-product-summary h1{font-size:26px;}.uf-product-meta{grid-template-columns:1fr;}.uf-product-meta > div{grid-template-columns:105px 1fr;}
  .uf-choice-grid,.uf-swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.uf-swatch-image{height:44px;}
  .product-info .cart.uf-buy-card{grid-template-columns:1fr!important;}.uf-buy-links{grid-column:1!important;}.product-info .cart .minimum{grid-column:1!important;}.uf-primary-button,.uf-secondary-button{width:100%;}
  .uf-quick-specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}.uf-spec-card{min-height:72px;padding:11px 9px;}.uf-spec-icon{display:none;}
  .uf-product-content{padding:0 13px 16px;border-radius:12px;}.htabs.uf-tabs{gap:20px;}.htabs.uf-tabs a{font-size:13px;padding:15px 0 11px;}.uf-richtext h2{font-size:21px;}.uf-attribute-table tbody td{padding:9px 8px;font-size:12px;}.uf-attribute-table tbody td:first-child{width:42%;}
  .box-product.uf-related-grid,.uf-category-products.product-grid,.box-product:not(.uf-related-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px;}.uf-product-card .image,.uf-category-products .image{min-height:130px;}.uf-product-card .name a,.uf-category-products .name a{font-size:12px!important;}.uf-product-card .price,.uf-category-products .price{font-size:16px!important;}

  .uf-category-intro{display:block;padding:13px;}.uf-category-intro .image{margin-bottom:12px;}.uf-subcategory-grid{grid-template-columns:1fr!important;}.uf-product-filter{display:grid;grid-template-columns:1fr 1fr;gap:8px;}.uf-product-filter .display{grid-column:1/-1;}.uf-product-filter .sort,.uf-product-filter .limit{display:block;}.uf-product-filter select{width:100%;max-width:none;margin-top:4px;}.uf-category-products.product-list > article,.uf-category-products.product-list > div{grid-template-columns:110px 1fr;gap:10px;}.uf-category-products.product-list .image{grid-row:1/5;min-height:100px;}.uf-category-products.product-list .cart{grid-column:2;grid-row:auto;}.uf-category-products.product-list .uf-card-tools{grid-column:2;}

  #footer.uf-footer{border-radius:12px 12px 0 0;margin-top:20px;}.uf-footer-inner{grid-template-columns:1fr 1fr;gap:17px 12px;padding:19px 16px 15px;}.uf-footer-brand{grid-column:1/-1;}.uf-footer-brand img{max-width:175px;}.uf-footer-brandline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}.uf-footer-brand p{margin:0;}.uf-footer-bottom{padding:9px 16px;display:block;}.uf-footer-bottom span{display:block;margin:2px 0;}
}

@media screen and (max-width:420px){
  .uf-header-actions{gap:1px!important;}.uf-logo img{max-width:165px!important;}.uf-quick-specs{grid-template-columns:1fr 1fr;}.box-product.uf-related-grid,.uf-category-products.product-grid,.box-product:not(.uf-related-grid){grid-template-columns:1fr 1fr!important;}.uf-footer-inner{grid-template-columns:1fr;}.uf-footer-brand{grid-column:auto;}
}

/* ===== UltraFort Responsive V4 — product gallery + structured content ===== */
/* Gallery: one image means one clean large stage. Thumbnails exist only when
   there is actually something to switch to. */
.uf-gallery-panel{display:flex;flex-direction:column;gap:12px;align-self:start;}
.uf-gallery.uf-gallery-single{display:block!important;}
.uf-gallery.uf-gallery-multiple{display:grid!important;grid-template-columns:62px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;}
.product-info .uf-main-image{min-height:360px!important;height:360px!important;background:linear-gradient(180deg,#ffffff 0%,#eef8fe 100%)!important;border:1px solid #e2edf5!important;border-radius:13px!important;}
.product-info .uf-main-image a{min-height:360px!important;height:360px!important;padding:16px!important;}
.product-info .uf-main-image img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:330px!important;object-fit:contain!important;margin:auto!important;}
.product-info .uf-thumbs{width:62px!important;display:flex!important;flex-direction:column!important;gap:9px!important;margin:0!important;overflow:visible!important;}
.product-info .uf-thumbs a{width:60px!important;height:60px!important;flex:0 0 60px!important;padding:4px!important;}

/* The compact attribute cards now belong to the image column. */
.uf-gallery-specs{display:grid;grid-template-columns:1fr;gap:8px;margin-top:2px;}
.uf-gallery-specs .uf-spec-card{min-height:62px;padding:10px 11px;border-radius:10px;background:linear-gradient(100deg,#fff 0%,#eef8fe 100%);align-items:center;}
.uf-gallery-specs .uf-spec-icon{width:38px;height:38px;flex-basis:38px;border-radius:10px;background:linear-gradient(145deg,#e9f8ff,#c8edff);border-color:#b2dcf4;}
.uf-gallery-specs .uf-spec-icon svg{width:22px;height:22px;stroke:#096dbb;}
.uf-gallery-specs .uf-spec-card small{font-size:11px;margin-bottom:3px;}
.uf-gallery-specs .uf-spec-card strong{font-size:12.5px;line-height:1.28;}

/* Purchase / delivery micro-cards: useful information close to the decision. */
.uf-service-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-4px 0 22px;}
.uf-service-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fff,#eef8fe);border:1px solid #dbeaf4;border-radius:12px;padding:13px 15px;min-height:74px;box-sizing:border-box;}
.uf-service-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;background:linear-gradient(145deg,#edfaff,#c8edff);border:1px solid #b5ddf4;}
.uf-service-icon svg{width:23px;height:23px;fill:none;stroke:#086cb8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.uf-service-card strong{display:block;color:#0c2e4e;font-size:13.5px;margin-bottom:3px;}
.uf-service-card span:not(.uf-service-icon){display:block;color:#688198;font-size:11.5px;line-height:1.35;}

/* Rich description language shared by legacy and future product content. */
.uf-product-content{padding:0 25px 28px!important;}
.uf-richtext{color:#35536d!important;line-height:1.68!important;}
.uf-richtext h2{color:#0d2f50!important;font-weight:800!important;letter-spacing:-.01em;}
.uf-richtext h3{color:#173d5d!important;font-weight:750!important;}
.uf-richtext img{border-radius:12px;box-shadow:0 6px 22px rgba(25,65,98,.08);}
.uf-richtext hr{border:0;border-top:1px solid #e1ebf3;margin:24px 0;}

/* AUTOLUX pilot: this is the visual content model for future UltraFort cards. */
.uf-structured-description{display:flex;flex-direction:column;gap:22px;}
.uf-description-lead{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr);gap:24px;padding:24px;background:linear-gradient(135deg,#f9fdff,#eef8fe);border:1px solid #dcebf5;border-radius:14px;}
.uf-description-lead .uf-kicker{display:inline-block;color:#0876d9;font-size:11px;letter-spacing:.13em;font-weight:850;margin-bottom:6px;}
.uf-description-lead h2{font-size:25px!important;margin:0 0 12px!important;line-height:1.2;}
.uf-description-lead p{margin:0 0 9px!important;font-size:14px;}
.uf-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start;}
.uf-benefit-grid span{display:flex;align-items:center;min-height:46px;background:#fff;border:1px solid #dceaf4;border-radius:9px;padding:9px 10px;color:#1c496c;font-size:12px;font-weight:750;box-sizing:border-box;}
.uf-benefit-grid span:before{content:'✓';display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;margin-right:7px;border-radius:50%;background:#e6f6ff;color:#0876d9;font-size:11px;font-weight:900;}
.uf-description-section{padding:4px 0;}
.uf-section-title{display:flex;align-items:center;gap:10px;margin-bottom:13px;}
.uf-section-title > span{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:31px;padding:0 7px;border-radius:9px;background:linear-gradient(145deg,#e8f8ff,#c8edff);border:1px solid #b8ddf3;color:#0876d9;font-size:11px;font-weight:850;box-sizing:border-box;}
.uf-section-title h2{margin:0!important;font-size:21px!important;}
.uf-tech-table{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dce8f1;border-radius:12px;overflow:hidden;background:#fff;}
.uf-tech-table > div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:12px;padding:11px 13px;border-bottom:1px solid #edf3f7;box-sizing:border-box;}
.uf-tech-table > div:nth-child(odd){border-right:1px solid #edf3f7;}
.uf-tech-table > div:nth-last-child(-n+2){border-bottom:0;}
.uf-tech-table > div span{color:#71879a;font-size:12px;}
.uf-tech-table > div strong{color:#183d5d;font-size:12.5px;font-weight:750;}
.uf-two-col-content{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.uf-info-panel{background:#f8fcff;border:1px solid #dfebf4;border-radius:12px;padding:18px;}
.uf-info-panel p{margin:0 0 10px!important;}.uf-info-panel ul{margin:8px 0 0;padding-left:20px;}.uf-info-panel li{margin:0 0 7px;}
.uf-tint-panel{background:linear-gradient(135deg,#f9fdff,#eef8fe);border:1px solid #dcebf5;border-radius:13px;padding:18px;}
.uf-tint-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.uf-tint-grid > div{background:#fff;border:1px solid #dceaf4;border-radius:10px;padding:13px;}
.uf-tint-grid strong,.uf-tint-grid span{display:block;}.uf-tint-grid strong{font-size:12.5px;color:#123858;margin-bottom:5px;}.uf-tint-grid span{font-size:12px;color:#657f95;line-height:1.4;}
.uf-application-gallery{padding-top:4px;}
.uf-before-after-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.uf-before-after-grid figure{margin:0;background:#edf6fc;border:1px solid #dce8f2;border-radius:12px;overflow:hidden;}
.uf-before-after-grid img{display:block;width:100%!important;height:auto!important;max-height:440px;object-fit:cover;border-radius:0!important;box-shadow:none!important;}

/* The legacy HTML on other products still gets a cleaner, more readable treatment. */
.uf-legacy-description > h2:first-child{margin-top:4px!important;}
.uf-legacy-description p{max-width:1050px;}
.uf-legacy-description strong{color:#173d5d;}
.uf-legacy-description img{margin:10px 0 16px;}

@media screen and (max-width:1100px){
  .product-info .uf-main-image,.product-info .uf-main-image a{height:330px!important;min-height:330px!important;}
  .product-info .uf-main-image img{max-height:300px!important;}
  .uf-service-strip{grid-template-columns:1fr 1fr 1fr;}
  .uf-description-lead{grid-template-columns:1fr;}
  .uf-benefit-grid{grid-template-columns:repeat(4,1fr);}
  .uf-tech-table{grid-template-columns:1fr;}
  .uf-tech-table > div:nth-child(odd){border-right:0;}
  .uf-tech-table > div:nth-last-child(2){border-bottom:1px solid #edf3f7;}
}

@media screen and (max-width:768px){
  .uf-gallery.uf-gallery-multiple{display:flex!important;flex-direction:column-reverse!important;}
  .product-info .uf-thumbs{width:100%!important;display:flex!important;flex-direction:row!important;overflow-x:auto!important;gap:7px!important;}
  .product-info .uf-main-image,.product-info .uf-main-image a{height:300px!important;min-height:300px!important;}
  .product-info .uf-main-image img{max-height:270px!important;max-width:94%!important;}
  .uf-gallery-specs{grid-template-columns:1fr 1fr;}
  .uf-service-strip{grid-template-columns:1fr;gap:7px;margin-bottom:16px;}
  .uf-service-card{min-height:62px;padding:10px 12px;}
  .uf-product-content{padding:0 14px 18px!important;}
  .uf-description-lead{padding:16px;gap:14px;}
  .uf-description-lead h2{font-size:21px!important;}
  .uf-benefit-grid{grid-template-columns:1fr 1fr;}
  .uf-two-col-content,.uf-tint-grid,.uf-before-after-grid{grid-template-columns:1fr;}
  .uf-tech-table > div{grid-template-columns:42% 58%;gap:8px;padding:9px 10px;}
}

@media screen and (max-width:440px){
  .uf-gallery-specs{grid-template-columns:1fr;}
  .uf-benefit-grid{grid-template-columns:1fr;}
  .uf-tech-table > div{grid-template-columns:1fr;gap:3px;}
}

/* ===== UltraFort Responsive V5 — mobile nav/breadcrumb + price/packing layout ===== */
.uf-mobile-only{display:none!important;}
.uf-price-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.55fr);gap:18px;align-items:stretch;}
.uf-price-column{min-width:0;}
.uf-price-packaging{display:flex;flex-direction:column;justify-content:center;border-left:1px solid #d6e7f3;padding-left:18px;min-width:0;}
.uf-price-packaging span{display:block;font-size:12px;color:#6f879a;margin-bottom:5px;}
.uf-price-packaging strong{display:block;color:#173d5d;font-size:14px;line-height:1.35;font-weight:750;overflow-wrap:anywhere;}

@media screen and (max-width:768px){
  /* Pale-blue mobile catalogue list, keeping UltraFort blue type. */
  #menu.uf-main-nav{background:#f7fcff!important;}
  #menu > ul.uf-menu-list{gap:5px!important;padding-top:7px!important;}
  #menu > ul.uf-menu-list > li > a{
    min-height:44px!important;
    margin:0!important;
    padding:10px 12px!important;
    background:#eaf7ff!important;
    color:#0b4f86!important;
    border:1px solid #d5eaf8!important;
    border-radius:8px!important;
    box-shadow:none!important;
  }
  #menu > ul.uf-menu-list > li > a:hover,
  #menu > ul.uf-menu-list > li > a:focus{
    background:#dff2ff!important;
    color:#075fae!important;
  }
  #menu > ul.uf-menu-list > li > div.uf-mega-menu{
    margin:4px 0 2px!important;
    padding:6px 8px!important;
    background:#f2faff!important;
    border:1px solid #dceef9!important;
    border-radius:8px!important;
  }
  #menu > ul.uf-menu-list > li > div.uf-mega-menu li a{
    color:#275b82!important;
    background:transparent!important;
  }

  /* Breadcrumb must wrap on the phone instead of running off screen. */
  .breadcrumb.uf-breadcrumb,
  .uf-breadcrumb{
    white-space:normal!important;
    overflow:visible!important;
    overflow-x:visible!important;
    max-width:100%!important;
    line-height:1.55!important;
    padding:0 1px 5px!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .uf-breadcrumb a{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  /* Keep the compact original four product facts on mobile. */
  .uf-desktop-only{display:none!important;}
  .uf-mobile-only{display:grid!important;}
  .uf-price-layout{display:block!important;}
}

/* ===== UltraFort Responsive V6 — cart/buttons/category/RAL polish ===== */

/* OpenCart 1.5 mixes anchors and input buttons. Force true visual centering everywhere. */
a.button,button.button,
.uf-card-button,.uf-primary-button,.uf-secondary-button,
#button-cart,#button-login,#button-register,#button-guest,#button-payment-address,
#button-shipping-address,#button-shipping-method,#button-payment-method,#button-confirm{
  box-sizing:border-box!important;
  min-height:42px!important;
  line-height:1.15!important;
  vertical-align:middle!important;
}
a.button,button.button,
.uf-primary-button,.uf-secondary-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 16px!important;
}
input.button,input[type="button"].button,input[type="submit"].button,
.uf-card-button,#button-cart,#button-login,#button-register,#button-guest,
#button-payment-address,#button-shipping-address,#button-shipping-method,
#button-payment-method,#button-confirm{
  height:42px!important;
  padding:0 16px!important;
  line-height:40px!important;
  vertical-align:middle!important;
}
.buttons .left,.buttons .right{display:flex;align-items:center;min-height:44px;}
.buttons .right{justify-content:flex-end;}

/* RAL / colour cards: the colour itself becomes a full-width band, not a tiny square. */
.product-info .uf-swatch-card{overflow:hidden!important;padding:0 8px 8px!important;}
.product-info .uf-swatch-image{
  display:block!important;
  width:calc(100% + 16px)!important;
  height:48px!important;
  margin:0 -8px 6px!important;
  border-radius:8px 8px 4px 4px!important;
  background:#eef5f9!important;
}
.product-info .uf-swatch-image img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border-radius:0!important;}
.product-info .uf-swatch-image.uf-solid-ral img{opacity:0!important;}
.uf-colour-catalog-link{display:none;margin-top:8px;padding:9px 11px;border-radius:8px;background:#eef8ff;border:1px solid #d8edf9;color:#0b67ad!important;font-size:12px;font-weight:650;line-height:1.4;}
.uf-colour-catalog-link.is-visible{display:block;}
.uf-colour-catalog-link:hover{background:#e2f4ff;color:#075795!important;}

/* Category cards: use the available area for product information instead of empty white space. */
.uf-product-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0 0 8px;color:#5e7890;font-size:11.5px;line-height:1.35;}
.uf-product-meta span{display:inline-flex;gap:4px;align-items:baseline;background:#f3f8fc;border:1px solid #e2edf5;border-radius:6px;padding:4px 7px;}
.uf-product-meta b{color:#35566f;font-weight:700;}
.uf-category-products .description{font-size:13px!important;line-height:1.5!important;color:#627c91;max-height:78px!important;overflow:hidden;margin-bottom:10px!important;}

.uf-category-products.product-list > article,.uf-category-products.product-list > div{
  grid-template-columns:230px minmax(0,1fr) 165px!important;
  gap:20px!important;
  align-items:center!important;
  padding:16px!important;
  min-height:235px;
}
.uf-category-products.product-list .image{
  grid-row:1/6!important;
  min-height:205px!important;
  height:205px!important;
  padding:10px!important;
  margin:0!important;
}
.uf-category-products.product-list .image img{
  width:auto!important;
  height:auto!important;
  max-width:205px!important;
  max-height:205px!important;
  object-fit:contain!important;
}
.uf-category-products.product-list .name a{font-size:17px!important;line-height:1.35!important;}
.uf-category-products.product-list .description{max-height:88px!important;font-size:13.5px!important;}
.uf-category-products.product-list .price{font-size:21px!important;text-align:center;margin:0 0 12px!important;}
.uf-category-products.product-list .cart{grid-column:3!important;grid-row:1/5!important;display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-width:150px;}
.uf-category-products.product-list .uf-card-button{width:100%!important;}
.uf-category-products.product-list .uf-card-tools{grid-column:2/4!important;margin-top:2px;}

/* Grid view gets larger product photography as well. */
.uf-category-products.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;}
.uf-category-products.product-grid > article,.uf-category-products.product-grid > div{padding:14px!important;}
.uf-category-products.product-grid .image{min-height:230px!important;height:230px!important;padding:12px!important;}
.uf-category-products.product-grid .image img{max-width:100%!important;max-height:215px!important;width:auto!important;height:auto!important;object-fit:contain!important;}
.uf-category-products.product-grid .name a{font-size:15px!important;}

/* Cart: clean title, roomier product image and less legacy-table feel. */
.cart-info{background:#fff;border:1px solid #dce9f3;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(31,75,112,.04);}
.cart-info table{margin:0!important;}
.cart-info thead td{background:#f1f8fd!important;color:#35536d!important;font-weight:700!important;padding:12px 10px!important;}
.cart-info tbody td{padding:13px 10px!important;vertical-align:middle!important;}
.cart-info .image img{max-width:88px!important;max-height:88px!important;width:auto!important;height:auto!important;object-fit:contain!important;}
.cart-info .name a{font-weight:700!important;line-height:1.35;}
.cart-info .quantity input[type="text"]{width:58px!important;text-align:center;}
.cart-total{background:#fff;border:1px solid #dce9f3;border-radius:10px;padding:12px 14px;margin-top:14px;}
.cart-total table{margin:0 0 0 auto;}

/* Checkout steps retain existing 4-step logic but visually belong to UltraFort. */
#checkout .checkout-heading{background:#edf7fd!important;border:1px solid #d9e8f3!important;border-radius:9px!important;color:#234763!important;padding:12px 14px!important;margin-bottom:8px!important;font-size:15px!important;font-weight:750!important;}
#checkout .checkout-content{background:#fff!important;border:1px solid #e0ebf3!important;border-radius:10px!important;padding:18px!important;margin:0 0 12px!important;box-sizing:border-box;}
#checkout .checkout-content input[type="text"],#checkout .checkout-content input[type="password"],#checkout .checkout-content select,#checkout .checkout-content textarea{max-width:100%;}

@media screen and (max-width:1100px){
  .uf-category-products.product-list > article,.uf-category-products.product-list > div{grid-template-columns:190px minmax(0,1fr) 145px!important;gap:14px!important;min-height:205px;}
  .uf-category-products.product-list .image{height:180px!important;min-height:180px!important;}
  .uf-category-products.product-list .image img{max-width:175px!important;max-height:175px!important;}
}

@media screen and (max-width:768px){
  .uf-category-products.product-list > article,.uf-category-products.product-list > div{grid-template-columns:120px minmax(0,1fr)!important;gap:10px!important;min-height:0;padding:11px!important;}
  .uf-category-products.product-list .image{grid-row:1/6!important;height:125px!important;min-height:125px!important;padding:6px!important;}
  .uf-category-products.product-list .image img{max-width:115px!important;max-height:115px!important;}
  .uf-category-products.product-list .name a{font-size:13px!important;}
  .uf-category-products.product-list .description{font-size:11.5px!important;max-height:55px!important;}
  .uf-category-products.product-list .cart{grid-column:2!important;grid-row:auto!important;min-width:0;align-items:stretch;}
  .uf-category-products.product-list .price{text-align:left;font-size:17px!important;margin:5px 0 7px!important;}
  .uf-category-products.product-list .uf-card-tools{grid-column:2!important;}
  .uf-category-products.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .uf-category-products.product-grid .image{height:145px!important;min-height:145px!important;padding:6px!important;}
  .uf-category-products.product-grid .image img{max-height:135px!important;}
  .uf-product-meta{font-size:10px;gap:4px;}.uf-product-meta span{padding:3px 5px;}
  .product-info .uf-swatch-image{height:50px!important;}
  .uf-colour-catalog-link{font-size:12px;padding:9px 10px;}
  #checkout .checkout-content{padding:13px!important;}
  .cart-info{overflow-x:auto;}
}


/* Explicit list-card placement: photo | useful text | price/action. */
.uf-category-products.product-list .name{grid-column:2!important;grid-row:1!important;align-self:end;}
.uf-category-products.product-list .uf-product-meta{grid-column:2!important;grid-row:2!important;}
.uf-category-products.product-list .description{grid-column:2!important;grid-row:3!important;align-self:start;}
.uf-category-products.product-list .rating{grid-column:2!important;grid-row:4!important;}
.uf-category-products.product-list .price{grid-column:3!important;grid-row:1!important;align-self:end!important;}
.uf-category-products.product-list .cart{grid-column:3!important;grid-row:2/5!important;align-self:start!important;}
.uf-category-products.product-list .uf-card-tools{grid-column:2/4!important;grid-row:5!important;}
@media screen and (max-width:768px){
  .uf-category-products.product-list .name{grid-column:2!important;grid-row:1!important;}
  .uf-category-products.product-list .uf-product-meta{grid-column:2!important;grid-row:2!important;}
  .uf-category-products.product-list .description{grid-column:2!important;grid-row:3!important;}
  .uf-category-products.product-list .price{grid-column:2!important;grid-row:4!important;}
  .uf-category-products.product-list .cart{grid-column:2!important;grid-row:5!important;}
  .uf-category-products.product-list .uf-card-tools{grid-column:2!important;grid-row:6!important;}
}


/* V7: informative SEO content without turning the product page into a keyword wall. */
.uf-use-section>p{max-width:980px;line-height:1.72;color:#526f86;margin:0 0 14px;}
.uf-use-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0;}
.uf-use-grid>div{background:#f7fbfe;border:1px solid #deebf4;border-radius:10px;padding:14px;min-height:105px;}
.uf-use-grid strong{display:block;color:#19364f;font-size:14px;margin-bottom:6px;}
.uf-use-grid span{display:block;color:#607b90;font-size:12.5px;line-height:1.5;}
.uf-seo-note{margin:14px 0 0!important;padding:13px 15px;border-left:3px solid #69b9e8;background:#f5fbff;border-radius:0 8px 8px 0;color:#516f86!important;line-height:1.62!important;}
@media (max-width:900px){.uf-use-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.uf-use-grid{grid-template-columns:1fr;}.uf-use-grid>div{min-height:0;}.uf-use-section>p{line-height:1.62;}}

/* ===== UltraFort Responsive V8 — home SEO structure + true RAL swatches ===== */

/* RAL / image options: use the real OpenCart option image as the colour band.
   V7 tried to sample the bitmap through canvas; that washed out many colours.
   The source option image is already the correct visual swatch, so stretch it
   cleanly across the card and keep it visible. */
.product-info .uf-swatch-image{
  display:block!important;
  width:calc(100% + 16px)!important;
  height:52px!important;
  margin:0 -8px 7px!important;
  overflow:hidden!important;
  background:#fff!important;
  border-radius:8px 8px 4px 4px!important;
}
.product-info .uf-swatch-image img,
.product-info .uf-swatch-image.uf-solid-ral img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  opacity:1!important;
  border:0!important;
  border-radius:0!important;
}

/* HOME */
.uf-home-page{max-width:1180px;margin:0 auto;}
.uf-home-hero{position:relative;margin:4px 0 22px;padding:34px 34px 28px;text-align:center;background:linear-gradient(135deg,#ffffff 0%,#f2f9fe 55%,#e7f5fd 100%);border:1px solid #dceaf4;border-radius:18px;box-shadow:0 10px 30px rgba(31,75,112,.05);overflow:hidden;}
.uf-home-hero:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-120px;top:-150px;background:radial-gradient(circle,rgba(79,184,239,.17),rgba(79,184,239,0) 68%);pointer-events:none;}
.uf-home-eyebrow{display:inline-block;margin:0 0 8px;color:#0876d9;font-size:12px;font-weight:800;letter-spacing:.16em;}
.uf-home-hero h1{max-width:930px;margin:0 auto 12px;font-size:36px;line-height:1.15;letter-spacing:-.025em;}
.uf-home-lead{max-width:920px;margin:0 auto;color:#4e6980;font-size:16px;line-height:1.65;}
.uf-home-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:26px;text-align:left;}
.uf-home-benefit{display:flex;align-items:flex-start;gap:11px;padding:13px 13px;background:rgba(255,255,255,.88);border:1px solid #dceaf4;border-radius:12px;min-height:82px;box-sizing:border-box;}
.uf-home-benefit-icon{width:38px;height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(145deg,#edf9ff,#cfeeff);border:1px solid #bddff3;color:#0876d9;}
.uf-home-benefit-icon svg{width:21px;height:21px;fill:none;stroke:#0876d9;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.uf-home-benefit strong{display:block;margin:1px 0 3px;color:#123659;font-size:13px;line-height:1.3;}
.uf-home-benefit span{display:block;color:#6c8396;font-size:11.5px;line-height:1.4;}

.uf-home-catalog,.uf-home-seo,.uf-home-faq{margin:0 0 22px;padding:26px;background:#fff;border:1px solid #dfeaf3;border-radius:16px;box-shadow:0 7px 22px rgba(31,75,112,.04);}
.uf-home-section-head{text-align:center;max-width:820px;margin:0 auto 18px;}
.uf-home-section-head>span{display:block;margin-bottom:5px;color:#1585ce;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.uf-home-section-head h2{margin:0 0 8px;font-size:25px;}
.uf-home-section-head p{margin:0;color:#6d8294;font-size:13px;line-height:1.55;}
.uf-home-section-head-left{text-align:left;max-width:none;margin-left:0;}

.uf-home-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.uf-home-category-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:13px 15px;border:1px solid #dbe8f2;border-radius:11px;background:linear-gradient(180deg,#fff,#f5faff);color:#173c5e!important;font-weight:700;font-size:13px;box-sizing:border-box;transition:.16s ease;}
.uf-home-category-card:hover{transform:translateY(-1px);border-color:#9fd3f2;background:#eef8ff;box-shadow:0 7px 18px rgba(17,103,170,.08);}
.uf-home-category-card b{font-size:19px;color:#1684cf;font-weight:500;}

.uf-home-module-zone{margin:0 0 22px;}
.uf-home-module-zone .box{margin-bottom:18px;border-radius:16px;box-shadow:0 7px 22px rgba(31,75,112,.04);}
.uf-home-module-zone .box-heading{padding:17px 19px;background:#fff;border-bottom:1px solid #e7eff5;font-size:19px;}
.uf-home-module-zone .box-content{padding:16px 18px 18px;}
.uf-home-featured-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:13px!important;align-items:stretch!important;}
.uf-home-featured-grid>.uf-home-product-card{display:flex!important;flex-direction:column!important;width:auto!important;margin:0!important;padding:12px!important;background:#fff!important;border:1px solid #dfeaf3!important;border-radius:12px!important;box-sizing:border-box;min-width:0;}
.uf-home-featured-grid .image{display:flex!important;align-items:center;justify-content:center;height:175px!important;min-height:175px!important;margin:0 0 10px!important;padding:8px!important;background:linear-gradient(180deg,#fbfdff,#eef7fd);border-radius:10px;box-sizing:border-box;overflow:hidden;}
.uf-home-featured-grid .image a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.uf-home-featured-grid .image img{display:block;max-width:100%!important;max-height:155px!important;width:auto!important;height:auto!important;object-fit:contain;}
.uf-home-featured-grid .name{margin:0 0 9px!important;min-height:42px;line-height:1.4;}
.uf-home-featured-grid .name a{display:block;color:#16436b!important;font-size:13px!important;font-weight:700!important;}
.uf-home-featured-grid .price{margin-top:auto!important;padding-top:4px!important;color:#102945!important;font-size:18px!important;font-weight:800!important;}
.uf-home-featured-grid .price-old{font-size:12px!important;color:#8596a4!important;font-weight:500!important;}
.uf-home-featured-grid .price-new{font-size:18px!important;color:#d9473f!important;font-weight:800!important;}
.uf-home-featured-grid .cart{margin-top:10px!important;}
.uf-home-featured-grid .cart .button{width:auto;min-width:105px;min-height:39px;display:inline-flex!important;align-items:center;justify-content:center;padding:8px 14px!important;}

.uf-home-seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.uf-home-seo-grid article{padding:18px;border:1px solid #e0ebf4;border-radius:12px;background:linear-gradient(180deg,#fff,#f7fbfe);}
.uf-home-seo-grid h3{margin:0 0 8px;color:#173a5a;font-size:17px;}
.uf-home-seo-grid p{margin:0;color:#536e84;font-size:13px;line-height:1.68;}
.uf-home-seo-summary{margin-top:12px;padding:18px 20px;background:#edf8fe;border:1px solid #d5ebf7;border-radius:12px;}
.uf-home-seo-summary h3{margin:0 0 9px;font-size:17px;}
.uf-home-seo-summary ul{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;margin:0;padding-left:19px;color:#48667d;font-size:13px;line-height:1.55;}

.uf-home-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.uf-home-faq-grid article{padding:16px 17px;background:#f7fbfe;border:1px solid #e0ebf4;border-radius:11px;}
.uf-home-faq-grid article:last-child:nth-child(odd){grid-column:1/-1;}
.uf-home-faq-grid h3{margin:0 0 7px;color:#173d5f;font-size:15px;}
.uf-home-faq-grid p{margin:0;color:#617a8e;font-size:12.5px;line-height:1.58;}
.uf-home-module-zone-bottom:empty{display:none;}

@media screen and (max-width:1100px){
  .uf-home-benefits{grid-template-columns:repeat(2,minmax(0,1fr));}
  .uf-home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .uf-home-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}

@media screen and (max-width:768px){
  .uf-home-page{width:100%;}
  .uf-home-hero{padding:24px 14px 16px;margin-top:0;border-radius:13px;}
  .uf-home-hero h1{font-size:27px;}
  .uf-home-lead{font-size:14px;line-height:1.55;}
  .uf-home-benefits{grid-template-columns:1fr;gap:7px;margin-top:18px;}
  .uf-home-benefit{min-height:0;padding:11px;}
  .uf-home-catalog,.uf-home-seo,.uf-home-faq{padding:17px 13px;border-radius:13px;}
  .uf-home-section-head h2{font-size:22px;}
  .uf-home-category-grid{grid-template-columns:1fr;gap:7px;}
  .uf-home-category-card{min-height:54px;padding:11px 13px;}
  .uf-home-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .uf-home-featured-grid>.uf-home-product-card{padding:8px!important;}
  .uf-home-featured-grid .image{height:145px!important;min-height:145px!important;padding:5px!important;}
  .uf-home-featured-grid .image img{max-height:135px!important;}
  .uf-home-featured-grid .name{min-height:0;}
  .uf-home-featured-grid .name a{font-size:12px!important;}
  .uf-home-seo-grid,.uf-home-faq-grid{grid-template-columns:1fr;}
  .uf-home-faq-grid article:last-child:nth-child(odd){grid-column:auto;}
  .uf-home-seo-grid article{padding:14px;}
  .uf-home-seo-summary{padding:14px;}
  .uf-home-seo-summary ul{grid-template-columns:1fr;gap:5px;}
  .product-info .uf-swatch-image{height:54px!important;}
}

@media screen and (max-width:420px){
  .uf-home-featured-grid{grid-template-columns:1fr 1fr!important;}
  .uf-home-featured-grid .image{height:132px!important;min-height:132px!important;}
  .uf-home-featured-grid .image img{max-height:122px!important;}
}

/* ===== UltraFort Responsive V9 — desktop RAL visibility refinement =====
   Goal: on desktop make RAL cards visually larger and more readable.
   - reduce desktop columns from 6 to 5 so each card becomes wider;
   - make the colour band taller;
   - zoom the source option bitmap slightly so a centred colour sample
     occupies more visible width instead of looking like a tiny square. */
@media screen and (min-width:1101px){
  .product-info .uf-swatch-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .product-info .uf-swatch-card{
    min-height:146px!important;
    padding:0 10px 10px!important;
  }
  .product-info .uf-swatch-image{
    width:calc(100% + 20px)!important;
    height:66px!important;
    margin:0 -10px 8px!important;
    background:#fff!important;
  }
  .product-info .uf-swatch-image img,
  .product-info .uf-swatch-image.uf-solid-ral img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:scale(1.34)!important;
    transform-origin:center center!important;
  }
  .product-info .uf-swatch-card .uf-choice-name{
    font-size:12.5px!important;
    line-height:1.28!important;
  }
}

/* ===== UltraFort Responsive V10 — desktop RAL swatch width refinement =====
   Desktop only. Keep the existing option images and make their colour sample
   visually wider without creating or loading any new images. Mobile/tablet
   behaviour is intentionally unchanged. */
@media screen and (min-width:1101px){
  .product-info .uf-swatch-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .product-info .uf-swatch-card{
    min-height:150px!important;
    padding:0 10px 10px!important;
  }
  .product-info .uf-swatch-image{
    width:calc(100% + 20px)!important;
    height:72px!important;
    margin:0 -10px 8px!important;
    overflow:hidden!important;
    background:#f4f8fb!important;
  }
  .product-info .uf-swatch-image img,
  .product-info .uf-swatch-image.uf-solid-ral img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:scaleX(2.05) scaleY(1.22)!important;
    transform-origin:center center!important;
  }
  .product-info .uf-swatch-card .uf-choice-name{
    font-size:12.5px!important;
    line-height:1.28!important;
  }
}

/* ===== UltraFort Responsive V11 — true full-width option swatches =====
   OpenCart 1.5 stores option pictures as small square thumbnails (50x50 in the
   current product controller). On wide cards this can visually remain a tiny
   square even when the card itself is larger. V11 no longer relies on the img
   element to provide the visible colour: product.tpl uses the same option image
   as a full-width background and then, when possible, converts its centre colour
   to a flat CSS fill. This also avoids the V9/V10 desktop breakpoint problem. */
.product-info .uf-swatch-card{
  overflow:hidden!important;
}
.product-info .uf-swatch-image.uf-swatch-fill{
  display:block!important;
  position:relative!important;
  width:calc(100% + 20px)!important;
  height:68px!important;
  margin:0 -10px 8px!important;
  border-radius:9px 9px 4px 4px!important;
  overflow:hidden!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
  background-color:#eef4f8!important;
}
.product-info .uf-swatch-image.uf-swatch-fill img{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:fill!important;
  transform:none!important;
  border:0!important;
  border-radius:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.product-info .uf-swatch-image.uf-programmatic-fill{
  background-image:none!important;
}

/* Treat laptop/tablet landscape as desktop product UI too. The previous V9/V10
   rule started only at 1101px, while Windows scaling can make a 1366px laptop
   report about 1090 CSS pixels. */
@media screen and (min-width:901px){
  .product-info .uf-swatch-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .product-info .uf-swatch-card{
    min-height:154px!important;
    padding:0 10px 10px!important;
  }
}
@media screen and (min-width:769px) and (max-width:900px){
  .product-info .uf-swatch-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:9px!important;
  }
}
@media screen and (max-width:768px){
  .product-info .uf-swatch-image.uf-swatch-fill{
    width:calc(100% + 16px)!important;
    height:54px!important;
    margin:0 -8px 7px!important;
  }
}

/* ===== UltraFort Responsive V12 — direct RAL-code background fill =====
   The visible colour strip is now the strip element's own background.
   It no longer depends on OpenCart's 50x50 option thumbnail or canvas sampling. */
.product-info .uf-swatch-image.uf-ral-code-fill{
  background-image:none!important;
  background-repeat:no-repeat!important;
  background-size:auto!important;
  box-shadow:inset 0 0 0 1px rgba(19,55,83,.10)!important;
}
.product-info .uf-swatch-image.uf-ral-code-fill img{display:none!important;}
.product-info .uf-swatch-image.uf-white-base-fill{
  background-image:none!important;
  background-color:#fbfaf6!important;
  box-shadow:inset 0 0 0 1px rgba(19,55,83,.10)!important;
}
.product-info .uf-swatch-image.uf-transparent-fill{
  background-color:#fff!important;
  background-image:
    linear-gradient(45deg,#eef3f6 25%,transparent 25%),
    linear-gradient(-45deg,#eef3f6 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#eef3f6 75%),
    linear-gradient(-45deg,transparent 75%,#eef3f6 75%)!important;
  background-size:18px 18px!important;
  background-position:0 0,0 9px,9px -9px,-9px 0!important;
  box-shadow:inset 0 0 0 1px rgba(19,55,83,.10)!important;
}



/* ===== UltraFort Responsive V13 — universal full-card colour paint layer =====
   Keep V12 card dimensions exactly as they are. The colour itself is a dedicated
   absolute layer above every legacy thumbnail/background, so old OpenCart 50x50
   images or inherited CSS cannot cover the resolved HEX colour. */
.product-info .uf-swatch-image.uf-swatch-fill{
  position:relative!important;
  isolation:isolate!important;
}
.product-info .uf-swatch-image.uf-swatch-fill > .uf-swatch-paint-layer{
  display:block!important;
  position:absolute!important;
  z-index:5!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:inherit!important;
  opacity:1!important;
  pointer-events:none!important;
  box-sizing:border-box!important;
}
.product-info .uf-swatch-image.uf-hex-code-fill > img,
.product-info .uf-swatch-image.uf-ral-code-fill > img{
  display:none!important;
}
.product-info .uf-swatch-image > .uf-swatch-paint-layer.uf-solid-fill{
  background-image:none!important;
  background-repeat:no-repeat!important;
}
.product-info .uf-swatch-image > .uf-swatch-paint-layer.uf-white-base-paint{
  background:#fbfaf6!important;
  box-shadow:inset 0 0 0 1px rgba(19,55,83,.10)!important;
}
.product-info .uf-swatch-image > .uf-swatch-paint-layer.uf-transparent-paint{
  background-color:#fff!important;
  background-image:
    linear-gradient(45deg,#eef3f6 25%,transparent 25%),
    linear-gradient(-45deg,#eef3f6 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#eef3f6 75%),
    linear-gradient(-45deg,transparent 75%,#eef3f6 75%)!important;
  background-size:18px 18px!important;
  background-position:0 0,0 9px,9px -9px,-9px 0!important;
  box-shadow:inset 0 0 0 1px rgba(19,55,83,.10)!important;
}


/* ===== UltraFort Responsive V14 — RAL.com.ua dataset refresh =====
   RAL HEX values are rendered from product.tpl. White base is intentionally
   almost white (#FBFAF6), while retaining a subtle outline against #fff. */
