.page-shop-index,.page-shop-show{background:#f2f5f0}.shop-grid{display:grid;grid-template-columns:1fr;gap:2rem}.shop-grid main{transition:transform .2s ease,margin .2s ease}@media(min-width:768px){.shop-grid{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:2.5rem}.shop-sidebar{order:0;width:260px;flex-shrink:0}.shop-main{order:1;min-width:0}.shop-main .grid{width:100%}}.animate-pulse{-webkit-animation:pulse 1.4s ease-in-out infinite;animation:pulse 1.4s ease-in-out infinite}.product-card{border-radius:12px;overflow:hidden;background:#fff;border:1px solid #e4eddf;box-shadow:0 4px 14px #3c5a3212}.product-media{position:relative;display:flex;align-items:center;justify-content:center;padding:0;background:#f8f9fa}.product-image{transition:transform .35s ease;display:block;object-position:top center;max-height:100%}.product-card:hover .product-image{transform:scale(1.04)}.product-card:hover{border-color:#6fad4580;box-shadow:0 6px 22px #3c5a321f}.product-price{color:var(--color-esorange);font-weight:700}.rent-btn{background:var(--color-esgreen);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;display:inline-flex;align-items:center;gap:.5rem;font-weight:600;box-shadow:0 6px 18px #091e420f}.categories-panel{background:#fff;border:1px solid #e4eddf;border-left:3px solid rgba(111,173,69,.65);border-radius:12px;padding:0;box-shadow:0 4px 14px #3c5a3212}@media(min-width:768px){.categories-panel{padding:1rem}}.categories-panel h4{font-weight:700;margin-bottom:0}.categories-panel .cat-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .25rem;border-radius:8px}.categories-panel .cat-item .icon-bg{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#fefbf5}.category-accent{background:linear-gradient(135deg,#6fad450f,#6fad451f);color:var(--color-esgreen)}.category-accent .material-symbols-outlined{color:var(--color-esgreen)}.category-accent:hover{background:linear-gradient(135deg,#6fad451f,#6fad452e)}.category-card-accent{background:#fff}@media(min-width:1024px){.product-media{height:220px}}.article-gallery .gallery-main img{transition:transform .18s ease}.article-gallery .gallery-main img:hover{transform:scale(1.02)}.article-gallery .gallery-thumbs img.active{outline:2px solid var(--color-esgreen);transform:translateY(-2px)}#gallery-modal{display:none;align-items:center;justify-content:center}#gallery-modal .gallery-modal-img{max-height:560px}#gallery-modal .gallery-modal-thumbs img.active{outline:2px solid var(--color-esgreen);transform:translateY(-2px)}#gallery-modal{transition:opacity .2s ease}.gallery-prev,.gallery-next,.gallery-close{background:#00000059;border-radius:6px;padding:8px 10px}.gallery-prev:hover,.gallery-next:hover,.gallery-close:hover{background:#00000080}@media(max-width:767px){.shop-grid{gap:1.25rem}.product-card{box-shadow:0 8px 22px #0206170f}.product-card>a{display:grid;grid-template-columns:120px 1fr;gap:.85rem}.product-media{height:120px;padding:0}}@media(min-width:768px){.product-card>a{display:flex;flex-direction:column}}.product-card .product-info{padding-top:.75rem}.product-card .product-media{height:180px!important}.home-cat-tile{min-height:110px}.hero-grid{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;align-items:stretch}.hero-cats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}@media(min-width:1024px){.hero-grid{display:grid;grid-template-columns:3fr 2fr;gap:2rem;align-items:stretch}.hero-grid>.home-hero{height:100%}.hero-grid__cats{margin-top:0!important;display:block!important;height:100%}.hero-cats-inner{display:flex;flex-direction:column;height:100%;min-height:100%}.hero-cats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:.75rem;flex:1;align-content:stretch;min-height:0}}.home-help-card{text-decoration:none;color:inherit}@media(min-width:768px){.home-case-row{flex-direction:row!important;gap:3rem!important;align-items:center!important}.home-case-row.img-right{flex-direction:row-reverse!important}.home-case-img{width:45%!important;max-width:none!important}}
