:root{
  --ewcp-accent:#4f46e5;
  --ewcp-border:#e5e7eb;
  --ewcp-text:#111827;
  --ewcp-muted:#6b7280;
  --ewcp-bg:#fff;
  --ewcp-soft:#f8fafc;
}

.ewcp-catalog-shell,
.ewcp-catalog-instance,
.ewcp-product-shell,
.ewcp-product-detail,
.ewcp-quote-shell,
.ewcp-category-instance,
.ewcp-category-grid,
.ewcp-brand-instance,
.ewcp-brand-list,
.ewcp-quote-list,
.ewcp-related,
.ewcp-template{
  color:var(--ewcp-text);
  font:inherit;
}

.ewcp-catalog-shell *,
.ewcp-catalog-instance *,
.ewcp-product-shell *,
.ewcp-quote-shell *,
.ewcp-category-instance *,
.ewcp-brand-instance *,
.ewcp-quote-list *,
.ewcp-template *{
  box-sizing:border-box;
}

.ewcp-catalog-shell,
.ewcp-catalog-instance,
.ewcp-product-shell,
.ewcp-quote-shell,
.ewcp-category-instance,
.ewcp-brand-instance,
.ewcp-related,
.ewcp-template{
  width:100%;
  max-width:100%;
  min-width:0;
}

.ewcp-catalog-main,
.ewcp-product-media,
.ewcp-product-info,
.ewcp-card,
.ewcp-card-body,
.ewcp-sidebar,
.ewcp-archive-copy{
  min-width:0;
}

/* Catálogo */
.ewcp-catalog-shell{container-type:inline-size;container-name:ewcp-catalog-shell;display:block;inline-size:100%;max-inline-size:none}
.ewcp-width-container{width:100%;max-width:none}
.ewcp-width-viewport{width:100%;max-width:none;position:relative;z-index:0}

