/* GIECSA 1.1. Ajustes delimitados al muestrario; conserva la plantilla institucional. */
.mobile-nav-toggle { display:none; }
.catalog-management { max-width:1200px; margin:16px auto 28px; border:1px solid #dce5ec; border-radius:12px; background:white; color:#16314e; }
.catalog-management > summary { padding:16px 20px; cursor:pointer; font-size:14px; font-weight:700; }
.catalog-management > summary span { float:right; color:#617789; font-size:12px; font-weight:400; }
.catalog-management .view-toolbar { border:0; margin:0; padding:16px 20px; }
.mobile-explore-link { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border-radius:10px; background:#16314e; color:white!important; text-decoration:none; font-size:14px; font-weight:700; }
.intro-contact { display:flex; flex-wrap:wrap; gap:12px; }
.mobile-detail-footer { padding:0 24px 20px; }
.mobile-detail-footer .public-inquire-link { margin:0!important; }
body.visual-edit-mode .mobile-detail-footer { display:none; }
html { scroll-padding-top:88px; }
.mobile-explore-link:focus-visible,.mobile-nav-toggle:focus-visible,.catalog-management > summary:focus-visible { outline:3px solid #087c8e; outline-offset:4px; }

@media screen and (max-width:760px) {
  html body [hidden][hidden] { display:none!important; }
  body.mobile-detail-open { overflow:hidden; }
  body > header { position:sticky!important; top:0!important; z-index:40!important; background:white; }
  body > header .nav { display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:space-between!important; flex-wrap:wrap!important; gap:0!important; min-height:72px; padding:10px 16px!important; }
  body > header .nav > a { flex:0 1 160px; }
  body > header .nav > a img { width:160px!important; height:auto!important; max-height:48px; object-fit:contain; }
  body.giecsa-mobile-ready .mobile-nav-toggle { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:8px 12px; background:#edf5f7; border:1px solid #c9dde5; border-radius:10px; color:#16314e; font:600 13px inherit; box-shadow:none; }
  body.giecsa-mobile-ready > header nav { display:none!important; }
  body.giecsa-mobile-ready > header.mobile-nav-open nav { display:flex!important; flex:0 0 100%; flex-direction:column; align-items:stretch!important; gap:4px!important; padding:12px 0 4px!important; }
  body > header nav a { display:flex; align-items:center; min-height:44px; padding:10px 12px!important; font-size:14px!important; border-radius:8px; }
  body > header nav a[aria-current] { background:#edf5f7; }
  html body main { width:100%!important; padding:16px 16px 40px!important; }
  html body .intro { padding:22px 18px!important; margin-bottom:20px!important; border-radius:18px!important; }
  html body .intro > a { display:inline-block; margin-bottom:12px; font-size:12px!important; }
  html body .intro .eyebrow { font-size:11px!important; padding:7px 10px!important; letter-spacing:1px; }
  html body .intro h1 { font-size:clamp(26px,7vw,34px)!important; line-height:1.2!important; margin:14px 0!important; }
  html body .intro p { font-size:14px!important; line-height:1.65!important; margin:10px 0!important; }
  html body .intro .intro-contact { display:grid; grid-template-columns:1fr; gap:10px; margin-top:18px; }
  html body .intro .intro-whatsapp,.mobile-explore-link { width:100%; min-height:46px; margin:0!important; padding:11px 12px!important; font-size:13px!important; }
  .catalog-management { margin:12px 16px 24px; }
  .catalog-management > summary { padding:16px 12px; font-size:13px; }
  .catalog-management > summary span { font-size:11px; }
  .catalog-management .view-toolbar { padding:12px; display:grid!important; gap:12px; }
  html body .view-toolbar select { width:100%; }
  html body input,html body select,html body textarea { font-size:16px!important; min-height:46px; max-width:100%; }
  html body button { touch-action:manipulation; }
  html body .category-overview { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; margin-top:20px!important; }
  html body .category-overview .area-tile { min-width:0; border-radius:18px!important; }
  html body .category-overview .area-tile img { height:150px!important; padding:10px!important; }
  html body .category-overview .area-tile > span { padding:12px!important; }
  html body .category-overview .area-tile strong { font-size:14px!important; line-height:1.4!important; }
  html body .category-overview .area-tile small { font-size:12px!important; line-height:1.5!important; min-height:54px; }
  html body .area-tile .area-action { gap:6px; margin-top:12px; padding:9px 7px; }
  html body .area-tile .area-action-label { font-size:11px!important; }
  html body .area-tile .area-count { font-size:11px!important; }
  html body .tools { padding:18px!important; position:static!important; top:auto!important; }
  html body .tools h2,html body .results-heading h2 { font-size:23px!important; line-height:1.35!important; }
  html body .tools button,html body .catalog-view-buttons button { min-height:44px!important; }
  html body .filters { gap:8px!important; }
  html body .filters button { padding:10px 12px!important; font-size:12px!important; }
  html body .results-heading { gap:12px; flex-wrap:wrap; scroll-margin-top:90px; }
  html body .product { min-width:0; }
  html body .product-content { padding:18px!important; min-width:0; }
  html body .product-content h3 { font-size:20px!important; line-height:1.4!important; overflow-wrap:anywhere; }
  html body .product-content p { font-size:14px!important; line-height:1.65!important; }
  html body .product-image { height:220px!important; }
  html body .product-image img { width:100%!important; height:100%!important; object-fit:contain!important; }
  html body .product-actions { display:flex!important; gap:10px!important; flex-wrap:wrap!important; }
  html body .product-actions button { min-height:46px!important; width:100%; white-space:normal!important; font-size:13px!important; }
  html body .public-compare-choice { min-height:44px; display:flex; align-items:center; gap:10px; }
  html body input[type=checkbox] { width:22px; height:22px; min-height:22px; flex:none; }
  html body.catalog-list-view .product { grid-template-columns:88px minmax(0,1fr)!important; }
  html body.catalog-list-view .product-image { height:auto!important; min-height:120px!important; }
  html body.catalog-list-view .product-image img { height:140px!important; }
  html body.catalog-list-view .product-content { padding:12px!important; }
  html body.catalog-list-view .product-content h3 { font-size:16px!important; }
  html body.catalog-list-view .product-content p { font-size:13px!important; }
  html body .public-compare-bar { width:calc(100% - 24px)!important; left:12px!important; right:12px!important; box-sizing:border-box; flex-wrap:wrap; gap:8px; padding:12px!important; }
  html body .public-compare-bar button { min-height:44px!important; }

  html body dialog#detail-dialog[open] { display:flex!important; flex-direction:column!important; width:calc(100% - 16px)!important; max-width:560px!important; height:calc(100dvh - 16px)!important; max-height:calc(100dvh - 16px)!important; margin:8px auto!important; padding:0!important; overflow:hidden!important; border-radius:18px!important; }
  html body #detail-dialog .dialog-top { flex:none; position:relative!important; top:auto!important; margin:0!important; padding:10px 14px!important; min-height:60px; background:white; border-bottom:1px solid #dce5ec; z-index:3; }
  html body #detail-dialog .dialog-top button { width:44px!important; height:44px!important; min-height:44px; padding:8px!important; }
  html body #detail-dialog .detail-layout { flex:1; min-height:0; overflow-y:auto!important; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; display:block!important; padding:16px!important; }
  html body #detail-dialog .detail-layout > div:first-child { margin-bottom:18px; }
  html body #detail-dialog #detail-image { width:100%!important; height:170px!important; object-fit:contain!important; }
  html body #detail-dialog .zoom-photo { display:flex; align-items:center; justify-content:center; min-height:44px; margin:8px auto 0; }
  html body #detail-dialog .detail-layout h2 { font-size:23px!important; line-height:1.35!important; margin:14px 0!important; }
  html body #detail-dialog .detail-layout p { font-size:14px!important; line-height:1.65!important; }
  html body #detail-dialog .detail-metrics { gap:8px!important; margin:14px 0!important; }
  html body #detail-dialog .detail-metrics > div { padding:10px!important; min-width:0; }
  html body #detail-dialog .sheet-tabs { position:sticky; top:-16px; z-index:2; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:3px!important; padding:5px!important; margin:16px 0!important; background:#edf4f7!important; border-radius:10px; }
  html body #detail-dialog .sheet-tabs button { min-width:0; min-height:46px!important; padding:10px 3px!important; font-size:12px!important; white-space:nowrap; word-break:normal; }
  html body #detail-dialog #detail-table { table-layout:fixed; width:100%; font-size:13px!important; }
  html body #detail-dialog #detail-table th,html body #detail-dialog #detail-table td { padding:10px 8px!important; overflow-wrap:anywhere; }
  html body #detail-dialog .variant-link { min-height:48px; }
  html body #detail-dialog .share-area { gap:10px; flex-wrap:wrap; }
  html body #detail-dialog .share-area button { min-height:44px; }
  html body #detail-dialog .mobile-detail-footer { flex:none; padding:10px 12px max(10px,env(safe-area-inset-bottom)); background:white; border-top:1px solid #dce5ec; }
  html body #detail-dialog .mobile-detail-footer .public-inquire-link { min-height:46px; font-size:12px!important; gap:8px; padding:10px!important; }
  html body #photo-dialog { max-width:calc(100% - 16px); max-height:calc(100dvh - 16px); padding:12px; }
  html body #photo-dialog button { min-height:44px; }
  html body #photo-dialog img { max-height:75dvh; object-fit:contain; }
}
@media screen and (max-width:340px) {
  html body #detail-dialog .sheet-tabs { grid-template-columns:.8fr 1.35fr 1fr!important; }
  html body #detail-dialog .sheet-tabs button { font-size:11px!important; }
  html body .category-overview .area-tile img { height:130px!important; }
  html body .category-overview .area-tile > span { padding:10px!important; }
}
@media (prefers-reduced-motion:reduce) { .mobile-explore-link { scroll-behavior:auto; } }
@media screen and (max-width:760px), (prefers-reduced-motion:reduce) {
  html body .intro .eyebrow,html body .intro h1,html body .intro > p,html body .area-tile,html body .product { opacity:1!important; transform:none!important; animation:none!important; }
  html body dialog[open],html body dialog[open] .detail-layout,html body dialog[open] .dialog-top,html body dialog[open] #detail-image { opacity:1!important; transform:none!important; animation:none!important; }
}
@media print { .mobile-nav-toggle,.catalog-management,.mobile-explore-link,.mobile-detail-footer { display:none!important; } }
