.gpt-store,.gpt-store *{box-sizing:border-box}
.gpt-store{background:#fff;color:var(--gpt-text);font-family:Arial,Helvetica,sans-serif;line-height:1.4}
.gpt-store a{color:inherit;text-decoration:none}
.gpt-store img{max-width:100%;height:auto;display:block}
.gpt-shell{width:min(calc(100% - 40px),var(--gpt-max));margin-inline:auto}
.gpt-store-content{padding-bottom:48px}

.gpt-hero{position:relative;min-height:var(--gpt-hero-height);background-image:var(--gpt-hero-desktop);background-size:cover;background-position:center;display:flex;align-items:stretch;overflow:hidden}
.gpt-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,14,4,.93) 0%,rgba(7,23,7,.82) 37%,rgba(8,22,7,.2) 72%,rgba(5,16,5,.06) 100%);opacity:var(--gpt-hero-overlay-opacity,0);pointer-events:none}
.gpt-hero__inner{position:relative;z-index:1;padding-top:24px;padding-bottom:26px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.gpt-breadcrumbs{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,.78)}
.gpt-breadcrumbs a:hover{color:#fff}
.gpt-breadcrumbs strong{color:#fff}
.gpt-hero__copy{width:min(640px,62%);padding:42px 0 34px}
.gpt-hero__logo{width:min(230px,60%);height:80px;display:flex;align-items:center;margin-bottom:12px}
.gpt-hero__logo img{max-height:80px;width:auto;object-fit:contain;object-position:left center}
.gpt-hero__kicker{margin-bottom:10px;color:var(--gpt-hero-accent);font-size:12px;line-height:1.2;font-weight:800;letter-spacing:.14em}
.gpt-hero h1{margin:0 0 12px;font-size:clamp(36px,4.3vw,66px);line-height:.98;letter-spacing:-.035em;text-transform:uppercase;max-width:760px}
.gpt-hero__copy p{max-width:570px;margin:0;color:rgba(255,255,255,.9);font-size:16px;line-height:1.55}
.gpt-hero__buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.gpt-hero-button{min-height:44px;padding:0 22px;border:1px solid var(--gpt-hero-accent);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;transition:.2s ease}
.gpt-hero-button.is-primary{background:var(--gpt-hero-accent);color:#17310f}
.gpt-hero-button.is-secondary{color:#fff;background:rgba(0,0,0,.12)}
.gpt-hero-button:hover{transform:translateY(-1px);filter:brightness(1.04)}
.gpt-hero__benefits{display:flex;flex-wrap:wrap;gap:24px;color:var(--gpt-hero-benefit-text,#fff);font-size:12px;font-weight:700}
.gpt-hero__benefits span{display:flex;align-items:center;gap:8px}
.gpt-hero__benefits b{width:28px;height:28px;border-radius:50%;background:rgba(148,188,88,.2);background:color-mix(in srgb,var(--gpt-hero-benefit-icon-bg,var(--gpt-hero-accent)) 20%,transparent);border:1px solid var(--gpt-hero-benefit-icon,var(--gpt-hero-accent));display:inline-flex;align-items:center;justify-content:center;color:var(--gpt-hero-benefit-icon,var(--gpt-hero-accent))}

.gpt-section{margin-top:var(--gpt-section-space)}
.gpt-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.gpt-section-heading__copy{flex:1;min-width:0;text-align:center}
.gpt-section-kicker{margin-bottom:4px;color:var(--gpt-primary);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.gpt-title-row{display:grid;grid-template-columns:minmax(30px,1fr) auto minmax(30px,1fr);gap:14px;align-items:center}
.gpt-title-row span{height:2px;background:linear-gradient(90deg,transparent,var(--gpt-accent))}
.gpt-title-row span:last-child{background:linear-gradient(90deg,var(--gpt-accent),transparent)}
.gpt-title-row h2{margin:0;color:var(--gpt-dark);font-size:clamp(22px,2.2vw,31px);line-height:1.1;letter-spacing:-.02em}
.gpt-section-link{flex:0 0 auto;font-size:12px;font-weight:800;color:var(--gpt-primary)}

.gpt-slider{position:relative}
.gpt-slider-track{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:4px 3px 10px}
.gpt-slider-track::-webkit-scrollbar{display:none}
.gpt-slider-track>*{scroll-snap-align:start}
.gpt-slider-arrow{position:absolute;z-index:4;top:50%;width:36px;height:50px;margin-top:-25px;border:0;background:transparent;color:var(--gpt-primary);font-size:40px;line-height:1;cursor:pointer;filter:drop-shadow(0 1px 3px rgba(255,255,255,.8));transition:.2s}
.gpt-slider-arrow:hover{transform:scale(1.08)}
.gpt-slider-arrow.is-prev{left:-38px}
.gpt-slider-arrow.is-next{right:-38px}

.gpt-category-section{margin-top:-25px;position:relative;z-index:3;padding:23px 24px 18px;background:#fff;border:1px solid var(--gpt-border);border-radius:18px;box-shadow:0 12px 32px rgba(30,66,23,.1)}
.gpt-category-section .gpt-section-heading{margin-bottom:13px}
.gpt-category-track{align-items:stretch}
.gpt-category-card{flex:0 0 calc((100% - 56px)/5);min-width:145px;min-height:132px;padding:8px 10px 12px;text-align:center;border-radius:12px;transition:.22s ease;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.gpt-category-card:hover{background:var(--gpt-soft);transform:translateY(-2px)}
.gpt-category-card__image{width:86px;height:86px;flex:0 0 86px;margin:0 auto 9px;border:1px solid var(--gpt-border);border-radius:50%;background:linear-gradient(180deg,#fff,var(--gpt-soft));display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 5px 14px rgba(48,86,37,.08)}
.gpt-category-card__image img{display:block;width:100%;height:100%;object-fit:contain;padding:7px}
.gpt-category-card strong{width:100%;min-height:30px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;line-height:1.25;color:var(--gpt-text)}
.gpt-category-card small{width:100%;display:block;margin-top:3px;text-align:center;color:var(--gpt-muted);font-size:10px;line-height:1.25}

.gpt-product-track .gpt-product-card{flex:0 0 calc((100% - 42px)/4);min-width:235px}
.gpt-product-section.is-opportunities .gpt-product-card{flex-basis:calc((100% - 28px)/3);min-width:290px}
.gpt-product-card{position:relative;overflow:hidden;background:var(--gpt-surface);border:1px solid var(--gpt-border);border-radius:var(--gpt-card-radius);display:flex;flex-direction:column;min-width:0;box-shadow:0 5px 15px rgba(35,64,29,.04);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.gpt-product-card:before{content:"";position:absolute;z-index:3;left:12%;right:12%;bottom:0;height:3px;border-radius:3px;background:var(--gpt-accent);opacity:0;transform:scaleX(.3);transition:.22s}
.gpt-product-card:hover{transform:translateY(-5px) scale(1.006);border-color:#bfd2b5;box-shadow:0 14px 30px rgba(45,91,34,.13)}
.gpt-product-card:hover:before{opacity:1;transform:scaleX(1)}
.gpt-product-card__image{position:relative;height:var(--gpt-image-height);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border-bottom:1px solid #eef2ec}
.gpt-product-card__image img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .24s ease}
.gpt-product-card:hover .gpt-product-card__image img{transform:scale(1.035)}
.gpt-sale-ribbon{position:absolute;z-index:3;top:14px;right:-30px;width:118px;height:25px;background:var(--gpt-sale);color:#fff;transform:rotate(39deg);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.gpt-sale-ribbon span{font-size:8px;font-weight:900;letter-spacing:.08em}
.gpt-product-card__body{flex:1;display:flex;flex-direction:column;padding:11px 12px 12px;text-align:center}
.gpt-product-card__brand{min-height:16px;color:var(--gpt-primary);font-size:10px;line-height:16px;font-weight:900;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gpt-product-card__divider{height:1px;background:#ebefea;margin:6px 2px}
.gpt-product-card h3{height:42px;margin:0;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1.24;font-weight:800;color:var(--gpt-text)}
.gpt-product-card h3 a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.gpt-product-card__price-wrap{min-height:39px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:1px}
.gpt-product-card__price{font-size:15px;line-height:1.12;font-weight:800;color:var(--gpt-text)}
.gpt-product-card__price del{display:block;color:#9ba49a;font-size:10px;font-weight:500}
.gpt-product-card__price ins{text-decoration:none;color:var(--gpt-primary)}
.gpt-discount-badge{width:36px;height:36px;flex:0 0 36px;border-radius:9px;background:var(--gpt-sale);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.gpt-discount-badge strong{font-size:10px}
.gpt-discount-badge small{margin-top:2px;font-size:6px;color:#fff46a}
.gpt-product-card__actions{display:grid;grid-template-columns:1fr;gap:5px;margin-top:auto;padding-top:8px}
.gpt-card-button{min-height:34px;border:1px solid var(--gpt-primary);border-radius:7px;display:flex;align-items:center;justify-content:center;padding:5px 7px;font-size:9px;line-height:1.1;font-weight:900;text-align:center;transition:.18s ease}
.gpt-card-button:hover{transform:translateY(-1px)}
.gpt-card-button.is-cart{background:#fff;color:var(--gpt-primary)}
.gpt-card-button.is-buy{background:linear-gradient(180deg,var(--gpt-primary),var(--gpt-primary-hover));color:#fff}
.gpt-card-button.is-full{min-height:42px}

.gpt-brand-card{flex:0 0 calc((100% - 70px)/6);min-width:170px;padding:15px 12px 11px;border:1px solid var(--gpt-border);border-radius:13px;background:#fff;text-align:center;transition:.22s ease}
.gpt-brand-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(45,91,34,.1);border-color:#bfd2b5}
.gpt-brand-card>span{height:72px;display:flex;align-items:center;justify-content:center}
.gpt-brand-card img{width:100%;height:100%;object-fit:contain}
.gpt-brand-card b{font-size:18px;color:var(--gpt-primary)}
.gpt-brand-card strong{display:block;margin-top:7px;font-size:10px;text-transform:uppercase;color:var(--gpt-text)}

.gpt-catalog-toolbar{min-height:52px;margin-bottom:12px;padding:8px 12px;border:1px solid var(--gpt-border);border-radius:11px;background:#fff;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:14px}
.gpt-filter-toggle{display:none;min-height:40px;border:1px solid var(--gpt-border);border-radius:8px;background:#fff;color:var(--gpt-text);font-weight:800}
.gpt-result-count{font-size:12px;color:var(--gpt-muted)}
.gpt-order-form label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--gpt-muted);white-space:nowrap}
.gpt-order-form select{height:36px;min-width:175px;border:1px solid var(--gpt-border);border-radius:8px;padding:0 30px 0 11px;background:#fff;color:var(--gpt-text)}
.gpt-catalog-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:18px;align-items:start}
.gpt-filter-sidebar{position:sticky;top:16px;border:1px solid var(--gpt-border);border-radius:12px;background:#fff;overflow:hidden}
.gpt-filters{padding:0 14px 14px}
.gpt-filter-head{height:47px;margin:0 -14px 8px;padding:0 14px;border-bottom:1px solid var(--gpt-border);display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;font-size:11px}
.gpt-filter-head button{display:none;border:0;background:transparent;font-size:26px;cursor:pointer}
.gpt-filters fieldset{margin:0;padding:14px 0;border:0;border-bottom:1px solid #edf1eb}
.gpt-filters legend{margin-bottom:8px;padding:0;color:var(--gpt-text);font-size:10px;font-weight:900;text-transform:uppercase}
.gpt-filters label{min-height:24px;display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:5px;font-size:10px;color:#3f483d;cursor:pointer}
.gpt-filters input[type=checkbox],.gpt-filters input[type=radio]{width:14px;height:14px;margin:0;accent-color:var(--gpt-primary)}
.gpt-filters label small{font-size:9px;color:#9aa398}
.gpt-price-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.gpt-price-fields input{min-width:0;height:36px;border:1px solid var(--gpt-border);border-radius:7px;padding:0 8px;font-size:10px}
.gpt-filter-actions{display:grid;grid-template-columns:1fr auto;gap:8px;padding-top:14px;align-items:center}
.gpt-filter-actions button{height:37px;border:0;border-radius:7px;background:var(--gpt-primary);color:#fff;font-size:10px;font-weight:900;cursor:pointer}
.gpt-filter-actions a{font-size:10px;color:var(--gpt-primary);font-weight:800}
.gpt-product-grid{display:grid;grid-template-columns:repeat(var(--gpt-columns),minmax(0,1fr));gap:14px}
.gpt-product-grid .gpt-product-card__image{height:min(var(--gpt-image-height),190px)}
.gpt-product-grid .gpt-product-card h3{font-size:11px}
.gpt-product-grid .gpt-product-card__price{font-size:14px}
.gpt-pagination{margin-top:28px;display:flex;justify-content:center}
.gpt-pagination ul{list-style:none;display:flex;gap:5px;margin:0;padding:0}
.gpt-pagination a,.gpt-pagination span{width:36px;height:36px;border:1px solid var(--gpt-border);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}
.gpt-pagination .current{background:var(--gpt-primary);border-color:var(--gpt-primary);color:#fff}
.gpt-empty{padding:60px 25px;border:1px dashed var(--gpt-border);border-radius:12px;text-align:center;background:var(--gpt-soft)}
.gpt-empty h3{margin:0 0 5px}
.gpt-empty p{margin:0;color:var(--gpt-muted)}

.gpt-benefits{margin-top:44px;padding:18px;border:1px solid var(--gpt-border);border-radius:14px;background:linear-gradient(180deg,#fbfdf9,var(--gpt-soft));display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.gpt-benefit{min-height:66px;padding:4px 18px;display:flex;align-items:center;gap:12px;border-right:1px solid var(--gpt-border)}
.gpt-benefit:last-child{border-right:0}
.gpt-benefit__icon{width:38px;height:38px;flex:0 0 38px;color:var(--gpt-primary)}
.gpt-benefit__icon svg{width:100%;height:100%}
.gpt-benefit strong{display:block;font-size:11px;text-transform:uppercase;color:var(--gpt-text)}
.gpt-benefit small{display:block;margin-top:2px;font-size:9px;line-height:1.35;color:var(--gpt-muted)}
.gpt-bottom-copy{max-width:950px;margin:36px auto 0;padding:20px 24px;border-left:3px solid var(--gpt-accent);background:var(--gpt-soft);color:var(--gpt-muted);font-size:13px;line-height:1.7}
.gpt-bottom-copy p{margin:0}
.gpt-filter-backdrop{display:none}

@media(max-width:1180px){
  .gpt-slider-arrow.is-prev{left:-24px}.gpt-slider-arrow.is-next{right:-24px}
  .gpt-category-card{flex-basis:calc((100% - 42px)/4)}
  .gpt-brand-card{flex-basis:calc((100% - 56px)/5)}
  .gpt-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gpt-benefits{grid-template-columns:repeat(2,1fr)}
  .gpt-benefit:nth-child(2){border-right:0}.gpt-benefit:nth-child(-n+2){border-bottom:1px solid var(--gpt-border)}
}
@media(max-width:900px){
  .gpt-shell{width:min(calc(100% - 28px),var(--gpt-max))}
  .gpt-hero{background-image:var(--gpt-hero-mobile);background-position:center}
  .gpt-hero__overlay{background:linear-gradient(90deg,rgba(5,17,5,.92),rgba(8,24,7,.55))}
  .gpt-hero__copy{width:min(680px,82%)}
  .gpt-category-section{padding-inline:14px}
  .gpt-category-card{flex-basis:calc((100% - 42px)/4)}
  .gpt-product-track .gpt-product-card{flex-basis:calc((100% - 28px)/3)}
  .gpt-product-section.is-opportunities .gpt-product-card{flex-basis:calc((100% - 14px)/2);min-width:280px}
  .gpt-brand-card{flex-basis:calc((100% - 42px)/4)}
  .gpt-catalog-toolbar{grid-template-columns:auto 1fr auto}
  .gpt-filter-toggle{display:flex;align-items:center;justify-content:center;gap:7px;padding-inline:14px}
  .gpt-catalog-layout{grid-template-columns:1fr}
  .gpt-filter-sidebar{position:fixed;z-index:99999;top:0;left:0;bottom:0;width:min(360px,88vw);border-radius:0;overflow-y:auto;transform:translateX(-105%);transition:transform .25s ease}
  .gpt-filter-sidebar.is-open{transform:translateX(0)}
  .gpt-filter-head button{display:block}
  .gpt-filter-backdrop{position:fixed;z-index:99998;inset:0;background:rgba(4,11,4,.54)}
  .gpt-filter-backdrop.is-open{display:block}
  body.gpt-filter-open{overflow:hidden}
}
@media(max-width:680px){
  .gpt-shell{width:min(calc(100% - 20px),var(--gpt-max))}
  .gpt-hero{min-height:520px}
  .gpt-hero__inner{padding-top:17px;padding-bottom:22px}
  .gpt-breadcrumbs{font-size:10px}
  .gpt-hero__copy{width:100%;padding:34px 0 22px}
  .gpt-hero h1{font-size:34px;line-height:1.02;max-width:92%}
  .gpt-hero__copy p{font-size:13px;max-width:92%}
  .gpt-hero__buttons{display:grid;grid-template-columns:1fr;max-width:260px}
  .gpt-hero__benefits{display:grid;gap:8px;font-size:10px}
  .gpt-category-section{margin-top:0;border-radius:0;border-left:0;border-right:0;box-shadow:none;padding:18px 0 8px}
  .gpt-section{margin-top:38px}
  .gpt-section-heading{margin-bottom:13px}
  .gpt-section-heading__copy{text-align:left}
  .gpt-title-row{grid-template-columns:auto 1fr;gap:10px}
  .gpt-title-row h2{font-size:19px;grid-column:1}
  .gpt-title-row span:first-child{display:none}
  .gpt-title-row span:last-child{grid-column:2;height:2px;background:linear-gradient(90deg,var(--gpt-accent),transparent)}
  .gpt-section-kicker{font-size:8px}
  .gpt-slider-arrow{display:none}
  .gpt-slider-track{margin-inline:-10px;padding-inline:10px;gap:10px}
  .gpt-category-card{flex-basis:38%;min-width:125px;min-height:112px;padding-inline:4px}
  .gpt-category-card__image{width:68px;height:68px;flex-basis:68px}
  .gpt-category-card strong{font-size:10px}
  .gpt-category-card small{display:none}
  .gpt-product-track .gpt-product-card{flex-basis:76%;min-width:245px}
  .gpt-product-section.is-opportunities .gpt-product-card{flex-basis:86%;min-width:270px}
  .gpt-brand-card{flex-basis:50%;min-width:145px}
  .gpt-brand-card>span{height:58px}
  .gpt-catalog-toolbar{grid-template-columns:1fr;gap:8px;padding:10px}
  .gpt-filter-toggle{width:100%}
  .gpt-result-count{order:2}
  .gpt-order-form{order:1}
  .gpt-order-form label{justify-content:space-between;width:100%}
  .gpt-order-form select{flex:1;min-width:0}
  .gpt-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gpt-product-grid .gpt-product-card__image{height:148px}
  .gpt-product-grid .gpt-product-card__body{padding:8px}
  .gpt-product-grid .gpt-product-card__brand{font-size:8px;min-height:14px}
  .gpt-product-grid .gpt-product-card h3{height:38px;font-size:9px}
  .gpt-product-grid .gpt-product-card__price{font-size:11px}
  .gpt-product-grid .gpt-discount-badge{width:30px;height:30px;flex-basis:30px}
  .gpt-product-grid .gpt-discount-badge strong{font-size:8px}
  .gpt-product-grid .gpt-card-button{min-height:31px;font-size:7px;padding-inline:4px}
  .gpt-benefits{grid-template-columns:1fr;padding:6px 12px}
  .gpt-benefit{border-right:0!important;border-bottom:1px solid var(--gpt-border)!important;padding:12px 6px}
  .gpt-benefit:last-child{border-bottom:0!important}
}
@media(max-width:390px){
  .gpt-product-grid{grid-template-columns:1fr}
  .gpt-product-grid .gpt-product-card__image{height:210px}
  .gpt-product-grid .gpt-product-card h3{font-size:11px}
  .gpt-product-grid .gpt-product-card__price{font-size:14px}
}

/* ========================================================================== 
   v1.0.3 — alineación general, carruseles, tarjetas, filtros y beneficios
   ========================================================================== */

/* Neutraliza contenedores y márgenes heredados de Astra/Elementor/ShopLentor. */
.gpt-store-page #content,
.gpt-store-page .site-content,
.gpt-store-page .site-main,
.gpt-store-page .ast-container,
.gpt-store-page .content-area{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.gpt-store-page .site-content>.ast-container{display:block!important}
.gpt-store{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow-x:clip;
}
.gpt-shell{
  position:relative;
  left:auto!important;
  right:auto!important;
  width:min(calc(100% - 48px),1280px)!important;
  max-width:1280px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  transform:none!important;
}
.gpt-store-content>.gpt-section,
.gpt-store-content>.gpt-benefits,
.gpt-store-content>.gpt-bottom-copy{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Beneficios del banner: centrados y alineados con el box de subcategorías. */
.gpt-hero__benefits{
  width:min(820px,100%);
  margin:0 auto 7px;
  padding:8px 10px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  color:var(--gpt-hero-benefit-text,#fff);
  border:1px solid rgba(148,188,88,.28);
  border-radius:12px;
  background:rgba(5,25,6,.34);
  box-shadow:0 8px 24px rgba(0,0,0,.10);
  backdrop-filter:blur(4px);
}
.gpt-hero__benefits span{
  min-width:0;
  min-height:34px;
  padding:2px 15px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  line-height:1.25;
}
.gpt-hero__benefits span:not(:last-child){border-right:1px solid rgba(255,255,255,.16)}
.gpt-hero__benefits b{
  width:26px;
  height:26px;
  flex:0 0 26px;
  font-size:13px;
}

/* Subcategorías: contenido perfectamente centrado y flechas dentro del box. */
.gpt-category-section{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:23px 28px 20px;
}
.gpt-category-section .gpt-slider{padding:0 35px}
.gpt-category-section .gpt-slider-track{padding:5px 0 12px}
.gpt-category-section .gpt-slider-arrow{
  top:50%;
  width:34px;
  height:58px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translateY(-50%);
  font-size:38px;
  line-height:1;
}
.gpt-category-section .gpt-slider-arrow.is-prev{left:0}
.gpt-category-section .gpt-slider-arrow.is-next{right:0}
.gpt-category-section .gpt-slider-arrow:hover{transform:translateY(-50%) scale(1.08)}
.gpt-category-card{
  min-height:142px;
  padding:7px 8px 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
}
.gpt-category-card__image{margin-left:auto;margin-right:auto}
.gpt-category-card strong,
.gpt-category-card small{margin-left:auto;margin-right:auto;text-align:center}

/* Todos los carruseles de producto muestran cinco tarjetas completas. */
.gpt-product-track{align-items:stretch;gap:12px;padding:10px 3px 22px}
.gpt-product-track .gpt-product-card,
.gpt-product-section.is-opportunities .gpt-product-card{
  flex:0 0 calc((100% - 48px)/5);
  min-width:205px;
}

/* Tarjeta única para Tienda, categoría, marca, carruseles y catálogo. */
.gpt-product-card{
  position:relative;
  isolation:isolate;
  min-height:360px;
  overflow:visible;
  border:1px solid rgba(194,213,187,.95);
  border-radius:15px;
  background:linear-gradient(180deg,#fff 0%,#fefffc 100%);
  box-shadow:0 9px 24px rgba(22,42,18,.055);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.gpt-product-card:before{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:-14px;
  z-index:-1;
  height:16px;
  border-radius:999px;
  background:radial-gradient(ellipse at center,rgba(148,188,88,.47),rgba(148,188,88,0) 72%);
  opacity:0;
  transform:scaleX(.7);
  transition:opacity .22s ease,transform .22s ease;
  pointer-events:none;
}
.gpt-product-card:hover{
  transform:translateY(-5px) scale(1.012);
  border-color:rgba(148,188,88,.85);
  box-shadow:0 18px 38px rgba(23,64,15,.14),0 0 0 1px rgba(148,188,88,.16);
}
.gpt-product-card:hover:before{opacity:1;transform:scaleX(1)}
.gpt-product-card__image,
.gpt-product-grid .gpt-product-card__image{
  width:auto;
  height:178px;
  flex:0 0 178px;
  margin:8px 8px 0;
  padding:9px;
  overflow:hidden;
  border:1px solid #e5ede1;
  border-radius:11px;
  background:linear-gradient(180deg,#fff,#f8fbf6);
}
.gpt-product-card__image img{
  width:100%;
  height:100%;
  padding:0;
  object-fit:contain;
  transition:transform .22s ease;
}
.gpt-product-card:hover .gpt-product-card__image img{transform:scale(1.035)}
.gpt-product-card__body{
  flex:1;
  min-height:0;
  padding:9px 10px 10px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  text-align:center;
}
.gpt-product-card__brand{
  min-height:18px;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:#6f9e43;
  font-size:8.5px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.gpt-product-card__brand.is-empty{visibility:hidden}
.gpt-product-card__divider{
  position:relative;
  flex:0 0 1px;
  height:1px;
  margin:7px 0;
  background:#dce8d6;
}
.gpt-product-card__brand + .gpt-product-card__divider:after{
  content:"✦";
  position:absolute;
  left:50%;
  top:50%;
  padding:0 6px;
  background:#fff;
  color:#305625;
  font-size:8px;
  line-height:1;
  transform:translate(-50%,-50%);
}
.gpt-product-card h3,
.gpt-product-grid .gpt-product-card h3{
  width:100%;
  height:46px;
  min-height:46px;
  max-height:46px;
  margin:0;
  padding:0 5px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:#07142f;
  font-size:11px;
  line-height:15px;
  font-weight:900;
  letter-spacing:-.02em;
  text-align:center;
}
.gpt-product-card h3 a{
  display:-webkit-box;
  width:100%;
  max-height:30px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:#07142f;
  line-height:15px;
  text-align:center;
}
.gpt-product-card.has-long-title h3 a{font-size:10.5px}
.gpt-product-card.has-very-long-title h3 a{font-size:10px;line-height:14px}
.gpt-product-card__price-wrap{
  position:relative;
  width:100%;
  min-height:43px;
  margin:0 auto 9px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
}
.gpt-product-card__price,
.gpt-product-grid .gpt-product-card__price{
  position:relative;
  z-index:2;
  margin:0 auto;
  color:#16420f;
  font-size:13px;
  line-height:14px;
  font-weight:900;
  text-align:center;
}
.gpt-product-card__price del{
  display:block;
  margin-bottom:3px;
  color:#81907b;
  font-size:10px;
  line-height:1.1;
  font-weight:700;
}
.gpt-product-card__price ins{text-decoration:none;color:#16420f}
.gpt-discount-badge{
  position:absolute;
  left:0;
  top:50%;
  z-index:4;
  width:34px;
  height:34px;
  padding:2px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:2px solid rgba(255,255,255,.94);
  border-radius:50%;
  background:linear-gradient(145deg,#f52c2c 0%,#c90f17 100%);
  color:#fff;
  box-shadow:0 6px 13px rgba(159,12,20,.22);
  transform:translateY(-50%) rotate(-8deg);
  line-height:1;
}
.gpt-discount-badge:before{
  content:"";
  position:absolute;
  inset:-4px;
  z-index:-1;
  border-radius:50%;
  background:repeating-conic-gradient(from 0deg,#e21720 0 7deg,transparent 7deg 14deg);
}
.gpt-discount-badge strong{font-size:9px;line-height:1;color:#fff}
.gpt-discount-badge small{margin-top:1px;font-size:6px;line-height:1;color:#fff46a}
.gpt-sale-ribbon{
  position:absolute;
  top:15px;
  right:-34px;
  z-index:8;
  width:124px;
  height:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.45);
  border-bottom:1px solid rgba(116,0,8,.18);
  background:linear-gradient(180deg,#f33a3a 0%,#d20f1b 100%);
  box-shadow:0 6px 13px rgba(138,7,15,.24);
  transform:rotate(45deg);
  transform-origin:center;
  pointer-events:none;
}
.gpt-sale-ribbon span{
  color:#fff;
  font-size:8px;
  line-height:1;
  font-weight:950;
  letter-spacing:.12em;
  text-shadow:0 1px 1px rgba(85,0,5,.28);
}
.gpt-product-card__actions{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  margin-top:auto;
  padding-top:0;
}
.gpt-card-button{
  min-height:32px;
  padding:7px 6px;
  border-radius:8px;
  font-size:8.5px;
  line-height:1;
  font-weight:900;
  text-align:center;
  transition:filter .18s ease,transform .18s ease,box-shadow .18s ease;
}
.gpt-card-button.is-cart{
  border:1px solid #305625;
  background:#fff;
  color:#305625;
}
.gpt-card-button.is-buy{
  border:1px solid #2d7622;
  background:linear-gradient(180deg,#3f8a2e 0%,#1e6218 100%);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 7px 14px rgba(28,90,20,.14);
}
.gpt-card-button:hover{transform:translateY(-1px);filter:brightness(1.02)}
.gpt-product-card.is-out-of-stock .gpt-product-card__actions{margin-top:auto}
.gpt-product-card.is-out-of-stock .gpt-card-button.is-full{min-height:38px}

/* Catálogo y filtros. */
.gpt-catalog-layout{grid-template-columns:230px minmax(0,1fr);gap:16px}
.gpt-product-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;align-items:stretch}
.gpt-filter-sidebar{border-radius:14px;box-shadow:0 7px 22px rgba(28,63,24,.045)}
.gpt-filter-head{
  position:relative;
  min-height:48px;
  height:auto;
  justify-content:center;
  text-align:center;
  font-size:11px;
  letter-spacing:.06em;
}
.gpt-filter-head button{position:absolute;right:10px}
.gpt-filters fieldset{padding:15px 0}
.gpt-filters legend{
  width:100%;
  margin:0 0 10px;
  text-align:center;
  font-size:10px;
  letter-spacing:.04em;
}
.gpt-filter-group.is-price .gpt-price-fields{gap:8px}
.gpt-price-fields input{
  height:38px;
  padding:0 7px;
  border-radius:8px;
  font-size:10px;
  text-align:center;
}
.gpt-price-fields input::placeholder{text-align:center;color:#7d877a}
.gpt-filter-group.is-availability{padding-bottom:13px}
.gpt-filter-group.is-availability label{
  min-height:31px;
  width:100%;
  grid-template-columns:18px auto;
  justify-content:center;
  gap:8px;
  text-align:left;
}
.gpt-filter-group.is-availability label span{min-width:92px}
.gpt-filters input[type=checkbox],
.gpt-filters input[type=radio]{width:15px;height:15px}
.gpt-filter-actions{
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding-top:14px;
}
.gpt-filter-actions button,
.gpt-filter-clear{
  width:100%;
  min-height:39px;
  padding:7px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  font-size:9px!important;
  line-height:1.1;
  font-weight:900!important;
  text-align:center;
}
.gpt-filter-actions button{border:1px solid var(--gpt-primary);background:var(--gpt-primary);color:#fff}
.gpt-filter-clear{border:1px solid var(--gpt-primary);background:#fff;color:var(--gpt-primary)!important}
.gpt-filter-actions button:hover,
.gpt-filter-clear:hover{filter:brightness(1.03);transform:translateY(-1px)}

/* Beneficios inferiores: mismo lenguaje del panel de servicios de Producto. */
.gpt-benefits{
  margin-top:44px;
  padding:10px 14px;
  overflow:hidden;
  border:1px solid var(--gpt-border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,67,26,.055);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
}
.gpt-benefit{
  position:relative;
  min-height:78px;
  padding:10px 14px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:11px;
  border:0!important;
  border-radius:8px;
  transition:background .18s ease;
}
.gpt-benefit:hover{background:#f7faf5}
.gpt-benefit:not(:last-child):after{
  content:"";
  position:absolute;
  top:10px;
  right:0;
  bottom:10px;
  width:1px;
  background:linear-gradient(180deg,rgba(224,234,220,.38),rgba(192,211,184,.95),rgba(224,234,220,.38));
}
.gpt-benefit__icon{
  width:38px;
  height:38px;
  margin:auto;
  color:var(--gpt-primary);
}
.gpt-benefit__copy{min-width:0;display:flex;flex-direction:column;justify-content:center}
.gpt-benefit strong{font-size:10.5px;line-height:1.18}
.gpt-benefit small{margin-top:4px;font-size:9px;line-height:1.32}

@media(max-width:1100px){
  .gpt-shell{width:min(calc(100% - 40px),1280px)!important}
  .gpt-product-track .gpt-product-card,
  .gpt-product-section.is-opportunities .gpt-product-card{flex-basis:calc((100% - 36px)/4);min-width:205px}
  .gpt-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gpt-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gpt-benefit:nth-child(2):after{display:none}
  .gpt-benefit:nth-child(-n+2){border-bottom:1px solid var(--gpt-border)!important}
}
@media(max-width:980px){
  .gpt-product-track .gpt-product-card,
  .gpt-product-section.is-opportunities .gpt-product-card{flex-basis:calc((100% - 24px)/3);min-width:210px}
  .gpt-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gpt-hero__benefits{width:100%}
}
@media(max-width:900px){
  .gpt-shell{width:min(calc(100% - 28px),1280px)!important}
  .gpt-category-section .gpt-slider{padding:0 29px}
}
@media(max-width:680px){
  .gpt-shell{width:calc(100% - 20px)!important}
  .gpt-hero__benefits{
    width:100%;
    grid-template-columns:1fr;
    padding:7px 10px;
    gap:0;
  }
  .gpt-hero__benefits span{justify-content:flex-start;text-align:left;padding:6px 10px}
  .gpt-hero__benefits span:not(:last-child){border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .gpt-category-section{padding-left:8px;padding-right:8px}
  .gpt-category-section .gpt-slider{padding:0}
  .gpt-category-section .gpt-slider-arrow{display:none}
  .gpt-product-track .gpt-product-card,
  .gpt-product-section.is-opportunities .gpt-product-card{flex-basis:76%;min-width:230px}
  .gpt-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gpt-product-grid .gpt-product-card{min-height:324px}
  .gpt-product-grid .gpt-product-card__image{height:145px;flex-basis:145px}
  .gpt-product-grid .gpt-product-card h3{height:42px;min-height:42px;max-height:42px;font-size:9.5px}
  .gpt-product-grid .gpt-product-card__price{font-size:11px}
  .gpt-benefits{grid-template-columns:1fr;padding:7px 10px}
  .gpt-benefit{min-height:68px;grid-template-columns:48px minmax(0,1fr);border-bottom:1px solid var(--gpt-border)!important}
  .gpt-benefit:after{display:none!important}
  .gpt-benefit:last-child{border-bottom:0!important}
}
@media(max-width:390px){
  .gpt-product-grid{grid-template-columns:1fr}
  .gpt-product-grid .gpt-product-card__image{height:190px;flex-basis:190px}
}

/* ========================================================================== 
   v1.0.4 — compactación, filtros funcionales, navegación y panel de servicios
   ========================================================================== */

/* Migas de pan compactas, legibles y alineadas con el contenido del banner. */
.gpt-breadcrumbs{
  width:max-content;
  max-width:100%;
  min-height:28px;
  padding:5px 9px;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  background:rgba(2,18,5,.35);
  box-shadow:0 4px 14px rgba(0,0,0,.08);
  color:rgba(255,255,255,.78);
  font-size:11px;
  line-height:1.15;
  backdrop-filter:blur(3px);
}
.gpt-breadcrumbs a,
.gpt-breadcrumbs strong{
  min-width:0;
  padding:0 3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gpt-breadcrumbs a{transition:color .18s ease}
.gpt-breadcrumbs a:hover{color:var(--gpt-hero-accent)}
.gpt-breadcrumbs strong{color:#fff;font-weight:800}
.gpt-breadcrumbs>span{
  width:18px;
  flex:0 0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--gpt-hero-accent);
  font-size:14px;
  line-height:1;
}

/* Box de subcategorías más compacto, conservando intactos círculos e imágenes. */
.gpt-category-section{
  padding:14px 28px 9px;
}
.gpt-category-section .gpt-section-heading{margin-bottom:3px}
.gpt-category-section .gpt-slider{padding:0 35px}
.gpt-category-section .gpt-slider-track{padding:0 0 3px}
.gpt-category-section .gpt-category-card{
  min-height:116px;
  padding:2px 8px 4px;
}
.gpt-category-section .gpt-category-card__image{
  width:86px;
  height:86px;
  flex-basis:86px;
  margin-bottom:6px;
}
.gpt-category-section .gpt-category-card strong{min-height:26px}
.gpt-category-section .gpt-slider-arrow{
  width:34px;
  height:46px;
  font-size:37px;
}

/* El catálogo queda como destino estable al ordenar, filtrar o paginar. */
.gpt-catalog{scroll-margin-top:128px}
.gpt-order-form select{
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.gpt-order-form select:focus{
  border-color:var(--gpt-primary);
  outline:0;
  box-shadow:0 0 0 3px rgba(48,86,37,.12);
}

/* Panel lateral: MARCAS como encabezado principal y grupos con aire uniforme. */
.gpt-filter-head{
  min-height:50px;
  margin-bottom:0;
  border-bottom:1px solid var(--gpt-border);
}
.gpt-filter-head strong{
  width:100%;
  text-align:center;
  color:var(--gpt-text);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.gpt-filter-brands{
  padding-top:13px!important;
  padding-bottom:16px!important;
}
.gpt-filter-brands label,
.gpt-filters fieldset label{
  justify-content:stretch;
}
.gpt-filter-group.is-price,
.gpt-filter-group.is-availability{
  padding-top:20px!important;
  padding-bottom:17px!important;
}
.gpt-filter-group.is-price legend,
.gpt-filter-group.is-availability legend{
  margin-bottom:14px;
}
.gpt-price-fields{gap:8px}
.gpt-price-fields input{
  min-width:0;
  width:100%;
  height:38px;
  padding:0 8px;
  text-align:center;
}
.gpt-filter-group.is-availability label{
  width:100%;
  min-height:29px;
  padding:0;
  grid-template-columns:16px minmax(0,1fr);
  justify-content:stretch;
  gap:5px;
  text-align:left;
}
.gpt-filter-group.is-availability label span{
  min-width:0;
  width:auto;
  text-align:left;
}
.gpt-filter-actions{padding-top:15px}
.gpt-filter-actions button,
.gpt-filter-clear{line-height:1.15}

/* Panel inferior: réplica visual del panel de servicios de Producto. */
.gpt-benefits{
  margin-top:44px;
  padding:12px 16px;
  overflow:hidden;
  border:1px solid #0d4a1d;
  border-radius:10px;
  background:linear-gradient(115deg,#063412 0%,#052b0f 48%,#031d0a 100%);
  box-shadow:0 12px 28px rgba(3,36,12,.16),inset 0 1px 0 rgba(255,255,255,.035);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
}
.gpt-benefit{
  position:relative;
  min-height:96px;
  padding:12px 20px;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  gap:12px;
  border:0!important;
  border-radius:7px;
  color:#fff;
  transition:background .18s ease;
}
.gpt-benefit:hover{background:rgba(111,190,51,.075)}
.gpt-benefit:not(:last-child):after{
  content:"";
  position:absolute;
  top:12px;
  right:0;
  bottom:12px;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(126,194,76,.5),transparent);
}
.gpt-benefit__icon{
  width:42px;
  height:42px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#7ad936;
}
.gpt-benefit__icon svg{width:34px;height:34px}
.gpt-benefit__icon.has-logo{
  width:64px;
  height:42px;
}
.gpt-benefit__logo{
  width:64px!important;
  max-width:64px!important;
  max-height:38px;
  padding:4px 5px;
  border-radius:5px;
  background:#fff;
  object-fit:contain;
}
.gpt-benefit__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:left;
}
.gpt-benefit strong{
  display:block;
  color:#fff;
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  text-transform:uppercase;
}
.gpt-benefit small{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.88);
  font-size:9.5px;
  line-height:1.4;
}

@media(max-width:1100px){
  .gpt-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gpt-benefit:nth-child(2):after{display:none}
  .gpt-benefit:nth-child(-n+2){
    border-bottom:1px solid rgba(126,194,76,.28)!important;
  }
}

@media(max-width:680px){
  .gpt-breadcrumbs{
    max-width:100%;
    padding:5px 7px;
    font-size:9.5px;
  }
  .gpt-breadcrumbs>span{width:15px;flex-basis:15px;font-size:12px}
  .gpt-category-section{
    padding-top:12px;
    padding-bottom:6px;
  }
  .gpt-category-section .gpt-section-heading{margin-bottom:2px}
  .gpt-category-section .gpt-slider-track{padding-bottom:2px}
  .gpt-filter-group.is-availability label{
    grid-template-columns:16px minmax(0,1fr);
    justify-content:stretch;
  }
  .gpt-benefits{
    grid-template-columns:1fr;
    padding:8px 10px;
  }
  .gpt-benefit{
    min-height:76px;
    grid-template-columns:58px minmax(0,1fr);
    padding:10px 8px;
    border-bottom:1px solid rgba(126,194,76,.28)!important;
  }
  .gpt-benefit:after{display:none!important}
  .gpt-benefit:last-child{border-bottom:0!important}
  .gpt-benefit__icon.has-logo{width:58px}
  .gpt-benefit__logo{width:58px!important;max-width:58px!important}
}

/* ========================================================================== 
   v1.0.5 — subcategorías centradas y filtros contextuales
   ========================================================================== */

/* Cuando no hay suficientes elementos, las subcategorías ocupan el centro real
   del carrusel y las flechas dejan de mostrarse. */
.gpt-category-track.is-centered,
.gpt-slider.is-static .gpt-category-track{
  justify-content:center;
}
.gpt-slider-arrow[hidden],
.gpt-slider.is-static .gpt-slider-arrow{
  display:none!important;
}

/* Encabezados contextuales del panel lateral. */
.gpt-filter-head{
  min-height:52px;
  padding-top:7px;
  padding-bottom:7px;
}
.gpt-filter-head strong{
  max-width:180px;
  margin-inline:auto;
  padding-inline:4px;
  white-space:normal;
  text-wrap:balance;
  line-height:1.28;
}

/* Separación clara entre las rayas divisorias y los títulos internos. */
.gpt-filter-group.is-price,
.gpt-filter-group.is-availability{
  padding-top:28px!important;
  padding-bottom:19px!important;
}
.gpt-filter-group.is-price legend,
.gpt-filter-group.is-availability legend{
  display:block;
  width:100%;
  margin:0 0 18px!important;
  padding:8px 0 0!important;
  line-height:1.2;
}

/* Subcategorías contextuales del panel. */
.gpt-filter-subcategories{
  padding-top:24px!important;
  padding-bottom:18px!important;
}
.gpt-filter-subcategories legend{
  display:block;
  width:100%;
  margin:0 0 13px!important;
  padding:7px 0 0!important;
  line-height:1.3;
  text-wrap:balance;
}
.gpt-filter-option-link{
  min-height:27px;
  display:grid;
  grid-template-columns:16px minmax(0,1fr) auto;
  align-items:center;
  gap:5px;
  color:#3f483d!important;
  font-size:10px;
  line-height:1.25;
  transition:color .18s ease,background .18s ease;
}
.gpt-filter-option-link:hover,
.gpt-filter-option-link.is-current{
  color:var(--gpt-primary)!important;
}
.gpt-filter-option-link.is-current{
  font-weight:800;
}
.gpt-filter-option-dot{
  width:14px;
  height:14px;
  border:1px solid #7a8577;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 3px #fff;
}
.gpt-filter-option-link.is-current .gpt-filter-option-dot{
  border-color:var(--gpt-primary);
  background:var(--gpt-primary);
}
.gpt-filter-option-link small{
  color:#9aa398;
  font-size:9px;
}

@media(max-width:680px){
  .gpt-filter-head strong{max-width:220px}
}

/* ========================================================================== 
   v1.0.6 — centrado vertical real de títulos del panel de filtros
   ========================================================================== */

/* El encabezado contextual queda centrado dentro de su propia franja, incluso
   cuando ocupa dos líneas, sin acumular la altura fija heredada. */
.gpt-filter-head{
  height:auto;
  min-height:48px;
  box-sizing:border-box;
  padding:9px 14px;
  align-items:center;
}
.gpt-filter-head strong{
  margin:0 auto;
  padding:0 4px;
  line-height:1.25;
}

/* Los <legend> dejan de usar el posicionamiento especial del navegador.
   De esta manera el aire superior e inferior es exacto y uniforme. */
.gpt-filters fieldset{
  padding-top:0!important;
}
.gpt-filters fieldset > legend{
  float:left;
  width:100%;
  box-sizing:border-box;
  margin:0 0 10px!important;
  padding:18px 0 0!important;
  text-align:center;
  line-height:1.25;
}
.gpt-filters fieldset > legend + *{
  clear:both;
}
.gpt-filters fieldset:after{
  content:"";
  display:block;
  clear:both;
}

/* Menos espacio residual debajo de los títulos, sin comprimir controles. */
.gpt-filter-group.is-price,
.gpt-filter-group.is-availability,
.gpt-filter-subcategories{
  padding-top:0!important;
  padding-bottom:15px!important;
}
.gpt-filter-group.is-price > legend,
.gpt-filter-group.is-availability > legend,
.gpt-filter-subcategories > legend{
  margin-bottom:10px!important;
  padding-top:18px!important;
}

/* ========================================================================== 
   v1.0.8 — filtros separados en boxes independientes
   ========================================================================== */

/* La columna lateral deja de ser un panel único y pasa a contener módulos
   visualmente independientes, sin alterar la lógica ni los campos. */
.gpt-filter-sidebar{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.gpt-filters{
  padding:0;
}
.gpt-filter-drawer-head{
  display:none;
}
.gpt-filter-box{
  margin:0 0 12px;
  overflow:hidden;
  border:1px solid var(--gpt-border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 22px rgba(28,63,24,.045);
}
.gpt-filter-box:last-child{
  margin-bottom:0;
}
.gpt-filter-box .gpt-filter-head{
  margin:0;
  padding:10px 14px;
  border-bottom:1px solid var(--gpt-border);
  background:#fff;
}
.gpt-filter-box .gpt-filter-head strong{
  max-width:none;
}
.gpt-filter-box fieldset{
  margin:0;
  padding-right:14px!important;
  padding-left:14px!important;
  border:0!important;
}
.gpt-filter-box fieldset > legend{
  padding-right:0!important;
  padding-left:0!important;
}
.gpt-filter-box--brands .gpt-filter-brands{
  padding:13px 14px 16px!important;
}
.gpt-filter-box--subcategories .gpt-filter-subcategories,
.gpt-filter-box--price .is-price,
.gpt-filter-box--availability .is-availability,
.gpt-filter-box--attribute fieldset{
  padding-bottom:15px!important;
}
.gpt-filter-box--actions{
  padding:12px;
}
.gpt-filter-box--actions .gpt-filter-actions{
  margin:0;
  padding:0;
}
.gpt-filter-box--price .gpt-price-fields{
  width:100%;
}
.gpt-filter-box--availability .is-availability label{
  padding-left:0;
}

@media(max-width:900px){
  .gpt-filter-sidebar{
    padding:12px;
    border-radius:0;
    background:#f6f9f3;
    overflow-y:auto;
  }
  .gpt-filter-drawer-head{
    min-height:48px;
    margin:0 0 12px;
    padding:0 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border:1px solid var(--gpt-border);
    border-radius:12px;
    background:#fff;
    color:var(--gpt-text);
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .gpt-filter-drawer-head button{
    width:36px;
    height:36px;
    border:0;
    background:transparent;
    color:var(--gpt-text);
    font-size:26px;
    line-height:1;
    cursor:pointer;
  }
}

/* ========================================================================== 
   v1.0.10 — interacción y glow refinados de las tarjetas de producto
   ========================================================================== */

/*
 * Conserva íntegramente la estructura, medidas, tipografía e imagen de la
 * tarjeta. Solo reemplaza el halo inferior y la sombra de interacción.
 */
.gpt-product-card:before{
  left:18%;
  right:18%;
  bottom:-7px;
  height:9px;
  border-radius:999px;
  background:radial-gradient(
    ellipse at 50% 0%,
    rgba(151,196,91,.42) 0%,
    rgba(151,196,91,.18) 42%,
    rgba(151,196,91,0) 76%
  );
  filter:blur(3px);
  opacity:0;
  transform:scaleX(.72);
  transition:opacity .2s ease,transform .2s ease;
}
.gpt-product-card:hover{
  transform:translateY(-4px);
  border-color:rgba(148,188,88,.72);
  box-shadow:
    0 15px 29px rgba(22,57,16,.12),
    0 5px 13px rgba(118,166,68,.09),
    0 0 0 1px rgba(148,188,88,.11);
}
.gpt-product-card:hover:before{
  opacity:.82;
  transform:scaleX(1);
}

/*
 * Amplía únicamente la zona invisible de los carruseles. La posición y el
 * ancho efectivo de las tarjetas permanecen iguales, pero el halo de la
 * primera y de la última tarjeta dispone de espacio para no quedar cortado.
 */
.gpt-product-section .gpt-product-track{
  width:calc(100% + 24px);
  margin-right:-12px;
  margin-left:-12px;
  padding-right:15px;
  padding-left:15px;
  scroll-padding-inline:15px;
}

/* ========================================================================== 
   v1.0.11 — identidad centrada en los banners de tiendas de marca
   ========================================================================== */
.gpt-hero--brand .gpt-hero__overlay{
  background:linear-gradient(90deg,rgba(4,14,4,.78) 0%,rgba(7,23,7,.69) 50%,rgba(5,16,5,.38) 100%);
}
.gpt-hero--brand .gpt-hero__copy--brand{
  width:min(760px,82%);
  margin-inline:auto;
  padding:30px 0 24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.gpt-hero--brand .gpt-hero__kicker{
  margin-bottom:14px;
  text-align:center;
}
.gpt-hero__brand-logo{
  position:relative;
  isolation:isolate;
  width:min(430px,72vw);
  min-height:112px;
  max-height:154px;
  padding:10px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gpt-hero__brand-logo:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:4% -8%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.16) 0%,rgba(255,255,255,.065) 44%,transparent 72%);
  filter:blur(4px);
  pointer-events:none;
}
.gpt-hero__brand-logo img{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:134px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 7px 16px rgba(0,0,0,.22));
}
.gpt-hero--brand h1.gpt-hero__brand-name{
  max-width:100%;
  margin:8px 0 0;
  color:#fff;
  font-size:clamp(15px,1.45vw,21px);
  line-height:1.15;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 2px 8px rgba(0,0,0,.28);
}
.gpt-hero--brand h1.gpt-hero__brand-title{
  max-width:100%;
  margin:0;
  color:#fff;
  font-size:clamp(42px,5vw,72px);
  line-height:1;
  text-align:center;
  text-shadow:0 3px 14px rgba(0,0,0,.28);
}
.gpt-hero--brand .gpt-hero__copy p{
  max-width:620px;
  margin-top:14px;
  text-align:center;
}
.gpt-hero--brand .gpt-hero__buttons{
  justify-content:center;
}

@media(max-width:900px){
  .gpt-hero--brand .gpt-hero__copy--brand{width:min(700px,90%)}
}
@media(max-width:680px){
  .gpt-hero--brand .gpt-hero__copy--brand{
    width:100%;
    padding:26px 0 20px;
  }
  .gpt-hero__brand-logo{
    width:min(300px,82vw);
    min-height:88px;
    max-height:122px;
    padding:8px 14px;
  }
  .gpt-hero__brand-logo img{max-height:106px}
  .gpt-hero--brand h1.gpt-hero__brand-name{
    margin-top:6px;
    font-size:14px;
    letter-spacing:.1em;
  }
  .gpt-hero--brand h1.gpt-hero__brand-title{
    max-width:92%;
    font-size:clamp(34px,11vw,50px);
  }
  .gpt-hero--brand .gpt-hero__copy p{max-width:92%}
  .gpt-hero--brand .gpt-hero__buttons{width:min(280px,100%)}
}


/* ========================================================================== 
   v1.0.12 — identidad centrada y obligatoriamente textual en categorías
   ========================================================================== */
.gpt-hero--category .gpt-hero__overlay{
  background:linear-gradient(90deg,rgba(4,14,4,.78) 0%,rgba(7,23,7,.69) 50%,rgba(5,16,5,.38) 100%);
}
.gpt-hero--category .gpt-hero__copy--category{
  width:min(760px,82%);
  margin-inline:auto;
  padding:38px 0 30px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.gpt-hero--category .gpt-hero__kicker{
  margin-bottom:14px;
  text-align:center;
}
.gpt-hero--category h1.gpt-hero__category-title{
  max-width:100%;
  margin:0;
  color:#fff;
  font-size:clamp(42px,5vw,72px);
  line-height:1;
  text-align:center;
  text-shadow:0 3px 14px rgba(0,0,0,.28);
}
.gpt-hero--category .gpt-hero__copy p{
  max-width:620px;
  margin-top:14px;
  text-align:center;
}
.gpt-hero--category .gpt-hero__buttons{
  justify-content:center;
}
@media(max-width:900px){
  .gpt-hero--category .gpt-hero__copy--category{width:min(700px,90%)}
}
@media(max-width:680px){
  .gpt-hero--category .gpt-hero__copy--category{
    width:100%;
    padding:32px 0 24px;
  }
  .gpt-hero--category h1.gpt-hero__category-title{
    max-width:92%;
    font-size:clamp(34px,11vw,50px);
  }
  .gpt-hero--category .gpt-hero__copy p{max-width:92%}
  .gpt-hero--category .gpt-hero__buttons{width:min(280px,100%)}
}

/* v1.0.13 — auditoría y endurecimiento responsive para teléfonos */
.gpt-store,.gpt-store-content{max-width:100%;overflow-x:clip}
.gpt-store img,.gpt-store svg,.gpt-store iframe{max-width:100%}
.gpt-shell>*,.gpt-hero__inner>*,.gpt-title-row>*,.gpt-catalog-layout>*,.gpt-catalog-toolbar>*,.gpt-product-card>*,.gpt-filter-box>*{min-width:0}
.gpt-store h1,.gpt-store h2,.gpt-store h3,.gpt-store p,.gpt-store a,.gpt-store span,.gpt-store strong{overflow-wrap:anywhere}
.gpt-breadcrumbs{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
.gpt-breadcrumbs::-webkit-scrollbar{display:none}
@media(max-width:900px){
  .gpt-filter-sidebar{height:100vh;height:100dvh;max-width:100%;padding-left:env(safe-area-inset-left);padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain}
  .gpt-filter-backdrop{height:100vh;height:100dvh}
  .gpt-order-form,.gpt-order-form select,.gpt-filter-open{width:100%;max-width:100%}
}
@media(max-width:680px){
  .gpt-shell{width:calc(100% - 20px)!important;max-width:100%!important;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .gpt-hero,.gpt-section,.gpt-catalog,.gpt-benefits,.gpt-bottom-copy{max-width:100%;min-width:0}
  .gpt-hero__copy{max-width:100%;padding-inline:12px}
  .gpt-hero__brand-logo,.gpt-hero__logo{max-width:min(78vw,280px);height:auto}
  .gpt-title-row{grid-template-columns:minmax(0,1fr)!important;align-items:start}
  .gpt-section-link{justify-self:start;white-space:normal}
  .gpt-catalog-toolbar{width:100%}
  .gpt-product-track,.gpt-slider-track,.gpt-category-track{max-width:100%;overscroll-behavior-inline:contain}
  .gpt-product-card,.gpt-category-card,.gpt-brand-card{max-width:calc(100vw - 38px)}
  .gpt-card-button,.gpt-hero-button{max-width:100%;white-space:normal;text-align:center}
  .gpt-filter-actions{grid-template-columns:1fr}
  .gpt-price-fields{grid-template-columns:1fr!important}
}
@media(max-width:420px){
  .gpt-filter-sidebar{width:100%}
  .gpt-product-grid{grid-template-columns:1fr!important}
  .gpt-product-track .gpt-product-card,.gpt-product-section.is-opportunities .gpt-product-card{flex-basis:88%;min-width:0}
  .gpt-category-card{min-width:110px}
  .gpt-brand-card{min-width:130px}
  .gpt-hero__buttons{max-width:100%;width:100%}
}
@media(hover:none),(pointer:coarse){
  .gpt-product-card:hover,.gpt-category-card:hover,.gpt-brand-card:hover,.gpt-card-button:hover,.gpt-slider-arrow:hover{transform:none!important}
  .gpt-product-card:hover{box-shadow:0 7px 22px rgba(28,63,24,.045)!important}
}


/* v1.0.14 — correcciones responsive verificadas en el sitio real */
@media(max-width:900px){
  body.gpt-store-page .gpt-store .gpt-catalog-layout,
  body.gpt-store-page .gpt-catalog-layout,
  .gpt-store .gpt-catalog-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-columns:minmax(0,1fr)!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
  }
  body.gpt-store-page .gpt-catalog-main,
  .gpt-store .gpt-catalog-main{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .gpt-catalog{scroll-margin-top:210px!important}
}
@media(max-width:680px){
  body.gpt-store-page .gpt-product-grid,
  .gpt-store .gpt-product-grid{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    gap:12px!important;
  }
  body.gpt-store-page .gpt-product-grid .gpt-product-card,
  .gpt-store .gpt-product-grid .gpt-product-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .gpt-catalog{scroll-margin-top:190px!important}
}

/* ========================================================================== 
   v1.0.15 — ajustes de identidad y espaciado en tiendas de marca
   ========================================================================== */

/* La identidad de marca gana presencia sin alterar la altura del banner. */
.gpt-store--brand .gpt-hero__copy--brand{
  transform:translateY(-8px);
}
.gpt-store--brand .gpt-hero__kicker{
  margin-bottom:10px;
}
.gpt-store--brand .gpt-hero__brand-logo{
  width:min(470px,76vw);
  min-height:124px;
  max-height:174px;
  padding:8px 20px;
}
.gpt-store--brand .gpt-hero__brand-logo img{
  max-height:154px;
}

/* Menos aire entre banner, Más vendidos y el catálogo siguiente. */
.gpt-store--brand .gpt-product-section.is-best-sellers{
  margin-top:40px;
}
.gpt-store--brand .gpt-product-section.is-best-sellers + .gpt-catalog{
  margin-top:40px;
}

@media(max-width:680px){
  .gpt-store--brand .gpt-hero__copy--brand{
    transform:translateY(-4px);
  }
  .gpt-store--brand .gpt-hero__brand-logo{
    width:min(320px,84vw);
    min-height:94px;
    max-height:132px;
    padding:7px 14px;
  }
  .gpt-store--brand .gpt-hero__brand-logo img{
    max-height:116px;
  }
  .gpt-store--brand .gpt-product-section.is-best-sellers,
  .gpt-store--brand .gpt-product-section.is-best-sellers + .gpt-catalog{
    margin-top:30px;
  }
}

/* ==========================================================================
   v1.0.19 — identidad de marca ampliada y paleta de los beneficios del banner
   ========================================================================== */

/* El logo de hasta 1000 × 1000 px aprovecha mejor el centro del banner. */
.gpt-store--brand .gpt-hero__brand-logo{
  width:min(560px,82vw);
  min-height:148px;
  max-height:214px;
  padding:4px 12px;
  overflow:visible;
}
.gpt-store--brand .gpt-hero__brand-logo img{
  max-height:202px;
  max-width:100%;
  transform:scale(1.25);
  transform-origin:center;
}
.gpt-store--brand h1.gpt-hero__brand-name{
  margin-top:10px;
  font-size:clamp(20px,1.9vw,28px);
  letter-spacing:.10em;
}

@media(max-width:680px){
  .gpt-store--brand .gpt-hero__brand-logo{
    width:min(360px,90vw);
    min-height:112px;
    max-height:154px;
    padding:3px 8px;
  }
  .gpt-store--brand .gpt-hero__brand-logo img{
    max-height:146px;
    transform:scale(1.16);
  }
  .gpt-store--brand h1.gpt-hero__brand-name{
    margin-top:8px;
    font-size:18px;
    letter-spacing:.09em;
  }
}

/* v1.0.24 — proporción real para banners de computadora 1920 × 600.
 * El alto acompaña la relación 3.2:1 de la imagen recomendada y conserva
 * la altura configurada como mínimo. Así la vista previa de 1440 px y la
 * página pública muestran el mismo encuadre, sin ampliar ni recortar la imagen.
 * La versión móvil mantiene sus reglas anteriores. */
@media (min-width:681px){
  .gpt-hero{
    height:31.25vw;
    min-height:var(--gpt-hero-height);
    max-height:600px;
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center;
  }
}
