/* Lidergrup theme for Cassiopeia + JoomShopping.
   Sections: tokens, base, header, layout, homepage, information pages,
   JoomShopping catalogue, product page, accessibility, responsive. */

/* Tokens */
:root{--lg-red:#d90032;--lg-red-dark:#ad0027;--lg-ink:#17191f;--lg-muted:#656a73;--lg-line:#e5e6e8;--lg-paper:#f6f6f4;--lg-white:#fff;--lg-teal:#087f7d;--cassiopeia-font-family-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--cassiopeia-font-family-headings:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}

/* Base */
*{box-sizing:border-box}
body{margin:0;color:var(--lg-ink);background:#fff;font-family:var(--cassiopeia-font-family-body);line-height:1.5}
a,body.site a:not(.btn){text-decoration:none}
.lg-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.lg-preview-note{padding:8px 20px;color:#5f4a00;background:#fff3c8;text-align:center;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lg-button{display:inline-flex;padding:14px 22px;border:1px solid transparent;border-radius:11px;align-items:center;justify-content:center;font-size:14px;font-weight:800;line-height:1.2}
.lg-button-primary{color:#fff!important;background:var(--lg-red)}
.lg-button-primary:hover{background:var(--lg-red-dark)}
.lg-button-light{border-color:#d5d6d8;color:var(--lg-ink)!important;background:#fff}
.lg-button-light:hover{border-color:var(--lg-ink)}

/* Header */
.lg-utility{color:#d9dbe0;background:var(--lg-ink);font-size:13px}
.lg-utility .lg-shell,.lg-phones,.lg-utility nav{display:flex;min-height:42px;align-items:center}
.lg-utility .lg-shell{justify-content:space-between}
.lg-phones,.lg-utility nav{gap:22px}
.lg-utility a{color:#d9dbe0}
.lg-utility a:hover{color:#fff}
.lg-whatsapp{display:inline-flex;align-items:center;gap:7px;color:#fff!important;font-weight:750}
/* Explicit size: legacy Bootstrap/JoomShopping svg rules otherwise stretch the mark. */
.lg-whatsapp svg{display:block;width:20px!important;height:20px!important;min-width:20px;fill:none;stroke:#25d366;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
/* The handset is filled rather than outlined so it stays crisp at 20px. */
.lg-whatsapp svg path:last-child{fill:#25d366;stroke:none}
.lg-brand-row{display:grid;min-height:114px;align-items:center;gap:34px;grid-template-columns:250px 1fr auto}
.lg-brand img{width:238px;height:auto;max-height:72px;object-fit:contain}
.lg-search{display:flex;height:48px;border:1px solid var(--lg-line);border-radius:12px;background:#fafafa;overflow:hidden}
.lg-search:focus-within{border-color:#aaaeb5;box-shadow:0 0 0 4px rgba(23,25,31,.05)}
.lg-search input[type=search]{width:100%;min-width:0;padding:0 18px;border:0;outline:0;background:transparent}
.lg-search button{display:grid;width:52px;border:0;color:#fff;background:var(--lg-red);cursor:pointer;place-items:center}
.lg-search button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.lg-account{padding:13px 20px;border-radius:11px;color:#fff!important;background:var(--lg-red);font-size:14px;font-weight:750}
.lg-account:hover{background:var(--lg-red-dark)}
/* Phone header: icon buttons for search and account (see the responsive section). */
.lg-brand-actions{display:none}
.lg-icon-button{display:grid;width:44px;height:44px;padding:0;border:1px solid var(--lg-line);border-radius:12px;color:var(--lg-ink)!important;background:#fafafa;cursor:pointer;place-items:center}
.lg-icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lg-category-nav{background:#202126}
.lg-category-nav .lg-shell{display:flex;min-height:52px;align-items:stretch}
.lg-category-nav a{display:flex;position:relative;padding:0 13px;color:#f2f2f2;align-items:center;font-size:11px;font-weight:800;text-transform:uppercase}
.lg-category-nav a:first-child{padding-inline:20px}
.lg-category-nav a::after{position:absolute;right:13px;bottom:0;left:13px;height:3px;background:var(--lg-red);content:"";opacity:0;transform:scaleX(.6);transition:opacity .2s,transform .2s}
.lg-category-nav a:first-child::after{right:20px;left:20px}
.lg-category-nav a:hover::after,.lg-category-nav a:focus::after{opacity:1;transform:scaleX(1)}

/* Layout: one full-width column; sections set their own width. */
body.site .site-grid{display:block}
.wrapper-static .site-grid{grid-template-columns:minmax(0,1fr)!important}
.container-component{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.container-component>main{max-width:none}
.com-content-article__body{margin:0}

/* Footer */
.lg-site-footer{padding:54px 0;color:#c8c9cd;background:#111216}
.lg-site-footer .lg-shell{display:grid;gap:60px;grid-template-columns:1.4fr 1fr 1fr}
.lg-site-footer .lg-shell>div{display:flex;flex-direction:column;gap:9px}
.lg-site-footer img{width:190px;height:auto;margin-bottom:12px;filter:grayscale(1) brightness(4)}
.lg-site-footer p{max-width:280px;color:#8e9199}
.lg-site-footer strong{color:#fff}
.lg-site-footer a{color:#c8c9cd}
.lg-site-footer a:hover{color:#fff}

/* Homepage */
.lg-home-page .com-content-article>.page-header,.lg-home-page .com-content-article>.article-info{display:none}
.lg-modern-home{color:var(--lg-ink)}
.lg-eyebrow{margin:0 0 13px;color:var(--lg-red);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.lg-hero-modern{padding:64px 0 72px;background:var(--lg-paper)}
.lg-hero-grid{display:grid;align-items:stretch;gap:54px;grid-template-columns:1.08fr .92fr}
.lg-hero-modern h1{max-width:700px;margin:0 0 22px;font-family:inherit;font-size:clamp(42px,5vw,68px);font-weight:800;letter-spacing:-.045em;line-height:.99}
.lg-hero-lead{max-width:650px;margin-bottom:30px;color:#555a64;font-size:18px}
.lg-actions{display:flex;margin-bottom:46px;flex-wrap:wrap;gap:12px}
.lg-facts{display:grid;margin:0;padding:0;list-style:none;gap:12px;grid-template-columns:repeat(3,1fr)}
.lg-facts li{display:flex;padding-top:14px;border-top:2px solid var(--lg-ink);flex-direction:column}
.lg-facts strong{font-size:19px}
.lg-facts span{color:var(--lg-muted);font-size:12px}
.lg-directions{display:grid;gap:12px;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr)}
/* The top padding keeps the large index number clear of the title; text runs full width. */
.lg-direction{display:flex;position:relative;min-height:138px;padding:64px 22px 22px;border-radius:18px;color:var(--lg-ink)!important;background:#fff;box-shadow:0 20px 60px rgba(16,19,25,.08);flex-direction:column;justify-content:flex-end;overflow:hidden;transition:box-shadow .2s,transform .2s}
.lg-direction:hover{transform:translateY(-3px)}
.lg-direction-main{color:#fff!important;background:var(--lg-red);grid-row:1/3}
.lg-direction-dark{color:#fff!important;background:var(--lg-ink)}
.lg-direction-accent{color:#fff!important;background:var(--lg-teal)}
.lg-direction b{position:absolute;top:14px;right:20px;font-size:42px;line-height:1;opacity:.16}
.lg-direction strong{position:relative;z-index:1;font-size:20px;line-height:1.12}
.lg-direction-main strong{font-size:29px}
.lg-direction small{margin-top:6px;opacity:.74}
.lg-catalog-section{padding:84px 0}
.lg-section-heading{display:flex;margin-bottom:36px;align-items:end;justify-content:space-between;gap:24px}
.lg-section-heading h2,.lg-process h2,.lg-contact h2{margin:0;font-size:clamp(34px,4vw,52px);letter-spacing:-.04em;line-height:1.05}
.lg-text-link{padding-bottom:4px;border-bottom:1px solid #bfc1c5;color:var(--lg-ink)!important;font-size:14px;font-weight:800}
.lg-product-grid{display:grid;gap:18px;grid-template-columns:repeat(4,1fr)}
.lg-product-card{position:relative;padding:13px 13px 17px;border:1px solid var(--lg-line);border-radius:16px;background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s}
.lg-product-card:hover{border-color:transparent;box-shadow:0 20px 60px rgba(16,19,25,.08);transform:translateY(-5px)}
.lg-product-image{display:grid;height:210px;margin-bottom:15px;border-radius:11px;background:#f8f8f7;place-items:center;overflow:hidden}
.lg-product-image img{width:100%;height:100%;padding:13px;object-fit:contain;mix-blend-mode:multiply}
.lg-product-tag{display:inline-block;margin-bottom:10px;padding:4px 8px;border-radius:100px;color:var(--lg-red);background:#fff0f3;font-size:10px;font-weight:850;text-transform:uppercase}
.lg-product-card h3{min-height:48px;margin:0 0 17px;font-size:14px}
.lg-product-card h3 a{color:var(--lg-ink)}
.lg-product-footer{display:flex;padding-top:14px;border-top:1px solid var(--lg-line);align-items:center;justify-content:space-between}
.lg-product-footer strong{color:var(--lg-teal);font-size:17px}
.lg-product-footer a{display:inline-flex;height:36px;padding:0 14px;border-radius:9px;color:#fff!important;background:var(--lg-ink);align-items:center;justify-content:center;font-size:12px;font-weight:800;white-space:nowrap}
.lg-process{padding:86px 0;color:#fff;background:var(--lg-ink)}
.lg-process-grid{display:grid;gap:90px;grid-template-columns:.86fr 1.14fr}
.lg-process-intro>p:not(.lg-eyebrow){margin:24px 0 34px;color:#afb2b9}
.lg-process-steps{margin:0;padding:0;list-style:none}
.lg-process-steps li{display:grid;padding:19px 0;border-bottom:1px solid #383a40;gap:24px;grid-template-columns:44px 1fr}
.lg-process-steps li>span{color:var(--lg-red);font-weight:850}
.lg-process-steps strong{font-size:18px}
.lg-process-steps p{margin:4px 0 0;color:#9da0a7;font-size:14px}
.lg-contact-section{padding:84px 0}
.lg-contact{display:grid;padding:clamp(34px,6vw,70px);border-radius:24px;background:var(--lg-paper);gap:60px;grid-template-columns:1fr .8fr}
.lg-contact p:last-child{margin-top:22px;color:var(--lg-muted)}
.lg-contact-links{display:flex;justify-content:center;flex-direction:column}
.lg-contact-links a{padding:10px 0;border-bottom:1px solid #d8d9da;color:var(--lg-ink)!important;font-size:clamp(18px,2.4vw,27px);font-weight:800}

/* Information pages: /about-company, /delivery, /services, /contacts */
.lg-content-page .container-component{width:min(1180px,calc(100% - 40px))!important;margin:64px auto 88px!important}
.lg-content-page .pagenavigation{display:none!important}
.lg-page{max-width:1180px;margin:0 auto;color:var(--lg-ink)}
.lg-page>h1{max-width:900px;margin:0 0 20px;font-size:clamp(38px,5vw,64px);letter-spacing:-.04em;line-height:1.04}
.lg-kicker{margin:0 0 12px;color:var(--lg-red);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.lg-page-lead{max-width:850px;margin:0 0 42px;color:#555a64;font-size:clamp(18px,2.4vw,23px)}
.lg-grid{display:grid;gap:18px}
.lg-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lg-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lg-card-static{padding:26px;border:1px solid var(--lg-line);border-radius:16px;background:#fff;box-shadow:0 14px 40px rgba(16,19,25,.05)}
.lg-card-static h2{margin:0 0 12px;font-size:21px}
.lg-service-grid,.lg-contact-cards{margin:30px 0 44px}
.lg-note{margin:34px 0;padding:25px 28px;border-left:5px solid var(--lg-red);border-radius:12px;background:var(--lg-paper)}
.lg-note h2{margin:0 0 10px;font-size:22px}
.lg-stats{display:grid;margin:34px 0;padding:28px;border-radius:18px;color:#fff;background:var(--lg-red);grid-template-columns:repeat(3,1fr);text-align:center}
.lg-stats div{display:flex;padding:12px;flex-direction:column}
.lg-stats strong{font-size:clamp(25px,4vw,42px)}
.lg-section{padding:48px 0}
.lg-steps{margin:20px 0 26px;padding-left:24px;list-style:decimal outside}
.lg-steps li{display:list-item;margin:0;padding:14px 0 14px 6px;border-bottom:1px solid var(--lg-line);line-height:1.55}
.lg-steps li::marker{color:var(--lg-red);font-weight:800}
.lg-video iframe{width:100%;border:0;border-radius:16px;aspect-ratio:16/9}

/* Contact cards: icon tile, small label, bold value. Icons live here so the
   article HTML stays plain for the Joomla editor. */
.lg-contact-list{display:grid;margin:4px 0 0;padding:0;list-style:none;gap:18px}
.lg-ci{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;align-items:center}
.lg-ci::before{width:44px;height:44px;border-radius:12px;background:#fff0f3 center/22px no-repeat;content:"";grid-row:1/3;grid-column:1}
.lg-ci>small{grid-column:2;color:var(--lg-muted);font-size:12px;font-weight:700;letter-spacing:.06em;line-height:1.3;text-transform:uppercase}
.lg-ci>:not(small){grid-column:2;color:var(--lg-ink);font-size:17px;line-height:1.35}
.lg-ci a,.lg-ci strong{color:var(--lg-ink)!important;font-weight:750}
.lg-ci a:hover{color:var(--lg-red)!important}
.lg-contact-map{margin:22px 0 0}
.lg-ci-pin::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d90032' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.4-6.5 11-6.5 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E")}
.lg-ci-bus::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d90032' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3.5' width='14' height='14' rx='3'/%3E%3Cpath d='M5 11h14M8.5 17.5V20M15.5 17.5V20'/%3E%3Cpath d='M8.5 14.3h.01M15.5 14.3h.01' stroke-width='2.6'/%3E%3C/svg%3E")}
.lg-ci-phone::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d90032' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.6 3.5h2.6l1.4 4-2 1.3a10.5 10.5 0 0 0 6.6 6.6l1.3-2 4 1.4v2.6a2 2 0 0 1-2.2 2A16 16 0 0 1 4.6 5.7a2 2 0 0 1 2-2.2Z'/%3E%3C/svg%3E")}
.lg-ci-whatsapp::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d90032' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 11.7a8.5 8.5 0 0 1-12.6 7.4L3 20.4l1.3-4.7a8.5 8.5 0 1 1 16.2-4Z'/%3E%3Cpath d='M9 8.2c.4 2.9 3.1 5.7 6.4 6.6l1-1.6-2-1-1 .9c-1.1-.5-2.2-1.6-2.8-2.8l.9-1-1-2Z'/%3E%3C/svg%3E")}
.lg-ci-mail::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d90032' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='13' rx='2.5'/%3E%3Cpath d='m4.5 7 7.5 6 7.5-6'/%3E%3C/svg%3E")}

/* JoomShopping: shared catalogue frame */
.com_jshopping .container-component{width:min(1180px,calc(100% - 40px))!important;margin:52px auto 80px!important}
/* The root catalogue has no category introduction, so it needs a tighter rhythm. */
body.itemid-120.com_jshopping .container-component{margin-top:24px!important;margin-bottom:56px!important}
body.itemid-120.com_jshopping #sort_count{margin:0 0 22px!important}
.jshop h1{margin:0 0 24px;font-size:clamp(30px,3.6vw,46px);letter-spacing:-.03em;line-height:1.08}

/* Sorting and per-page controls on the full content width */
#sort_count,.form_sort_count,.block_sorting_count_to_page{width:100%!important;max-width:none!important}
.block_sorting_count_to_page{display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px}
.box_products_sorting,.box_products_count_to_page{display:flex!important;width:auto!important;min-width:max-content;align-items:center;gap:10px;overflow:visible}
.box_products_count_to_page{margin-left:auto!important}
.box_products_sorting .control-label,.box_products_count_to_page .control-label{width:auto!important;min-width:max-content;margin-top:0!important;padding-top:0!important;white-space:nowrap}
.box_products_count_to_page .controls{width:auto!important;flex:none}
.box_products_sorting .controls,.box_products_sorting .input-group{display:flex!important;width:auto!important;min-width:0!important;flex:none!important}
.box_products_sorting select{width:170px!important;min-width:170px!important;flex:0 0 170px!important;text-overflow:clip}
/* Sort direction: the stock arrow alone is ambiguous, so the direction is spelled out.
   orderby=0 renders .icon-arrow-up (ascending), orderby=1 renders .icon-arrow-down. */
.box_products_sorting .icon-arrow{width:auto!important;min-width:0!important;padding:0 14px!important;flex:0 0 auto!important;justify-content:center;color:var(--lg-ink);white-space:nowrap}
.box_products_sorting .icon-arrow:hover{background-color:#dfe3e8}
.box_products_sorting .icon-arrow>span{display:inline-flex;align-items:center;gap:7px;line-height:1}
/* The arrow is drawn with an SVG mask so its stroke matches the bold label. */
.box_products_sorting .icon-arrow>span::before{display:block;width:11px;height:15px;background:currentColor;content:""!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'%3E%3Cpath d='M6 14.5V2M1.5 6.5 6 2l4.5 4.5' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'%3E%3Cpath d='M6 14.5V2M1.5 6.5 6 2l4.5 4.5' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.box_products_sorting .icon-arrow>.icon-arrow-down::before{transform:rotate(180deg)}
.box_products_sorting .icon-arrow>span::after{font:700 14px/1 var(--cassiopeia-font-family-body)}
.box_products_sorting .icon-arrow>.icon-arrow-up::after{content:"по возрастанию"}
.box_products_sorting .icon-arrow>.icon-arrow-down::after{content:"по убыванию"}
/* default.css adds 25px/15px side margins to .controls, pushing the selects off the grid edge. */
.form-horizontal .form_sort_count .block_sorting_count_to_page .control-group .controls{margin:0!important}
.box_products_count_to_page select{width:100px!important;min-width:100px;height:45px;padding-left:12px;padding-right:30px;appearance:auto;cursor:pointer}
/* The legacy float clearfix would become an extra flex item and eat 18px on the right. */
.form-horizontal .block_sorting_count_to_page::after{display:none!important}
.block_sorting_count_to_page .control-group{margin:0!important}

/* Subcategory tiles: text-only; the whole tile is the link's hit area. */
.jshop_list_category .list_category{display:block!important;margin:0!important}
.jshop_list_category .list_category>.row-fluid{display:grid!important;margin:0 0 18px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.jshop_list_category .jshop_categ.category{display:flex;position:relative;width:auto!important;min-width:0!important;min-height:96px;margin:0!important;padding:22px 58px 22px 26px!important;float:none!important;border:1px solid var(--lg-line);border-radius:16px;background:#fff;align-items:center;overflow:hidden;text-align:left;transition:border-color .2s,box-shadow .2s,transform .2s}
.jshop_list_category .jshop_categ::before{position:absolute;top:0;right:0;left:0;height:5px;background:var(--lg-red);content:""}
.jshop_list_category .jshop_categ::after{position:absolute;top:50%;right:25px;color:var(--lg-red);content:"→";font-size:25px;line-height:1;transform:translateY(-50%);transition:transform .2s}
.jshop_list_category .jshop_categ:hover{border-color:transparent;box-shadow:0 16px 42px rgba(16,19,25,.09);transform:translateY(-3px)}
.jshop_list_category .jshop_categ:hover::after{transform:translate(4px,-50%)}
.jshop_list_category .category_info{width:100%}
.jshop_list_category .category_name{margin:0!important;font-size:18px!important;font-weight:800;line-height:1.3;text-align:left}
.jshop_list_category .category_name a{color:var(--lg-ink)!important;text-decoration:none!important}
.jshop_list_category .category_name a::after{position:absolute;inset:0;content:""}
.jshop_list_category .category_short_description{margin:6px 0 0;color:var(--lg-muted)}

/* Product grid; covers every legacy sblockN column class. */
.jshop_list_product :is(.list_product,.list_related)>.row-fluid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
.jshop_list_product [class^="sblock"]{width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;float:none!important}
/* default.css loads after this file, hence the extra .row-fluid in these selectors. */
.jshop_list_product .row-fluid .block_product{width:auto!important;height:100%;float:none!important;margin:0!important;padding:13px!important;border:1px solid var(--lg-line);border-radius:16px;background:#fff;text-align:left;transition:border-color .2s,box-shadow .2s}
.jshop_list_product .row-fluid .block_product:hover{border-color:transparent;border-radius:16px;box-shadow:0 16px 42px rgba(16,19,25,.09)}
.jshop_list_product .row-fluid .oiproduct{text-align:left}
.jshop_list_product .lg-shop-product{display:flex;height:100%;min-width:0;flex-direction:column}
.lg-shop-product__image{display:grid;position:relative;height:230px;border-radius:11px;background:#f7f7f5;place-items:center;overflow:hidden}
.lg-shop-product__image .jshop_img{position:absolute;inset:0;width:100%;height:100%;padding:16px;object-fit:contain}
.lg-shop-product__label{position:absolute;top:12px;left:12px;padding:5px 9px;border-radius:999px;color:var(--lg-red);background:#fff0f3;font-size:10px;font-weight:850;text-transform:uppercase}
.lg-shop-product__label img{display:block;max-width:64px;max-height:32px}
.lg-shop-product__body{display:flex;padding-top:15px;flex:1;flex-direction:column}
.lg-shop-product__title{min-height:48px;margin:0 0 16px;font-size:15px;line-height:1.35}
.lg-shop-product__title a{color:var(--lg-ink)!important;text-decoration:none!important}
.lg-shop-product__old-price{color:var(--lg-muted);font-size:13px;text-decoration:line-through}
.lg-shop-product__price{margin-top:auto;color:var(--lg-teal)!important;font-size:18px!important;font-weight:850;text-align:left!important}
.lg-shop-product__price--request{font-size:16px!important}
.lg-shop-product__body .deliverytime,.lg-shop-product__body .extra_fields,.lg-shop-product__body .manufacturer_name,.lg-shop-product__body .taxinfo{margin-top:6px;color:var(--lg-muted);font-size:12px}
.lg-shop-product__actions{display:grid!important;margin-top:15px;gap:8px;grid-template-columns:1fr 1fr}
.lg-shop-product__actions .btn{display:flex;min-height:42px;border:0;border-radius:9px;align-items:center;justify-content:center;font-size:13px;font-weight:800;text-decoration:none}
.lg-shop-product__actions .button_buy{color:#fff;background:var(--lg-red)}
.lg-shop-product__actions .button_detail{color:#fff;background:var(--lg-ink)}
.lg-shop-product__actions .button_buy:hover{background:var(--lg-red-dark)}
.lg-shop-product__actions .button_detail:hover{background:#2c2f36}

/* Related products under the product page reuse the catalogue card. */
.productview .related_header{margin:56px 0 20px;padding:0;border:0;font-size:clamp(24px,2.6vw,32px);font-weight:800;letter-spacing:-.03em}

/* Pagination */
.jshop .pagination{gap:4px;flex-wrap:wrap}
.jshop .pagination .page-link{min-width:40px;border-radius:9px!important;color:var(--lg-ink);text-align:center}
.jshop .pagination .active>.page-link,.jshop .pagination .page-link.active{border-color:var(--lg-red);color:#fff;background:var(--lg-red)}

/* Product page: stock JoomShopping markup, restyled. */
.productview .jshop_code_prod{display:block;margin-top:8px;color:var(--lg-muted);font-size:13px;font-weight:400;letter-spacing:0}
.productview .jshop_code_prod:has(#product_code:empty){display:none}
.productview .productfull>.row.jshop{display:grid;margin:0;gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.productview .productfull>.row.jshop>[class*="col-"]{width:auto;max-width:none;padding:0}
.productview .image_middle{display:grid;position:relative;min-height:360px;padding:24px;border-radius:16px;background:#f7f7f5;place-items:center}
.productview .image_middle a.lightbox{display:block;text-align:center}
.productview .image_middle img{max-width:100%;height:auto;max-height:520px;object-fit:contain}
.productview .text_zoom{display:inline-flex;margin-top:14px;color:var(--lg-muted);align-items:center;gap:6px;font-size:13px}
.productview .image_middle .product_label{position:absolute;top:16px;left:16px;z-index:1}
.productview .image_thumb_list{margin-top:12px}
.productview .image_thumb_list img{border-radius:9px}
.productview .productfull>.row.jshop>.jshop_oiproduct{padding:28px;border:1px solid var(--lg-line);border-radius:16px;background:#fff}
.productview .jshop_oiproduct>*+*{margin-top:12px}
.productview .old_price{color:var(--lg-muted);font-size:14px}
.productview #old_price{text-decoration:line-through}
.productview .prod_price{color:var(--lg-muted);font-size:14px}
.productview .productfull #block_price{display:block;margin-top:2px;color:var(--lg-teal);font-size:34px;font-weight:850;letter-spacing:-.02em;line-height:1.1}
.productview .deliverytime,.productview .extra_fields,.productview .manufacturer_name,.productview .taxinfo,.productview .plusshippinginfo{color:var(--lg-muted);font-size:14px}
/* Attributes: label above the control; the stock col-lg-2 label column is too narrow. */
.productview .jshop_prod_attributes .row,.productview .prod_free_attribs .row{display:block;margin:0 0 16px}
.productview .jshop_prod_attributes .row>[class*="col-"],.productview .prod_free_attribs .row>[class*="col-"]{width:100%;max-width:none;padding:0}
.productview .attributes_title,.productview .prod_free_attribs .name{margin-bottom:6px;color:var(--lg-muted);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.productview .attributes_description:empty,.productview .freeattribut_description:empty{display:none}
.productview .jshop_prod_attributes select,.productview .prod_free_attribs input{width:100%;max-width:380px;min-height:46px;padding:0 14px;border:1px solid var(--lg-line);border-radius:11px;background-color:#fff;font-size:15px}
.productview .prod_attr_img img[src$="blank.gif"]{display:none}
/* Quantity price list */
.productview .price_prod_qty_list_head{color:var(--lg-muted);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.productview .price_prod_qty_list{width:100%;max-width:380px;margin-top:6px;border-collapse:collapse;font-size:14px}
.productview .price_prod_qty_list td{padding:8px 4px 8px 0;border-bottom:1px solid var(--lg-line)}
.productview .price_prod_qty_list .qty_price{text-align:right;white-space:nowrap}
.productview .price_prod_qty_list .price{font-weight:800}
.productview .productfull .prod_buttons{display:flex;margin-top:20px;padding-top:20px;border-top:1px solid var(--lg-line);align-items:center;flex-wrap:wrap;gap:12px}
.productview .productfull .prod_qty{display:block;color:var(--lg-muted);font-size:14px}
.productview .productfull .prod_qty_input{display:block;margin:0;padding:0}
.productview .productfull .prod_qty_input input{width:84px;height:48px;padding:0 12px;border:1px solid var(--lg-line);border-radius:11px;font-size:16px;text-align:center}
.productview .productfull .prod_buttons .buttons{display:flex;padding:0;flex-wrap:wrap;gap:10px}
.productview .product-buttons .btn{min-height:48px;padding:0 22px;border-radius:11px;font-size:14px;font-weight:800}
.productview .btn-buy{border:0;color:#fff;background:var(--lg-red)}
.productview .btn-buy:hover,.productview .btn-buy:focus{color:#fff;background:var(--lg-red-dark)}
.productview .btn-wishlist{border:1px solid #d5d6d8;color:var(--lg-ink);background:#fff}
.productview .btn-wishlist:hover{border-color:var(--lg-ink);color:var(--lg-ink);background:#fff}
.productview .jshop_prod_description{max-width:820px;margin-top:44px;color:#3b3f47;font-size:16px;line-height:1.65}
.productview .button_back{margin-top:28px}
.productview .button_back .btn{min-height:44px;padding:0 20px;border:1px solid #d5d6d8;border-radius:11px;color:var(--lg-ink);background:#fff;font-weight:700}
/* Zero-priced products: rendered by the product_default.php wrapper. */
.lg-price-request{padding:22px 24px;border-left:5px solid var(--lg-red);border-radius:12px;background:var(--lg-paper)}
.lg-price-request strong{display:block;color:var(--lg-teal);font-size:26px;font-weight:850;line-height:1.15}
.lg-price-request p{margin:8px 0 16px;color:var(--lg-muted)}
.lg-price-request__actions{display:flex;flex-wrap:wrap;gap:10px}

/* Accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[role="button"]:focus-visible{outline:3px solid var(--lg-teal);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
.lg-direction:hover,.lg-product-card:hover,.jshop_list_category .jshop_categ:hover{transform:none}
}

/* Responsive */
@media(max-width:1050px){
.lg-brand-row{grid-template-columns:220px 1fr auto}
.lg-account{display:none}
.lg-category-nav a{padding-inline:8px;font-size:10px}
.lg-product-grid{grid-template-columns:repeat(2,1fr)}
.jshop_list_product :is(.list_product,.list_related)>.row-fluid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:800px){
.lg-utility nav{display:none}
.lg-brand-row{min-height:90px;grid-template-columns:180px 1fr auto}
.lg-brand-actions{display:flex;gap:8px}
.lg-search-toggle{display:none}
.lg-search{height:44px}
/* Category navigation becomes a single horizontally scrolling ribbon. */
.lg-category-nav .lg-shell{width:100%;padding:0 14px;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.lg-category-nav a,.lg-category-nav a:first-child{min-height:48px;padding:0 13px;flex:0 0 auto;font-size:12px;white-space:nowrap}
.lg-category-nav a::after,.lg-category-nav a:first-child::after{right:13px;left:13px}
.lg-hero-grid,.lg-process-grid,.lg-contact{grid-template-columns:1fr}
.lg-hero-grid{gap:34px}
.lg-process-grid{gap:48px}
.lg-site-footer .lg-shell{grid-template-columns:1fr 1fr}
.lg-grid-3,.lg-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.lg-stats{grid-template-columns:1fr}
.jshop_list_product :is(.list_product,.list_related)>.row-fluid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.box_products_count_to_page{margin-left:0!important}
.productview .productfull>.row.jshop{gap:24px;grid-template-columns:1fr}
}

@media(max-width:560px){
.block_sorting_count_to_page .control-label{width:100px!important;min-width:100px}
.box_products_sorting select{width:150px!important;min-width:150px!important;flex:0 0 150px!important}
.box_products_sorting .icon-arrow{padding:0 15px!important}
.box_products_sorting .icon-arrow>span{gap:0}
.box_products_sorting .icon-arrow>span::after{content:none!important}
.lg-shell{width:min(100% - 28px,1180px)}
.lg-phones{width:100%;justify-content:space-between;gap:8px;font-size:12px}
/* Phone header: logo and icon buttons in one row; search opens below on demand. */
.lg-brand-row{min-height:0;padding:14px 0;grid-template-columns:1fr auto;gap:0 12px}
.lg-brand{grid-row:1;grid-column:1}
.lg-brand img{width:150px}
.lg-brand-actions{grid-row:1;grid-column:2}
.lg-search-toggle{display:grid}
.lg-search-open .lg-search-toggle{border-color:var(--lg-ink);color:#fff!important;background:var(--lg-ink)}
.lg-search{width:100%;margin-top:14px;grid-row:2;grid-column:1/-1}
.lg-js .lg-search{display:none}
.lg-js.lg-search-open .lg-search{display:flex}
.lg-hero-modern{padding:46px 0}
.lg-hero-modern h1{font-size:41px}
.lg-facts,.lg-directions{grid-template-columns:1fr}
.lg-direction{padding-top:62px}
.lg-direction-main{grid-row:auto}
.lg-product-grid{grid-template-columns:1fr}
.lg-product-image{height:260px}
.lg-section-heading{align-items:start;flex-direction:column}
.lg-site-footer .lg-shell{grid-template-columns:1fr}
.lg-grid-2,.lg-grid-3,.lg-grid-4{grid-template-columns:1fr}
.lg-content-page .container-component{width:min(100% - 28px,1180px)!important;margin:42px auto 64px!important}
.com_jshopping .container-component{width:min(100% - 28px,1180px)!important;margin:32px auto 56px!important}
/* Phones use the default 12 products per page; the selector is desktop-only. */
.block_sorting_count_to_page .box_products_count_to_page{display:none!important}
.jshop_list_product :is(.list_product,.list_related)>.row-fluid,.jshop_list_category .list_category>.row-fluid{grid-template-columns:1fr!important}
.productview .productfull>.row.jshop>.jshop_oiproduct{padding:20px}
.productview .image_middle{min-height:260px}
}
