/* Core PHP storefront layout fixes. Keep this file last in the stylesheet order. */
html, body { width:100%; min-height:100%; margin:0; padding:0; overflow-x:hidden; }
body { display:block !important; justify-content:initial !important; align-items:initial !important; background:#fff !important; color:#334155; font-family:'Jost',Arial,sans-serif; }
body > * { flex-shrink:initial; }
*, *::before, *::after { box-sizing:border-box; }
img { max-width:100%; height:auto; }
.core-nav-fallback { width:100%; min-height:82px; box-sizing:border-box; padding:12px clamp(16px,4vw,54px); display:flex !important; flex-direction:row; align-items:center; justify-content:space-between; gap:24px; background:#fff; border-bottom:1px solid #eee; box-shadow:0 2px 10px rgba(0,0,0,.035); position:relative; z-index:50; }
.core-nav-fallback > a { display:flex; align-items:center; flex:0 0 auto; margin:0; }
.core-nav-fallback nav { display:flex !important; flex:1 1 auto; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px 24px; }
.core-nav-fallback nav a { display:inline-flex; align-items:center; margin:0; padding:10px 0; color:#263a34 !important; text-decoration:none !important; font-size:15px; font-weight:600; white-space:nowrap; }
.core-nav-fallback nav a:hover { color:#b77925 !important; }
.custom-navbar-logo-img { display:block; width:auto; max-width:175px; max-height:58px; object-fit:contain; }
.custom-hero-banner-section { display:block; width:100%; }
.custom-hero-container, .ls-diff-container, .ls-gallery-container, .ls-footer-container { width:100%; max-width:1240px; margin-left:auto; margin-right:auto; }
.ls-products-section, .ls-diff-section, .ls-gallery-section { display:block; width:100%; }
.core-page { display:block; width:100%; max-width:1240px; margin:0 auto; padding:56px 24px; }
.core-products { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; align-items:stretch; gap:24px !important; width:100%; }
.core-product { display:flex; flex-direction:column; align-items:stretch; min-width:0; width:100%; height:100%; padding:18px; border:1px solid #e8e4dc; border-radius:12px; background:#fff; box-shadow:0 5px 20px rgba(25,35,30,.045); overflow:hidden; }
.core-product > a { display:block; color:inherit; text-decoration:none; }
.core-product img { display:block; width:100% !important; height:245px !important; max-height:245px; object-fit:contain !important; margin:0 auto 12px; }
.core-product h3 { font-size:18px; line-height:1.4; font-weight:600; color:#23352e; margin:10px 0; }
.core-product p { color:#68736d; font-size:14px; line-height:1.65; }
.core-product form { margin-top:auto; padding-top:12px; }
.core-btn { align-self:flex-start; background:#19372d; color:#fff !important; border:0; border-radius:4px; padding:12px 19px; font-size:14px; font-weight:600; text-decoration:none !important; transition:background .2s ease; }
.core-btn:hover { background:#a87831; }
.core-price { margin:8px 0 12px; color:#a87831; font-size:20px; font-weight:700; }
.core-old { color:#89918c; font-size:14px; font-weight:400; }
.ls-section-header { margin-bottom:32px; }
.ls-site-footer { display:block; width:100%; margin:0; clear:both; }
.ls-footer-main { width:100%; }
.ls-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; }
.core-form { display:block; width:calc(100% - 32px); max-width:520px; margin:48px auto; padding:30px; background:#fff; border:1px solid #e9e5de; border-radius:12px; box-shadow:0 8px 30px rgba(0,0,0,.045); }
.core-form h1 { font-size:30px; line-height:1.25; margin:0 0 22px; }
.core-form label { display:block; margin:14px 0 6px; font-weight:600; }
.core-form input, .core-form textarea, .core-form select { display:block; width:100%; min-height:44px; padding:10px 12px; border:1px solid #d5d9d6; border-radius:5px; background:#fff; }
.core-table { width:100%; border-collapse:collapse; }
.core-table th,.core-table td { padding:12px; border-bottom:1px solid #e4e7e5; text-align:left; }
@media (max-width:1100px) { .core-products { grid-template-columns:repeat(3,minmax(0,1fr)) !important; } .custom-hero-row { grid-template-columns:1fr 1fr; gap:28px; } }
@media (max-width:760px) { .core-nav-fallback { flex-direction:column; align-items:center; gap:10px; padding:14px 16px; } .core-nav-fallback nav { justify-content:center; gap:4px 16px; } .core-nav-fallback nav a { font-size:14px; padding:6px 0; } .core-products { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px !important; } .core-product { padding:12px; } .core-product img { height:190px !important; max-height:190px; } .core-page { padding:36px 16px; } .custom-hero-row { grid-template-columns:1fr; } .ls-footer-grid { grid-template-columns:1fr 1fr; gap:24px; } }
@media (max-width:480px) { .core-products { grid-template-columns:1fr !important; } .core-product img { height:230px !important; max-height:230px; } .ls-footer-grid { grid-template-columns:1fr; } .core-form { padding:22px; } }

/* Ecommerce product catalogue refresh */
.ls-products-section { background:linear-gradient(180deg,#fffdf9 0%,#fff 100%); padding:34px 0 52px; }
.ls-products-section .core-page { max-width:1380px; padding-top:34px; padding-bottom:36px; }
.ls-products-section .ls-section-header { margin-bottom:25px; }
.core-products { grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:18px !important; }
.core-product { position:relative; padding:0 !important; border:1px solid #eee8de; border-radius:13px; background:#fff; box-shadow:0 4px 16px rgba(41,34,22,.045); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.core-product:hover { transform:translateY(-4px); border-color:#d9c7a4; box-shadow:0 12px 28px rgba(41,34,22,.11); }
.core-product-image-wrap { position:relative; overflow:hidden; margin:7px 7px 0; border-radius:9px; background:#f8f6f1; }
.core-product-image-link { display:flex !important; align-items:center; justify-content:center; width:100%; height:178px; padding:9px; overflow:hidden; }
.core-product .core-product-image-wrap img { display:block; width:100% !important; height:100% !important; max-height:none !important; object-fit:contain !important; margin:0 auto !important; mix-blend-mode:multiply; transition:transform .3s ease; }
.core-product:hover .core-product-image-wrap img { transform:scale(1.045); }
.core-product-badge { position:absolute; top:9px; left:9px; z-index:2; padding:5px 7px; border-radius:4px; background:#9b302b; color:#fff; font-size:10px; font-weight:800; letter-spacing:.35px; line-height:1; }
.core-product-heart { position:absolute; top:8px; right:9px; display:grid; place-items:center; width:29px; height:29px; border-radius:50%; background:rgba(255,255,255,.94); color:#5a625c; font-size:21px; line-height:1; box-shadow:0 2px 8px rgba(0,0,0,.08); }
.core-product-info { display:flex; flex:1; flex-direction:column; padding:11px 12px 13px; }
.core-product-rating { margin-bottom:5px; white-space:nowrap; line-height:1.2; }
.core-product-rating span { color:#c18b32; font-size:12px; letter-spacing:1px; }
.core-product-rating small { color:#89918c; font-size:10px; }
.core-product-title-link { color:inherit; text-decoration:none !important; }
.core-product h3 { display:-webkit-box; min-height:39px; margin:3px 0 7px !important; overflow:hidden; color:#26372f; font-size:14px !important; font-weight:650; line-height:1.4 !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.core-product-title-link:hover h3 { color:#a87831; }
.core-product-desc { display:-webkit-box; min-height:34px; margin:0 0 7px; overflow:hidden; color:#7b817c; font-size:11px !important; line-height:1.5 !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.core-product .core-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px; margin:2px 0 10px !important; color:#26382f; font-size:16px !important; font-weight:750; line-height:1.3; }
.core-product .core-old { color:#969b95; font-size:11px !important; text-decoration:line-through; }
.core-product form { margin-top:auto; padding-top:0 !important; }
.core-product .core-btn { display:flex; align-items:center; justify-content:center; width:100%; min-height:36px; padding:9px 8px !important; border-radius:6px; background:#203c31; font-size:12px; letter-spacing:.1px; }
.core-product .core-btn:hover { background:#a87831; }
.core-catalog-page { max-width:1380px; min-height:60vh; }
.core-catalog-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.core-catalog-heading h1 { margin:5px 0 6px !important; color:#24382e; font-size:clamp(28px,3vw,40px); font-weight:650; }
.core-catalog-heading p { margin:0; color:#778079; }
.core-eyebrow { color:#a87831; font-size:11px; font-weight:800; letter-spacing:1.8px; }
.core-product-count { flex:0 0 auto; padding:8px 12px; border:1px solid #e9e2d5; border-radius:20px; color:#68736b; background:#fffdf9; font-size:12px; }
.core-product-search input { min-height:42px; padding:10px 13px !important; border:1px solid #e3dfd6; border-radius:6px; outline:none; }
.core-product-search input:focus { border-color:#b99253; box-shadow:0 0 0 3px rgba(185,146,83,.12); }
.core-product-search .core-btn { align-self:stretch; }
@media (max-width:1200px) { .core-products { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:16px !important; } .core-product-image-link { height:170px; } }
@media (max-width:900px) { .core-products { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:14px !important; } .core-product-image-link { height:165px; } }
@media (max-width:640px) { .core-products { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:11px !important; } .core-product-image-wrap { margin:5px 5px 0; } .core-product-image-link { height:145px; padding:7px; } .core-product-info { padding:9px 9px 10px; } .core-product h3 { min-height:37px; font-size:12px !important; } .core-product .core-price { font-size:14px !important; } .core-product .core-old { font-size:10px !important; } .core-product .core-btn { min-height:34px; font-size:11px; } .core-product-desc { font-size:10px !important; } .core-catalog-heading { align-items:flex-start; } .core-catalog-heading p { font-size:13px; } }
@media (max-width:360px) { .core-product-image-link { height:125px; } .core-product-info { padding:8px; } .core-product .core-btn { font-size:10px; } }