/* Elementor/Auxin: el widget Shortcode debe poder estirarse realmente al ancho disponible. */
.elementor-widget-shortcode:has(.ewcp-catalog-shell),
.elementor-widget-shortcode:has(.ewcp-catalog-shell) > .elementor-widget-container,
.elementor-shortcode:has(.ewcp-catalog-shell){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  align-self:stretch!important;
}
.elementor-widget-shortcode:has(.ewcp-width-viewport),
.elementor-widget-shortcode:has(.ewcp-width-viewport) > .elementor-widget-container,
.elementor-shortcode:has(.ewcp-width-viewport){overflow:visible!important}
.ewcp-catalog-instance{
  display:grid;
  width:100%;
  max-width:none;
  grid-template-columns:minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.ewcp-sidebar-left{grid-template-columns:minmax(180px,var(--ewcp-sidebar-width)) minmax(0,1fr)}
.ewcp-sidebar-right{grid-template-columns:minmax(0,1fr) minmax(180px,var(--ewcp-sidebar-width))}
.ewcp-sidebar-right .ewcp-sidebar{order:2}
.ewcp-catalog-main{
  width:100%;
  max-width:none;
  container-type:inline-size;
  container-name:ewcp-catalog;
}

/* Sidebar */
.ewcp-sidebar{
  border:1px solid var(--ewcp-border);
  border-radius:14px;
  padding:16px;
  background:var(--ewcp-bg);
  align-self:start;
  overflow:hidden;
}
.ewcp-sidebar h3{margin:0 0 12px;font-size:18px;line-height:1.3}
.ewcp-sidebar ul{list-style:none;margin:0;padding:0}
.ewcp-sidebar ul ul{padding-inline-start:16px}
.ewcp-sidebar li{min-width:0}
.ewcp-sidebar a{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:9px 10px;
  border-radius:9px;
  color:inherit;
  text-decoration:none;
}
.ewcp-sidebar a:hover,.ewcp-sidebar a.is-active{background:var(--ewcp-soft);color:var(--ewcp-accent)}
.ewcp-sidebar a span{min-width:0;overflow-wrap:anywhere}
.ewcp-sidebar img{flex:0 0 34px;width:34px;height:34px;object-fit:cover;border-radius:7px}
.ewcp-sidebar em{flex:0 0 auto;margin-left:auto;font-size:12px;font-style:normal;color:var(--ewcp-muted)}

/* Filtros */
.ewcp-filters{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
  gap:10px;
  width:100%;
  max-width:100%;
  padding:12px;
  margin:0 0 18px;
  border:1px solid var(--ewcp-border);
  border-radius:14px;
  background:var(--ewcp-soft);
}
.ewcp-filters>*{min-width:0;max-width:100%}
.ewcp-filters input,
.ewcp-filters select,
.ewcp-quote-form input,
.ewcp-quote-form select,
.ewcp-quote-form textarea{
  width:100%;
  max-width:100%;
  min-height:42px;
  border:1px solid #d1d5db;
  border-radius:9px;
  padding:9px 11px;
  background:#fff;
  color:#111;
  font:inherit;
}
.ewcp-quote-form textarea{min-height:120px;resize:vertical}


/* Filtros en una sola línea cuando el catálogo dispone de ancho de escritorio.
 * Usamos flex sólo en el contenedor ancho para que la cantidad de filtros activos
 * pueda variar sin dejar columnas vacías. Tablet/móvil conservan el grid responsive. */
@container ewcp-catalog (min-width:980px){
  .ewcp-filters{
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:10px;
  }
  .ewcp-filters .ewcp-filter-control{
    width:auto;
    min-width:0;
    flex:1 1 0;
  }
  .ewcp-filters .ewcp-filter-search{flex-grow:1.25}
  .ewcp-filters .ewcp-filter-category{flex-grow:1.18}
  .ewcp-filters .ewcp-filter-brand{flex-grow:1.08}
  .ewcp-filters .ewcp-filter-availability{flex-grow:1}
  .ewcp-filters .ewcp-filter-attribute{flex-grow:1}
  .ewcp-filters .ewcp-filter-price{flex-grow:.72}
  .ewcp-filters .ewcp-filter-submit{
    flex:.82 1 105px;
    width:auto;
    min-width:100px;
    white-space:nowrap;
  }
}

/* Cuadrículas responsivas configurables */
.ewcp-grid{
  display:grid;
  grid-template-columns:repeat(var(--ewcp-cols-desktop,var(--ewcp-cols,3)),minmax(0,1fr));
  gap:22px;
  width:100%;
  max-width:100%;
}
.ewcp-category-instance{
  container-type:inline-size;
  container-name:ewcp-categories;
}
.ewcp-category-grid{
  display:grid;
  grid-template-columns:repeat(var(--ewcp-cat-cols-desktop,var(--ewcp-cat-cols,4)),minmax(0,1fr));
  gap:18px;
  width:100%;
  max-width:100%;
}

/* Tarjetas */
.ewcp-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  width:100%;
  max-width:100%;
  background:var(--ewcp-bg);
  border:1px solid var(--ewcp-border);
  border-radius:16px;
  box-shadow:0 4px 18px rgba(15,23,42,.05);
}
.ewcp-card-image{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:100%;
  background:#f8fafc;
  overflow:hidden;
}
.ewcp-card-image img{width:100%;height:100%;max-width:100%;display:block}
.ewcp-ratio-1-1 .ewcp-card-image{aspect-ratio:1/1}
.ewcp-ratio-4-3 .ewcp-card-image{aspect-ratio:4/3}
.ewcp-ratio-3-2 .ewcp-card-image{aspect-ratio:3/2}
.ewcp-ratio-16-9 .ewcp-card-image{aspect-ratio:16/9}
.ewcp-fit-cover .ewcp-card-image img{object-fit:cover}
.ewcp-fit-contain .ewcp-card-image img{object-fit:contain}
.ewcp-card-body{padding:17px;display:flex;flex-direction:column;gap:8px;flex:1}
.ewcp-card h3{font-size:clamp(16px,1.6vw,18px);line-height:1.3;margin:0;overflow-wrap:anywhere}
.ewcp-card h3 a{color:inherit;text-decoration:none}
.ewcp-meta,.ewcp-excerpt{overflow-wrap:anywhere}
.ewcp-meta{font-size:13px;color:var(--ewcp-muted)}
.ewcp-excerpt{font-size:14px;color:var(--ewcp-muted);margin:3px 0}
.ewcp-price-wrap{margin-top:auto;padding-top:5px;min-width:0}
.ewcp-price{font-size:clamp(18px,2.2vw,20px);font-weight:800;color:var(--ewcp-accent);overflow-wrap:anywhere}
.ewcp-old-price{color:#9ca3af;overflow-wrap:anywhere}
.ewcp-badge{display:inline-flex;width:max-content;max-width:100%;padding:4px 8px;border-radius:99px;font-size:11px;font-weight:700;line-height:1.25;white-space:normal}
.ewcp-ok{background:#ecfdf5;color:#047857}.ewcp-bad{background:#fef2f2;color:#b91c1c}.ewcp-info{background:#eff6ff;color:#1d4ed8}.ewcp-warn{background:#fffbeb;color:#b45309}
.ewcp-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.ewcp-card-actions>*{flex:1 1 120px;min-width:0}
.ewcp-actions-stack{flex-direction:column}
.ewcp-actions-stack>*{flex-basis:auto;width:100%}
.ewcp-btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  max-width:100%;
  min-height:40px;
  padding:9px 14px;
  border:0;
  border-radius:9px;
  background:var(--ewcp-accent);
  color:#fff!important;
  text-decoration:none!important;
  font-weight:700;
  line-height:1.25;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
  cursor:pointer;
}
.ewcp-btn:hover{filter:brightness(.96)}
.ewcp-btn-secondary{background:#eef2ff;color:#3730a3!important}
.ewcp-btn-lg{min-height:48px;padding:12px 18px}
.ewcp-empty{width:100%;max-width:100%;padding:18px;border:1px dashed #cbd5e1;border-radius:12px;color:var(--ewcp-muted);background:#fff;overflow-wrap:anywhere}

/* Paginación */
.ewcp-pagination{max-width:100%;overflow:hidden}
.ewcp-pagination ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:24px 0 0}
.ewcp-pagination li{margin:0}
.ewcp-pagination a,.ewcp-pagination span{display:block;padding:8px 11px;border:1px solid var(--ewcp-border);border-radius:8px;text-decoration:none}

/* Categorías */
.ewcp-category-card{min-width:0;overflow:hidden;border:1px solid var(--ewcp-border);border-radius:14px;background:#fff;color:inherit;text-decoration:none}
.ewcp-category-card img,.ewcp-category-card .ewcp-no-image{width:100%;max-width:100%;aspect-ratio:1/1;object-fit:cover;display:flex;align-items:center;justify-content:center;background:#f8fafc}
.ewcp-category-card strong,.ewcp-category-card span{display:block;padding:0 14px;overflow-wrap:anywhere}
.ewcp-category-card strong{padding-top:12px;line-height:1.3}
.ewcp-category-card span{font-size:13px;color:var(--ewcp-muted);padding-bottom:14px}


/* Marcas */
.ewcp-brand-instance{container-type:inline-size;container-name:ewcp-brands}
.ewcp-brand-list{display:flex;flex-direction:column;gap:54px;width:100%;max-width:100%}
.ewcp-brand-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:24px;
  align-items:stretch;
  width:100%;
  min-width:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.ewcp-brand-item:not(.has-logo-column){grid-template-columns:minmax(0,1fr)}
.ewcp-brand-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  aspect-ratio:1/1;
  padding:0;
  border:1px solid var(--ewcp-border);
  border-radius:0;
  background:#fff;
  overflow:hidden;
  text-decoration:none;
}
.ewcp-brand-logo img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:contain;
}
.ewcp-brand-logo-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  border-radius:0;
  background:var(--ewcp-soft);
  border:0;
  font-size:clamp(56px,8vw,120px);
  font-weight:800;
  color:var(--ewcp-accent);
}
.ewcp-brand-content{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 0 34px 0;
}
.ewcp-brand-content h3{
  position:relative;
  display:table;
  margin:0 0 18px;
  padding:0 0 5px;
  font-size:clamp(28px,3.1vw,38px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
}
.ewcp-brand-content h3::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:var(--ewcp-accent);
}
.ewcp-brand-content h3 a{color:inherit;text-decoration:none}
.ewcp-brand-content h3 a:hover{color:var(--ewcp-accent)}
.ewcp-brand-count{margin:-6px 0 14px;color:var(--ewcp-muted);font-size:13px}
.ewcp-brand-description{
  color:var(--ewcp-text);
  font-size:clamp(15px,1.35vw,18px);
  line-height:1.42;
  overflow-wrap:anywhere;
}
.ewcp-brand-description p{margin:0 0 16px}
.ewcp-brand-description p:last-child{margin-bottom:0}
.ewcp-brand-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px}
.ewcp-brand-actions .ewcp-btn{
  flex:0 1 auto;
  min-width:212px;
  min-height:50px;
  padding:12px 28px;
  border-radius:999px;
  font-size:16px;
  font-weight:700;
}
.ewcp-brand-site{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:50px;
  padding:11px 22px;
  border:2px solid var(--ewcp-accent);
  border-radius:999px;
  background:#fff;
  font-size:15px;
  font-weight:700;
  line-height:1;
  color:var(--ewcp-accent);
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:background .2s ease,color .2s ease;
}
.ewcp-brand-site:hover{background:var(--ewcp-accent);color:#fff;text-decoration:none}
.ewcp-brand-site span{font-size:16px;line-height:1}
.ewcp-brand-pagination{margin-top:8px}

@container ewcp-brands (max-width:820px){
  .ewcp-brand-list{gap:38px}
  .ewcp-brand-item{grid-template-columns:minmax(0,1fr);gap:18px}
  .ewcp-brand-content{padding:4px 2px 0}
  .ewcp-brand-logo{aspect-ratio:16/11}
}
@container ewcp-brands (max-width:480px){
  .ewcp-brand-list{gap:32px}
  .ewcp-brand-logo{aspect-ratio:1/1}
  .ewcp-brand-content h3{font-size:28px}
  .ewcp-brand-actions .ewcp-btn,.ewcp-brand-actions .ewcp-brand-site{width:100%;flex:1 1 100%;min-width:0}
}

/* Producto */
.ewcp-product-shell{
  container-type:inline-size;
  container-name:ewcp-product;
}
.ewcp-product-detail{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:34px;
  width:100%;
  max-width:100%;
}
.ewcp-product-media>img{width:100%;max-width:100%;height:auto;border-radius:16px;display:block}
.ewcp-product-media>.ewcp-no-image{display:flex;align-items:center;justify-content:center;width:100%;min-height:260px;border-radius:16px;background:var(--ewcp-soft)}
.ewcp-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,74px));gap:8px;margin-top:10px}
.ewcp-gallery img{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;border-radius:9px;border:1px solid var(--ewcp-border)}
.ewcp-product-info h1{font-size:clamp(26px,4vw,42px);line-height:1.12;margin:.4rem 0 1rem;overflow-wrap:anywhere}
.ewcp-product-info p,.ewcp-product-info a,.ewcp-product-description{overflow-wrap:anywhere}
.ewcp-product-description{margin:18px 0;max-width:100%}
.ewcp-product-description img,.ewcp-product-description iframe,.ewcp-product-description video{max-width:100%;height:auto}
.ewcp-specs{border-collapse:collapse;width:100%;max-width:100%;margin:18px 0;table-layout:fixed}
.ewcp-specs th,.ewcp-specs td{padding:9px;border-bottom:1px solid var(--ewcp-border);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.ewcp-specs th{width:34%}
.ewcp-documents{display:flex;flex-direction:column;gap:7px;margin-top:18px;min-width:0}
.ewcp-documents a{overflow-wrap:anywhere}
.ewcp-video{display:block;width:100%;max-width:100%;margin-top:18px}
.ewcp-video iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;border:0}
video.ewcp-video{height:auto}
.ewcp-product-actions,.ewcp-list-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ewcp-product-actions .ewcp-btn,.ewcp-list-actions .ewcp-btn{flex:0 1 auto}
.ewcp-whatsapp{background:#128c7e!important}.ewcp-whatsapp:hover{filter:brightness(.94)}
.ewcp-related{container-type:inline-size;container-name:ewcp-related;margin-top:42px}
.ewcp-related>h2{margin:0 0 18px;font-size:clamp(22px,3vw,30px)}

/* Formularios de cotización */
.ewcp-quote-shell{container-type:inline-size;container-name:ewcp-quote}
.ewcp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ewcp-quote-form{display:flex;flex-direction:column;gap:16px;width:100%;max-width:100%;padding:22px;border:1px solid var(--ewcp-border);border-radius:16px;background:#fff}
.ewcp-quote-form h2{margin:0;line-height:1.2;font-size:clamp(22px,3vw,30px)}
.ewcp-quote-form label,.ewcp-field-block{min-width:0}
.ewcp-quote-form label span,.ewcp-field-block>span{display:block;font-weight:700;margin-bottom:6px}
.ewcp-check{display:flex!important;align-items:flex-start;gap:8px;line-height:1.45}
.ewcp-check input{flex:0 0 auto;width:auto!important;min-height:auto!important;margin-top:.2em}
.ewcp-check a{overflow-wrap:anywhere}
.ewcp-honeypot{position:absolute!important;left:-9999px!important}
.ewcp-notice{width:100%;max-width:100%;padding:14px 16px;border-radius:11px;margin-bottom:14px;overflow-wrap:anywhere}
.ewcp-success{background:#ecfdf5;color:#065f46}.ewcp-error{background:#fef2f2;color:#991b1b}
.cf-turnstile{max-width:100%;overflow:hidden}

/* Lista de cotización */
.ewcp-selected-products,.ewcp-quote-list{display:flex;flex-direction:column;gap:10px;min-width:0}
.ewcp-selected-row,.ewcp-selected-static{display:grid;grid-template-columns:54px minmax(0,1fr) minmax(100px,auto) auto;gap:10px;align-items:center;min-width:0;border:1px solid var(--ewcp-border);padding:10px;border-radius:10px}
.ewcp-selected-static{grid-template-columns:minmax(0,1fr) minmax(120px,auto)}
.ewcp-selected-row>div,.ewcp-selected-static>*{min-width:0}
.ewcp-selected-row strong,.ewcp-selected-row small,.ewcp-selected-static strong{overflow-wrap:anywhere}
.ewcp-selected-row img{width:54px;height:54px;max-width:100%;object-fit:cover;border-radius:8px}
.ewcp-selected-row small{display:block;color:var(--ewcp-muted)}
.ewcp-selected-row label{font-size:12px;font-weight:700}
.ewcp-selected-row input,.ewcp-selected-static input{width:88px;max-width:100%}
.ewcp-remove{border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;padding:8px;min-width:36px;min-height:36px}

/* Placeholders de editor */
.ewcp-editor-placeholder{max-width:100%;padding:24px;border:2px dashed #a5b4fc;border-radius:14px;background:#f8faff;color:#312e81;display:flex;flex-direction:column;gap:7px;text-align:center;overflow-wrap:anywhere}
.ewcp-editor-placeholder strong{font-size:18px}.ewcp-editor-placeholder small{color:#6b7280}.ewcp-no-image{color:#94a3b8}.is-added{outline:2px solid rgba(79,70,229,.25)}

/* Plantillas de archivo/single */
.ewcp-template{max-width:1200px;margin:40px auto;padding:0 20px}
.ewcp-archive-head{display:grid;gap:28px;align-items:center;margin-bottom:30px;min-width:0}
.ewcp-archive-head.has-media{grid-template-columns:minmax(180px,320px) minmax(0,1fr)}
.ewcp-archive-head.no-media{grid-template-columns:minmax(0,1fr)}
.ewcp-archive-media img{width:100%;max-width:100%;height:auto;display:block;border-radius:14px}
.ewcp-archive-copy h1{font-size:clamp(28px,5vw,46px);line-height:1.1;overflow-wrap:anywhere}
.ewcp-category-description{overflow-wrap:anywhere}

/* Container queries: responden al ancho real del shortcode dentro de Elementor, no sólo al viewport. */
@container ewcp-catalog-shell (max-width:900px){
  .ewcp-sidebar-left,.ewcp-sidebar-right{grid-template-columns:minmax(0,1fr)}
  .ewcp-sidebar-right .ewcp-sidebar{order:0}
  .ewcp-sidebar{width:100%}
}
@container ewcp-catalog (max-width:820px){
  .ewcp-grid{grid-template-columns:repeat(var(--ewcp-cols-tablet,2),minmax(0,1fr));gap:18px}
}
@container ewcp-catalog (max-width:520px){
  .ewcp-grid{grid-template-columns:repeat(var(--ewcp-cols-mobile,1),minmax(0,1fr));gap:14px}
  .ewcp-filters{grid-template-columns:1fr;padding:10px}
  .ewcp-filters .ewcp-btn{width:100%}
  .ewcp-card-actions>*{flex-basis:100%}
}
@container ewcp-categories (max-width:820px){
  .ewcp-category-grid{grid-template-columns:repeat(var(--ewcp-cat-cols-tablet,2),minmax(0,1fr));gap:16px}
}
@container ewcp-categories (max-width:520px){
  .ewcp-category-grid{grid-template-columns:repeat(var(--ewcp-cat-cols-mobile,1),minmax(0,1fr));gap:14px}
}
@container ewcp-product (max-width:760px){
  .ewcp-product-detail{grid-template-columns:minmax(0,1fr);gap:24px}
}
@container ewcp-product (max-width:520px){
  .ewcp-product-info h1{font-size:clamp(24px,9vw,34px)}
  .ewcp-product-actions .ewcp-btn{width:100%;flex:1 1 100%}
  .ewcp-specs,.ewcp-specs tbody,.ewcp-specs tr,.ewcp-specs th,.ewcp-specs td{display:block;width:100%}
  .ewcp-specs tr{padding:8px 0;border-bottom:1px solid var(--ewcp-border)}
  .ewcp-specs th,.ewcp-specs td{padding:4px 0;border:0}
  .ewcp-specs th{font-size:13px;color:var(--ewcp-muted)}
}
@container ewcp-related (max-width:820px){
  .ewcp-related .ewcp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container ewcp-related (max-width:520px){
  .ewcp-related .ewcp-grid{grid-template-columns:minmax(0,1fr)}
}
@container ewcp-quote (max-width:650px){
  .ewcp-form-grid{grid-template-columns:minmax(0,1fr)}
  .ewcp-selected-row{grid-template-columns:48px minmax(0,1fr) auto}
  .ewcp-selected-row label{grid-column:2;grid-row:2}
  .ewcp-selected-row .ewcp-remove{grid-column:3;grid-row:1}
  .ewcp-selected-static{grid-template-columns:minmax(0,1fr)}
  .ewcp-selected-static label{width:100%}
  .ewcp-selected-static input{width:100%}
}
@container ewcp-quote (max-width:400px){
  .ewcp-quote-form{padding:16px}
  .ewcp-selected-row{grid-template-columns:40px minmax(0,1fr) auto;padding:8px}
  .ewcp-selected-row img{width:40px;height:40px}
  .ewcp-selected-row input{width:100%}
  .ewcp-list-actions .ewcp-btn{width:100%;flex:1 1 100%}
}

/* Fallbacks por viewport para navegadores sin container queries y para sidebars. */
@media(max-width:1024px){
  .ewcp-sidebar-left,.ewcp-sidebar-right{grid-template-columns:minmax(0,1fr)}
  .ewcp-sidebar-right .ewcp-sidebar{order:0}
  .ewcp-sidebar{width:100%}
  .ewcp-grid{grid-template-columns:repeat(var(--ewcp-cols-tablet,2),minmax(0,1fr))}
  .ewcp-category-grid{grid-template-columns:repeat(var(--ewcp-cat-cols-tablet,2),minmax(0,1fr))}
}
@media(max-width:760px){
  .ewcp-brand-item{grid-template-columns:minmax(0,1fr);gap:18px;padding:18px}
  .ewcp-brand-logo{min-height:130px}
  .ewcp-brand-logo img{max-height:110px}
  .ewcp-product-detail{grid-template-columns:minmax(0,1fr);gap:24px}
  .ewcp-archive-head.has-media{grid-template-columns:minmax(0,1fr)}
  .ewcp-archive-media{max-width:520px}
  .ewcp-template{margin:28px auto;padding-inline:16px}
}
@media(max-width:600px){
  .ewcp-grid{grid-template-columns:repeat(var(--ewcp-cols-mobile,1),minmax(0,1fr));gap:14px}
  .ewcp-category-grid{grid-template-columns:repeat(var(--ewcp-cat-cols-mobile,1),minmax(0,1fr));gap:14px}
  .ewcp-form-grid{grid-template-columns:minmax(0,1fr)}
  .ewcp-card-actions>*{flex-basis:100%}
  .ewcp-product-actions .ewcp-btn,.ewcp-list-actions .ewcp-btn{width:100%;flex:1 1 100%}
  .ewcp-filters{grid-template-columns:minmax(0,1fr)}
  .ewcp-template{margin:22px auto;padding-inline:12px}
}
@media(max-width:400px){
  .ewcp-brand-item{padding:14px}
  .ewcp-brand-actions .ewcp-btn,.ewcp-brand-actions .ewcp-brand-site{width:100%;flex:1 1 100%}
  .ewcp-sidebar{padding:12px}
  .ewcp-card-body{padding:14px}
  .ewcp-quote-form{padding:14px}
  .ewcp-btn{padding-inline:11px}
  .ewcp-pagination a,.ewcp-pagination span{padding:7px 9px}
}
.ewcp-selected-thumb{display:block;width:54px;height:54px;border-radius:8px;background:var(--ewcp-soft);border:1px solid var(--ewcp-border)}
@container ewcp-quote (max-width:400px){.ewcp-selected-thumb{width:40px;height:40px}}
