:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202124;background:#f6f7f8;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:#1f5a4b;text-decoration:none}a:hover{text-decoration:underline}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;padding:.75rem .8rem;border:1px solid #cfd5d2;border-radius:9px;background:white}textarea{resize:vertical}label{display:grid;gap:.4rem;font-weight:600;margin-bottom:1rem}small,.muted{color:#6d7471;font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.68rem 1rem;border:1px solid #b8c1bd;border-radius:9px;background:#fff;color:#26312e;cursor:pointer;font-weight:700;text-decoration:none}.btn:hover{text-decoration:none;background:#f1f4f2}.btn.primary{background:#1f5a4b;color:#fff;border-color:#1f5a4b}.admin-top{height:64px;background:#173e35;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:20px}.brand{color:#fff;font-size:1.25rem;font-weight:800}.museum-name{margin-left:14px;opacity:.72}.userbox a{color:#fff}.admin-nav{background:#fff;border-bottom:1px solid #dde2df;display:flex;gap:4px;padding:8px 24px;overflow:auto}.admin-nav a{padding:8px 10px;border-radius:7px;white-space:nowrap}.admin-main{max-width:1180px;margin:0 auto;padding:28px 20px 70px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.page-head h1{margin:0 0 4px}.page-head p{margin:0;color:#68706d}.card{background:#fff;border:1px solid #dde2df;border-radius:14px;padding:20px;margin-bottom:20px;box-shadow:0 2px 10px rgba(0,0,0,.025)}.card h2{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.form-grid .full{grid-column:1/-1}.check{display:flex;align-items:center;gap:.5rem;font-weight:600}.check input{width:auto}.flash{padding:12px 14px;border-radius:9px;margin:0 0 16px}.flash.success{background:#e8f5ed;color:#155f39}.flash.error{background:#fdeaea;color:#8c2525}.notice{background:#fff8df;border:1px solid #efd88a;border-radius:10px;padding:12px 14px;margin-bottom:18px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid #dde2df;border-radius:12px;padding:18px}.stat strong{font-size:2rem;display:block}.stat span{color:#68706d}.table-wrap{overflow:auto;background:#fff;border:1px solid #dde2df;border-radius:12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #edf0ee;vertical-align:top}th{font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;color:#69716e;background:#fafbfa}.actions{white-space:nowrap}.actions a{margin-right:10px}.badge{display:inline-flex;border-radius:20px;padding:3px 8px;font-size:.82rem;font-weight:700}.badge.ok{background:#e6f4eb;color:#17603a}.badge.off{background:#eee;color:#666}.language-card{border-left:4px solid #1f5a4b}.lang-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.lang-head>div{display:flex;align-items:center;gap:10px}.lang-head h2{margin:0}.lang-code{display:inline-flex;background:#173e35;color:#fff;padding:4px 8px;border-radius:7px;font-weight:800;letter-spacing:.04em}.current-file{color:#155f39;font-weight:700}.sticky-save{position:sticky;bottom:12px;display:flex;justify-content:flex-end;background:rgba(246,247,248,.93);padding:10px;border-radius:12px}.qr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.qr-card{text-align:center}.qr-box{display:flex;justify-content:center;min-height:260px;margin:14px 0}.qr-box img,.qr-box canvas{max-width:100%;height:auto}.qr-url{display:block;overflow-wrap:anywhere;font-size:.76rem;margin:12px 0;background:#f4f5f4;padding:8px;border-radius:8px}.qr-status{font-weight:700;margin:10px 0}.qr-status.ok{color:#17603a}.qr-status.warn{color:#9a6900}.user-row,.lang-row{display:grid;grid-template-columns:1fr 1.4fr 1fr 1.6fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0ee}.lang-row{grid-template-columns:.7fr 1fr 1fr .6fr auto auto}.install-wrap{max-width:620px;margin:40px auto;padding:20px}.login-card{max-width:460px;margin:40px auto}.checks{padding-left:0;list-style:none}.checks .ok{color:#155f39}.checks .bad{color:#8c2525}.public-body{background:#f0eee7;color:#242521}.public-shell{max-width:760px;margin:0 auto;padding:24px 14px 60px}.public-card{background:#fffdf8;border-radius:20px;padding:clamp(20px,4vw,40px);box-shadow:0 8px 30px rgba(0,0,0,.08)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.76rem;color:#6f705f}.public-card h1{font-family:Georgia,serif;font-size:clamp(2rem,8vw,3.6rem);line-height:1.05;margin:.4rem 0 1.2rem}.piece-image{width:100%;max-height:430px;object-fit:cover;border-radius:14px;margin-bottom:24px}.piece-text{font-size:1.1rem;line-height:1.7}.audio-box{background:#eef4ef;border-radius:14px;padding:14px 16px;margin:20px 0}.audio-box audio{width:100%;margin-top:8px}.language-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid #e3e0d8}.lang-pill{display:inline-flex;padding:7px 10px;border:1px solid #ccd3cf;border-radius:20px}.lang-pill.active{background:#173e35;color:#fff;border-color:#173e35}@media(max-width:760px){.museum-name{display:none}.admin-top{padding:0 14px}.admin-nav{padding:8px 10px}.admin-main{padding:20px 12px 60px}.page-head{align-items:stretch;flex-direction:column}.stats-grid,.qr-grid,.form-grid{grid-template-columns:1fr}.user-row,.lang-row{grid-template-columns:1fr}.user-row,.lang-row{padding:16px 0}.sticky-save .btn{width:100%}}

/* v0.2.0 · flujo de pieza */
.head-actions,.language-actions{display:flex;gap:8px;flex-wrap:wrap}.completion-row,.piece-language-statuses{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px}.mini-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:800;border:1px solid transparent}.mini-status.ok{background:#e6f4eb;color:#17603a;border-color:#c7e6d3}.mini-status.warn{background:#fff4d8;color:#865c00;border-color:#efd89c}.mini-status.off{background:#f0f1f0;color:#6a706d;border-color:#e0e3e1}.audio-admin-preview{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(240px,1.6fr) auto;gap:14px;align-items:center;background:#f7f9f8;border:1px solid #dde5e1;border-radius:12px;padding:12px 14px;margin:0 0 16px}.audio-admin-preview>div{display:grid;gap:2px}.audio-admin-preview span{font-size:.82rem;color:#68706d}.audio-admin-preview audio{width:100%}.danger-check{color:#842727}.language-actions{padding-top:4px}.technical-id{font-size:.68rem;color:#77807c}.qr-download-caption{display:grid;gap:2px;margin:-2px 0 8px}.qr-download-caption strong{font-size:.9rem;overflow-wrap:anywhere}.qr-download-caption span{font-size:1.05rem;font-weight:900;letter-spacing:.08em}
@media(max-width:760px){.audio-admin-preview{grid-template-columns:1fr}.language-actions .btn{width:100%}}


/* v0.2.1 · pie InfoPirineo Aínsa */
.site-footer{width:100%}.site-footer-inner{display:flex;align-items:center;gap:16px}.infopirineo-logo-link{display:flex;flex:0 0 auto;border-radius:10px;overflow:hidden}.infopirineo-footer-logo{display:block;width:72px;height:72px;object-fit:cover}.infopirineo-footer-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.infopirineo-footer-copy strong{font-size:.98rem;color:#174e50}.infopirineo-footer-copy span{font-size:.84rem;color:#626966}.infopirineo-footer-copy a{font-size:.9rem;font-weight:700;color:#08767a;overflow-wrap:anywhere}.public-site-footer{max-width:760px;margin:0 auto;padding:0 14px 28px}.public-site-footer .site-footer-inner{background:#fffdf8;border:1px solid #deded5;border-radius:16px;padding:13px 15px;box-shadow:0 4px 18px rgba(0,0,0,.04)}.admin-site-footer{border-top:1px solid #dde2df;background:#fff}.admin-site-footer .site-footer-inner{max-width:1180px;margin:0 auto;padding:12px 20px}.admin-site-footer.compact .infopirineo-footer-logo{width:40px;height:40px;border-radius:7px}.admin-site-footer.compact .infopirineo-footer-copy{flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}.admin-site-footer.compact .infopirineo-footer-copy strong{font-size:.86rem}.admin-site-footer.compact .infopirineo-footer-copy a{font-size:.82rem;font-weight:600}.admin-site-footer.compact .infopirineo-footer-copy strong::after{content:" ·";font-weight:400;color:#9aa09d}
@media(max-width:520px){.public-site-footer .site-footer-inner{align-items:center}.infopirineo-footer-logo{width:60px;height:60px}.admin-site-footer .site-footer-inner{padding:10px 12px}.admin-site-footer.compact .infopirineo-footer-copy{display:grid;gap:0}.admin-site-footer.compact .infopirineo-footer-copy strong::after{content:""}}

/* v0.3.0 · catálogo público + foto principal del museo */
.public-home-shell{max-width:1180px;padding-top:22px}.museum-hero{position:relative;overflow:hidden;background:#173e35;border-radius:22px;min-height:280px;margin-bottom:18px;box-shadow:0 8px 30px rgba(0,0,0,.09);display:flex;align-items:flex-end}.museum-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.museum-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,43,37,.9),rgba(17,43,37,.58) 52%,rgba(17,43,37,.08))}.museum-hero-copy{position:relative;z-index:1;color:#fff;padding:clamp(24px,5vw,54px);max-width:720px}.museum-hero-copy .eyebrow{color:#d6e7df}.museum-hero-copy h1{font-family:Georgia,serif;font-size:clamp(2.2rem,6vw,4.6rem);line-height:1.02;margin:.35rem 0 1rem}.museum-hero-copy p{font-size:clamp(1rem,2vw,1.22rem);margin:0;max-width:650px}.home-language-switch{display:flex;gap:8px;overflow:auto;padding:4px 0 16px}.home-lang-pill{display:flex;align-items:center;gap:7px;flex:0 0 auto;padding:9px 13px;border:1px solid #ccd3cf;border-radius:999px;background:#fff;color:#26312e;box-shadow:0 2px 8px rgba(0,0,0,.025)}.home-lang-pill.active{background:#173e35;color:#fff;border-color:#173e35}.home-lang-pill strong{font-size:.78rem;letter-spacing:.05em}.home-lang-pill span{font-size:.9rem}.catalog-toolbar{display:flex;justify-content:space-between;align-items:end;gap:22px;margin:8px 0 16px}.catalog-toolbar h2{font-family:Georgia,serif;font-size:clamp(1.65rem,3vw,2.25rem);margin:0}.catalog-toolbar p{margin:.15rem 0 0;color:#68706d}.catalog-search{width:min(360px,100%);margin:0}.catalog-search span{font-size:.82rem}.piece-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.museum-piece-card{background:#fffdf8;border:1px solid #deded5;border-radius:17px;padding:12px;box-shadow:0 5px 18px rgba(0,0,0,.045);display:grid;grid-template-columns:minmax(0,1fr) 126px;gap:12px;align-items:center}.museum-piece-card[hidden]{display:none}.piece-card-main{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;color:inherit;min-width:0}.piece-card-main:hover{text-decoration:none}.piece-card-image,.piece-card-image-placeholder{width:92px;height:92px;border-radius:12px;object-fit:cover;background:#e8ece9}.piece-card-image-placeholder{display:grid;place-items:center;font-weight:900;color:#718079;letter-spacing:.08em}.piece-card-copy{min-width:0}.piece-visible-id{font-size:.76rem;font-weight:900;color:#1f5a4b;letter-spacing:.06em}.piece-card-copy h3{font-size:1.06rem;line-height:1.2;margin:.2rem 0 .55rem;overflow-wrap:anywhere}.piece-open-link{font-size:.82rem;font-weight:800;color:#1f5a4b}.piece-card-qr-wrap{display:grid;justify-items:center;gap:4px;border-left:1px solid #e5e6df;padding-left:12px}.piece-card-qr{width:110px;height:110px;overflow:hidden}.piece-card-qr img,.piece-card-qr canvas{width:110px!important;height:110px!important;display:block}.piece-card-qr-wrap>span{font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#68706d}.catalog-empty{text-align:center}.catalog-no-results{text-align:center;padding:34px 12px;color:#68706d;font-weight:700}.settings-home-preview{margin:-.25rem 0 1rem}.settings-home-preview img{display:block;width:min(620px,100%);max-height:260px;object-fit:cover;border-radius:12px;border:1px solid #dde2df}
@media(max-width:980px){.piece-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.museum-piece-card{grid-template-columns:minmax(0,1fr) 112px}.piece-card-qr{width:96px;height:96px}.piece-card-qr img,.piece-card-qr canvas{width:96px!important;height:96px!important}}
@media(max-width:680px){.public-home-shell{padding:12px 10px 44px}.museum-hero{min-height:310px;border-radius:17px}.museum-hero::after{background:linear-gradient(0deg,rgba(17,43,37,.92),rgba(17,43,37,.38) 70%,rgba(17,43,37,.15))}.museum-hero-copy{padding:24px 20px}.catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-search{width:100%}.piece-catalog{grid-template-columns:1fr}.museum-piece-card{grid-template-columns:minmax(0,1fr) 108px}.piece-card-main{grid-template-columns:78px minmax(0,1fr)}.piece-card-image,.piece-card-image-placeholder{width:78px;height:78px}.piece-card-qr{width:92px;height:92px}.piece-card-qr img,.piece-card-qr canvas{width:92px!important;height:92px!important}.public-site-footer{max-width:1180px}}
@media(max-width:420px){.museum-piece-card{grid-template-columns:1fr}.piece-card-qr-wrap{border-left:0;border-top:1px solid #e5e6df;padding:10px 0 0;grid-template-columns:auto auto;justify-content:start;align-items:center}.piece-card-qr{width:86px;height:86px}.piece-card-qr img,.piece-card-qr canvas{width:86px!important;height:86px!important}}

.public-home-shell + .public-site-footer{max-width:1180px}

/* Public navigation */
.public-top{background:#fffdf8;border-bottom:1px solid #dedbd1;position:sticky;top:0;z-index:30}
.public-top-inner{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.public-brand{font-weight:800;color:#173e35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-nav{display:flex;align-items:center;gap:6px}
.public-nav a{display:inline-flex;align-items:center;padding:8px 11px;border-radius:9px;font-weight:700;color:#26312e;white-space:nowrap}
.public-nav a:hover{background:#f0eee7;text-decoration:none}
.public-nav .public-admin-link{border:1px solid #b8c1bd;background:#fff}
.public-nav .public-admin-link:hover{background:#173e35;color:#fff;border-color:#173e35}
@media(max-width:620px){.public-top-inner{padding:8px 10px}.public-brand{font-size:.92rem;max-width:48vw}.public-nav a{padding:7px 9px;font-size:.9rem}.public-nav a:first-child{display:none}}

/* v0.3.2 · administración de piezas: foto, filtros, iconos y paginación */
.admin-piece-image-current{display:grid;grid-template-columns:minmax(180px,320px) minmax(220px,1fr);gap:18px;align-items:center;background:#f7f9f8;border:1px solid #dde5e1;border-radius:13px;padding:14px;margin:0 0 16px}.admin-piece-image-current img{display:block;width:100%;height:190px;object-fit:cover;border-radius:10px;background:#e8ece9}.admin-piece-image-current>div{display:grid;gap:6px}.admin-piece-image-current span{color:#68706d;font-size:.9rem}.admin-piece-image-current .check{margin:6px 0 0}.admin-piece-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:-4px 0 16px}.admin-piece-stats>div{background:#fff;border:1px solid #dde2df;border-radius:11px;padding:12px 14px;display:grid;gap:1px}.admin-piece-stats strong{font-size:1.45rem;color:#173e35}.admin-piece-stats span{font-size:.78rem;color:#68706d}.piece-grid-filters{display:grid;grid-template-columns:minmax(230px,1.7fr) repeat(6,minmax(120px,1fr));gap:10px;align-items:end;padding:14px}.piece-grid-filters label{margin:0;font-size:.78rem;color:#59635f}.piece-grid-filters input,.piece-grid-filters select{padding:.62rem .68rem;font-size:.9rem}.piece-filter-actions{display:flex;gap:7px;align-items:center}.piece-filter-actions .btn{padding:.62rem .8rem}.piece-admin-grid table{min-width:900px}.piece-admin-grid td{vertical-align:middle}.piece-grid-photo-cell{width:78px}.piece-grid-thumb,.piece-grid-thumb-placeholder{width:58px;height:58px;border-radius:9px;display:block;background:#edf0ee;border:1px solid #dde2df}.piece-grid-thumb{object-fit:cover}.piece-grid-thumb-placeholder{display:grid;place-items:center;color:#8b938f;font-weight:800}.actions-head{text-align:right}.icon-actions{white-space:nowrap;text-align:right}.icon-btn{display:inline-flex;width:37px;height:37px;align-items:center;justify-content:center;border:1px solid #cfd7d3;border-radius:9px;background:#fff;color:#1f5a4b;margin-left:5px;vertical-align:middle}.icon-btn:hover{background:#173e35;color:#fff;border-color:#173e35;text-decoration:none}.icon-btn.disabled{color:#a9afac;background:#f4f5f4;border-color:#e2e5e3;cursor:not-allowed}.empty-grid-result{text-align:center;padding:34px;color:#68706d}.admin-pagination{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 2px}.pagination-summary{font-size:.86rem;color:#68706d}.pagination-buttons{display:flex;align-items:center;gap:8px}.pagination-current{font-size:.86rem;font-weight:700;color:#46504c;padding:0 4px}
@media(max-width:1050px){.piece-grid-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.piece-filter-search{grid-column:span 2}.piece-filter-actions{align-self:end}.admin-piece-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.admin-piece-image-current{grid-template-columns:1fr}.admin-piece-image-current img{height:auto;max-height:300px}.piece-grid-filters{grid-template-columns:1fr 1fr}.piece-filter-search{grid-column:1/-1}.piece-filter-actions{grid-column:1/-1}.piece-filter-actions .btn{flex:1}.admin-piece-stats{grid-template-columns:1fr 1fr}.admin-pagination{align-items:stretch;flex-direction:column}.pagination-buttons{justify-content:space-between}.pagination-current{text-align:center}.icon-btn{width:40px;height:40px}}

/* v0.5.0 · menú móvil plegable + PDF de pastillas QR */
.menu-toggle{display:none;align-items:center;gap:8px;border:1px solid #cfd7d3;border-radius:9px;background:#fff;color:#173e35;padding:8px 10px;font-weight:800;cursor:pointer}.menu-toggle-icon{width:18px;display:grid;gap:3px}.menu-toggle-icon span{display:block;height:2px;border-radius:2px;background:currentColor}.admin-top .menu-toggle{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);color:#fff}.admin-top-actions{display:flex;align-items:center;gap:12px}.admin-brand-wrap{min-width:0}.mobile-only-nav-link{display:none!important}.page-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn:disabled{opacity:.5;cursor:not-allowed}.qr-pdf-notice{line-height:1.6}.qr-pdf-notice strong:first-child{color:#173e35}

@media(max-width:720px){
    .menu-toggle{display:inline-flex}
    .public-top-inner{position:relative;flex-wrap:wrap}
    .public-brand{max-width:calc(100% - 105px);font-size:.94rem}
    .public-nav.collapsible-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:4px;padding:8px 0 4px;border-top:1px solid #e5e3da}
    .public-nav.collapsible-nav.is-open{display:flex}
    .public-nav a{display:flex!important;width:100%;padding:10px 11px;font-size:.94rem}
    .public-nav .public-admin-link{justify-content:center;margin-top:4px}

    .admin-top{height:auto;min-height:62px;padding:10px 14px;align-items:center}
    .admin-top .museum-name{display:none}
    .admin-top .userbox{display:none}
    .admin-nav.collapsible-nav{display:none;flex-direction:column;align-items:stretch;gap:2px;padding:7px 10px;border-bottom:1px solid #dde2df;overflow:visible}
    .admin-nav.collapsible-nav.is-open{display:flex}
    .admin-nav.collapsible-nav a{padding:10px 11px}
    .mobile-only-nav-link{display:block!important;border-top:1px solid #e2e6e4;margin-top:4px;color:#8c2525}
    .page-head{flex-direction:column;align-items:stretch}
    .page-head-actions{justify-content:stretch}
    .page-head-actions .btn{flex:1}
}


/* v0.5.1 · borrado seguro de piezas */
.btn.danger{background:#a12626;color:#fff;border-color:#a12626}.btn.danger:hover{background:#7f1e1e;border-color:#7f1e1e}.icon-btn.danger{color:#a12626;border-color:#e3bcbc}.icon-btn.danger:hover{background:#a12626;color:#fff;border-color:#a12626}.delete-piece-card{display:flex;gap:16px;align-items:flex-start;border-color:#e8c2c2;background:#fffafa}.delete-piece-card h2{color:#8c2525;margin-bottom:4px}.delete-warning-icon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#a12626;color:#fff;font-size:1.5rem;font-weight:900}.delete-piece-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.delete-piece-summary .card{display:grid;gap:2px;margin:0;padding:14px}.delete-piece-summary strong{font-size:1.5rem;color:#8c2525}.delete-piece-summary span{font-size:.82rem;color:#68706d}.delete-confirm-form code{color:#8c2525;font-weight:900}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:10px}.delete-confirm-form input{max-width:520px}@media(max-width:720px){.delete-piece-summary{grid-template-columns:1fr 1fr}.delete-confirm-actions{flex-direction:column}.delete-confirm-actions .btn{width:100%}}

/* v0.6.0 · identidad museo, categorías y metadatos */
.header-museum-logo{display:block;object-fit:contain;flex:0 0 auto}.public-brand,.admin-brand{display:flex;align-items:center;gap:10px;min-width:0}.public-brand span,.admin-brand span{overflow:hidden;text-overflow:ellipsis}.public-header-logo{width:46px;height:46px}.admin-header-logo{width:38px;height:38px;filter:none}.settings-logo-preview{margin:-.25rem 0 1rem;padding:14px;background:#f7f9f8;border:1px solid #dde2df;border-radius:12px;width:min(420px,100%)}.settings-logo-preview img{display:block;max-width:100%;max-height:160px;object-fit:contain}.custom-footer-text{margin-left:auto;max-width:620px;color:#5d6662;font-size:.82rem;line-height:1.45;text-align:right}.admin-site-footer.compact .custom-footer-text{font-size:.76rem}.category-new-form{display:grid;grid-template-columns:minmax(240px,2fr) 120px auto auto;gap:12px;align-items:end}.category-new-form label,.category-row label{margin:0}.category-list{display:grid;gap:10px}.category-row{display:grid;grid-template-columns:minmax(220px,2fr) 110px auto auto auto auto;gap:10px;align-items:end;padding:12px;border:1px solid #e2e7e4;border-radius:11px;background:#fafbfa}.category-piece-count{align-self:center;color:#68706d;font-size:.84rem;white-space:nowrap}.category-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#e7f1ed;color:#175644;font-size:.78rem;font-weight:800}.location-text{color:#66716d;font-size:.82rem}.piece-classification{display:grid;gap:6px;justify-items:start}.piece-public-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-.6rem 0 1.2rem}.piece-card-meta{display:flex;gap:5px;flex-wrap:wrap;margin:-.2rem 0 .5rem}.piece-card-meta span{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;background:#f0f3f1;color:#64706b;font-size:.7rem;font-weight:700}.piece-grid-filters{grid-template-columns:minmax(220px,1.7fr) repeat(7,minmax(112px,1fr))}.site-footer-inner .custom-footer-text{overflow-wrap:anywhere}
@media(max-width:900px){.custom-footer-text{max-width:420px}.category-row{grid-template-columns:1fr 100px auto}.category-row .category-piece-count{grid-column:1/-1}.category-new-form{grid-template-columns:1fr 100px auto}.category-new-form .btn{grid-column:1/-1}}
@media(max-width:720px){.public-header-logo{width:38px;height:38px}.public-brand{max-width:calc(100% - 108px)}.public-brand span{font-size:.88rem}.site-footer-inner{flex-wrap:wrap}.custom-footer-text{width:100%;max-width:none;margin:4px 0 0;text-align:left;border-top:1px solid #e5e7e4;padding-top:8px}.category-new-form,.category-row{grid-template-columns:1fr}.category-row .category-piece-count{grid-column:auto}.category-new-form .btn{grid-column:auto}.piece-grid-filters{grid-template-columns:1fr 1fr}}
@media(max-width:1050px) and (min-width:721px){.piece-grid-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.piece-filter-search{grid-column:span 2}.piece-filter-actions{align-self:end}}

/* v0.6.1 · ubicaciones físicas, directorio y mapa público */
.location-inline-create{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px dashed #cfd8d4;border-radius:11px;background:#fafcfb}.location-inline-create label{margin:0}.location-inline-create small{grid-column:1/-1;color:#68716d}.location-new-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.5fr) 100px auto auto;gap:12px;align-items:end}.location-new-form label,.location-row label{margin:0}.location-list{display:grid;gap:10px}.location-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(210px,1.4fr) 90px auto auto auto auto;gap:10px;align-items:end;padding:12px;border:1px solid #e2e7e4;border-radius:11px;background:#fafbfa}.location-piece-count{align-self:center;color:#68706d;font-size:.84rem;white-space:nowrap}.settings-fieldset{border:1px solid #dce4e0;border-radius:12px;padding:16px;margin:18px 0;background:#fbfcfb}.settings-fieldset legend{padding:0 8px;font-weight:800;color:#173e35}.settings-map-note{display:block;margin-top:9px;color:#68716d;line-height:1.45}.admin-quick-links{display:flex;gap:9px;flex-wrap:wrap}

.directory-shell{display:grid;gap:18px}.directory-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}.directory-intro h1{margin-bottom:6px}.directory-intro p{max-width:820px}.directory-intro-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.directory-tabs{display:flex;gap:8px;flex-wrap:wrap}.directory-tabs a{display:inline-flex;padding:10px 16px;border-radius:999px;background:#173e35;color:#fff;text-decoration:none;font-weight:800}.directory-tabs a:hover{background:#235b4e}.directory-section{scroll-margin-top:90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:6px 0 12px}.section-heading h2{margin:0}.section-heading span{color:#707975;font-size:.85rem}.directory-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.directory-group-card{background:#fff;border:1px solid #dfe5e2;border-radius:14px;overflow:hidden;box-shadow:0 5px 18px rgba(19,55,47,.05)}.directory-group-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:#f2f6f4;border-bottom:1px solid #dfe5e2}.directory-group-card>header h3{margin:0;font-size:1.02rem;color:#173e35}.directory-group-card>header span{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#173e35;color:#fff;font-size:.78rem;font-weight:800}.directory-piece-links{display:grid}.directory-piece-links a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 15px;border-bottom:1px solid #edf0ee;color:#1b2421;text-decoration:none}.directory-piece-links a:last-child{border-bottom:0}.directory-piece-links a:hover{background:#fbfdfc}.directory-piece-links small{color:#73807a;font-size:.72rem}.directory-piece-id{display:inline-flex;min-width:54px;justify-content:center;padding:3px 7px;border-radius:7px;background:#edf4f1;color:#245c4e;font-size:.72rem;font-weight:900}.location-group-card>header{background:#f7f4eb}.location-group-card>header h3{color:#5c4d20}

.map-shell{display:grid;gap:18px}.map-intro-card{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}.museum-address{font-weight:800;color:#36584e}.osm-map-card{padding:0;overflow:hidden}.osm-map-frame{display:block;width:100%;height:560px;border:0;background:#eef2f0}.osm-map-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-top:1px solid #e0e5e2;background:#fff}.osm-map-actions span{font-size:.76rem;color:#68716d}.osm-map-actions a:not(.btn){color:inherit}.map-empty-state{padding:42px;text-align:center}.map-empty-state strong{display:block;font-size:1.2rem;color:#173e35}.map-admin-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.map-admin-summary dl>div{padding:12px;background:#f7f9f8;border-radius:10px}.map-admin-summary dt{font-size:.75rem;color:#6c7772;text-transform:uppercase;font-weight:800}.map-admin-summary dd{margin:4px 0 0;font-weight:700}.admin-osm-map-card{margin-top:16px}.admin-osm-map-card .osm-map-frame{height:470px}.admin-osm-map-card .muted{padding:0 14px 12px}

@media(max-width:1050px){.location-row{grid-template-columns:1fr 1.2fr 90px auto}.location-row .location-piece-count{grid-column:1/-1}.location-new-form{grid-template-columns:1fr 1.2fr 100px}.location-new-form .btn{grid-column:1/-1}.directory-groups{grid-template-columns:1fr}}
@media(max-width:720px){.location-inline-create{grid-template-columns:1fr}.location-inline-create small{grid-column:auto}.location-new-form,.location-row{grid-template-columns:1fr}.location-row .location-piece-count,.location-new-form .btn{grid-column:auto}.directory-intro,.map-intro-card{align-items:stretch;flex-direction:column}.directory-intro-actions{justify-content:stretch}.directory-intro-actions .btn{flex:1}.directory-piece-links a{grid-template-columns:auto 1fr}.directory-piece-links small{grid-column:2}.osm-map-frame{height:440px}.osm-map-actions{align-items:stretch;flex-direction:column}.osm-map-actions .btn{width:100%}.map-admin-summary dl{grid-template-columns:1fr}.piece-grid-filters{grid-template-columns:1fr 1fr}}
.directory-floor-list{display:grid;gap:18px}.directory-floor{display:grid;gap:10px}.directory-floor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-left:5px solid #173e35;background:#f5f8f6;border-radius:0 10px 10px 0}.directory-floor-heading h3{margin:0;color:#173e35}.directory-floor-heading span{font-size:.78rem;color:#69736f;font-weight:700}
.home-hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.home-hero-actions .btn{background:rgba(255,255,255,.94)}

/* v0.7.0 · SEO, navegación de pieza y backups */
.seo-editor{margin:14px 0;border:1px solid #dde5e1;border-radius:12px;background:#fafcfb}.seo-editor summary{cursor:pointer;padding:12px 14px;font-weight:800;color:#173e35}.seo-editor-fields{display:grid;gap:12px;padding:0 14px 14px}.seo-language-settings{display:grid;gap:12px;margin:16px 0}.seo-language-settings h3{margin:0}.seo-language-row{display:grid;grid-template-columns:140px 1fr 1.5fr;gap:12px;align-items:start;padding:12px;border:1px solid #e1e7e4;border-radius:11px;background:#fff}.seo-language-row>strong{padding-top:10px;color:#173e35}.seo-language-row label{margin:0}.seo-tools-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.piece-sequence-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin-top:28px;padding-top:18px;border-top:1px solid #e4e8e5}.piece-sequence-side{min-width:0}.piece-sequence-side a{height:100%;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #dde4e0;border-radius:12px;text-decoration:none;background:#fafcfb;color:#173e35}.piece-sequence-side a:hover{background:#f0f6f3}.piece-sequence-side span{font-size:.76rem;color:#65706b;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.piece-sequence-side strong{overflow:hidden;text-overflow:ellipsis}.piece-sequence-side.next{text-align:right}.piece-directory-link{display:grid;place-items:center;padding:0 14px;border-radius:10px;text-decoration:none;font-weight:800;color:#36584e}.piece-directory-link:hover{background:#f3f6f4}
.backup-help-card code{overflow-wrap:anywhere}.backup-list{display:grid;gap:10px}.backup-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #e1e6e3;border-radius:11px;background:#fafbfa}.backup-row>div{display:grid;gap:3px;min-width:0}.backup-row strong{overflow-wrap:anywhere}.backup-row span{font-size:.8rem;color:#68716d}
@media(max-width:900px){.seo-language-row{grid-template-columns:1fr}.seo-language-row>strong{padding-top:0}.piece-sequence-nav{grid-template-columns:1fr 1fr}.piece-directory-link{grid-column:1/-1;grid-row:2;padding:10px}.piece-sequence-side.next{grid-column:2}.piece-sequence-side.previous{grid-column:1}}
@media(max-width:620px){.piece-sequence-nav{grid-template-columns:1fr}.piece-sequence-side.next,.piece-sequence-side.previous,.piece-directory-link{grid-column:1;grid-row:auto}.piece-sequence-side.next{text-align:left}.backup-row{align-items:stretch;flex-direction:column}.backup-row .btn{width:100%}}

/* v0.7.1 · Imagen automática para piezas sin fotografía */
.piece-default-image{position:relative;overflow:hidden;background:linear-gradient(145deg,#edf2ef,#dfe8e3);isolation:isolate}
.piece-default-image::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(145deg,rgba(255,255,255,.38),rgba(23,62,53,.08));pointer-events:none}
.piece-default-image-blur{position:absolute;z-index:0;inset:-18%;width:136%;height:136%;object-fit:cover;filter:blur(18px) saturate(.7);opacity:.24;transform:scale(1.08)}
.piece-default-image-center{position:absolute;z-index:2;inset:0;display:grid;place-items:center;padding:12%}
.piece-default-image-logo{display:block;max-width:76%;max-height:76%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 3px 12px rgba(0,0,0,.12))}
.piece-default-image-monogram{position:absolute;z-index:2;inset:0;display:grid;place-items:center;font-family:Georgia,serif;font-weight:700;color:#31574d;font-size:clamp(1rem,4vw,2rem);letter-spacing:.04em}
.piece-card-image-default{width:92px;height:92px;border-radius:12px}
.piece-image-default{width:100%;height:min(430px,56vw);min-height:250px;border-radius:14px;margin-bottom:24px}
.piece-grid-thumb-default{width:58px;height:58px;border-radius:9px;border:1px solid #dde2df}
.admin-piece-image-default{display:block;width:100%;height:190px;border-radius:10px;border:1px solid #dde2df}
@media(max-width:680px){.piece-card-image-default{width:78px;height:78px}.piece-image-default{height:58vw;min-height:210px}.admin-piece-image-default{height:220px}}



/* v0.7.3 · selector de idiomas en el menú público */
.public-nav-languages{display:flex;align-items:center;gap:5px;padding:0 3px;margin-left:2px}
.public-nav-language-label{display:inline-grid;place-items:center;width:24px;height:24px;font-size:.92rem;line-height:1}
.public-nav-language-links{display:flex;align-items:center;gap:3px}
.public-nav a.public-nav-lang{min-width:34px;justify-content:center;padding:6px 7px;border:1px solid #d6ddd9;border-radius:999px;background:#fff;color:#36584e;font-size:.75rem;font-weight:900;letter-spacing:.04em}
.public-nav a.public-nav-lang:hover{background:#edf4f1;border-color:#b9ccc3}
.public-nav a.public-nav-lang.active{background:#173e35;color:#fff;border-color:#173e35}
@media(max-width:720px){
    .public-nav-languages{width:100%;display:flex;justify-content:space-between;gap:10px;padding:10px 11px;margin:2px 0;border-top:1px solid #eceae3;border-bottom:1px solid #eceae3}
    .public-nav-language-label{width:auto}
    .public-nav-language-links{margin-left:auto;gap:6px}
    .public-nav a.public-nav-lang{display:inline-flex!important;width:auto;min-width:44px;padding:8px 11px}
}

/* v0.7.6 · contacto público + PDF general del museo */
.site-footer-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.footer-action-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid #d4ddd8;border-radius:9px;background:#fff;color:#31574d;font-size:.82rem;font-weight:800;text-decoration:none}.footer-action-link:hover{text-decoration:none;background:#eef5f1}.footer-action-link.pdf::before{content:"PDF";display:inline-grid;place-items:center;margin-right:7px;min-width:30px;height:22px;padding:0 5px;border-radius:5px;background:#173e35;color:#fff;font-size:.64rem;font-weight:900;letter-spacing:.03em}.contact-shell{max-width:820px}.contact-card h1{margin-bottom:.7rem}.contact-intro{font-size:1.06rem;color:#58635f;margin:0 0 22px}.contact-form{margin-top:20px}.contact-privacy{font-size:.84rem;color:#68716d;margin:2px 0 16px}.contact-direct{margin:22px 0 0;padding-top:16px;border-top:1px solid #e4e8e5;color:#36584e}.contact-error-list{margin:8px 0 0 18px;padding:0}.contact-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.museum-pdf-shell{max-width:760px}.museum-pdf-card{text-align:center}.museum-pdf-card h1{font-size:clamp(2rem,7vw,3.2rem)}.museum-pdf-status{margin:20px 0;padding:12px 14px;border-radius:10px;background:#eef4ef;color:#31574d;font-weight:700}.museum-pdf-qr-source{position:fixed;left:-10000px;top:-10000px;width:700px;height:700px;overflow:hidden}.museum-pdf-card .btn{min-width:220px}
@media(max-width:720px){.public-site-footer .site-footer-inner{flex-wrap:wrap}.site-footer-actions{width:100%;margin-left:0;justify-content:stretch}.footer-action-link{flex:1}.contact-form .btn{width:100%}}

/* v0.7.7 · QR visible en ficha pública */
.piece-visible-qr{margin-top:2rem;padding:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border:1px solid #dce4e0;border-radius:16px;background:linear-gradient(135deg,#f8fbf9,#eef5f1)}
.piece-visible-qr-copy{min-width:0;flex:1}.piece-visible-qr-copy h2{margin:0 0 .35rem;color:#173e35;font-size:1.2rem}.piece-visible-qr-copy p{margin:0 0 .85rem;color:#62706a}.piece-visible-qr-label{display:flex;flex-wrap:wrap;gap:.45rem .65rem;align-items:center;color:#36584e}.piece-visible-qr-label strong{display:inline-flex;padding:.3rem .55rem;border-radius:7px;background:#173e35;color:#fff;font-size:.78rem;letter-spacing:.02em}.piece-visible-qr-label span{font-weight:800;overflow-wrap:anywhere}.piece-visible-qr-code{flex:0 0 auto;width:254px;min-height:254px;padding:12px;display:grid;place-items:center;background:#fff;border:1px solid #d7dfdb;border-radius:14px;box-shadow:0 6px 20px rgba(23,62,53,.08)}.piece-visible-qr-code img,.piece-visible-qr-code canvas{width:230px!important;height:230px!important;max-width:100%}
@media(max-width:680px){.piece-visible-qr{flex-direction:column;align-items:stretch;text-align:center}.piece-visible-qr-label{justify-content:center}.piece-visible-qr-code{margin:0 auto;width:min(254px,100%);min-height:auto}.piece-visible-qr-code img,.piece-visible-qr-code canvas{width:min(230px,100%)!important;height:auto!important;aspect-ratio:1/1}}


/* v0.7.7 · menú público más compacto en escritorio */
.nav-label-mobile{display:none}
@media(min-width:721px){
    .public-nav{gap:3px}
    .public-nav a{padding:8px 8px;font-size:.92rem}
    .public-nav-languages{gap:3px;margin-left:0;padding:0 1px}
    .public-nav a.public-nav-lang{min-width:31px;padding:6px 6px}
}
@media(max-width:720px){
    .nav-label-desktop{display:none}
    .nav-label-mobile{display:inline}
}

/* v0.7.8 · ficha pública: ancho de escritorio y un único QR visible */
.piece-page-shell{max-width:1180px;width:100%;padding-left:20px;padding-right:20px}
.piece-page-shell .piece-card{width:100%}
.public-pdf-qr-host{position:fixed!important;left:-100000px!important;top:-100000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;z-index:-9999!important}
@media(max-width:680px){.piece-page-shell{padding-left:10px;padding-right:10px}}

/* v0.7.11 · Estado de contenido en las pastillas de la home */
.piece-card-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}.piece-card-language-status{display:flex;align-items:center;gap:4px;margin-right:2px}.piece-status-language{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 5px;border-radius:999px;border:1px solid #d6ddd9;font-size:.64rem;font-weight:900;letter-spacing:.04em;line-height:1}.piece-status-language.available{background:#173e35;border-color:#173e35;color:#fff}.piece-status-language.missing{background:#f4f5f4;color:#a0aaa5;border-color:#e3e7e5}.piece-status-icon{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:999px;border:1px solid #d6ddd9;background:#fff;color:#36584e}.piece-status-icon svg{display:block;width:14px;height:14px;fill:currentColor}.piece-status-icon.available{background:#edf5f1;border-color:#b9cfc5;color:#173e35}.piece-status-icon.missing{background:#f4f5f4;border-color:#e3e7e5;color:#aeb6b2}.piece-status-icon[title]{cursor:help}
@media(max-width:680px){.piece-card-status{margin-top:8px;gap:5px}.piece-status-language{min-width:27px;height:21px}.piece-status-icon{width:24px;height:24px}}

/* v0.7.13 · directorio público ancho en escritorio */
.directory-shell{max-width:1320px;width:100%;padding-left:20px;padding-right:20px}
@media(min-width:1051px){.directory-shell .directory-groups{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.directory-shell{padding-left:10px;padding-right:10px}}

/* v0.7.14 · mapa público ancho en escritorio */
.map-shell{max-width:1320px;width:100%;padding-left:20px;padding-right:20px}
@media(min-width:1051px){.map-shell .osm-map-frame{height:clamp(560px,68vh,720px)}}
@media(max-width:680px){.map-shell{padding-left:10px;padding-right:10px}}


/* v0.7.15 · contacto público ancho en escritorio */
.contact-shell{max-width:1320px;width:100%;padding-left:20px;padding-right:20px}
.contact-shell .contact-card{width:100%}
@media(max-width:680px){.contact-shell{padding-left:10px;padding-right:10px}}


/* v0.7.16 · información del museo + footer público a ancho completo */
.home-museum-description{margin:0 0 20px;padding:clamp(18px,3vw,28px)}
.home-description-text{margin:0;color:#34433e;font-size:1.04rem;line-height:1.72}
.home-museum-contact{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:16px;padding-top:14px;border-top:1px solid #e4e7e2}
.home-museum-contact a{display:inline-flex;align-items:center;gap:5px;font-weight:800;color:#31574d;overflow-wrap:anywhere}
.museum-footer-contact{display:flex;flex:1 1 280px;flex-direction:column;gap:4px;max-width:390px;color:#4f5d57;font-size:.84rem;line-height:1.4}
.museum-footer-contact a{font-weight:800;color:#31574d;overflow-wrap:anywhere}
.public-site-footer{width:100%;max-width:none;margin:0;padding:0;background:#fffdf8;border-top:1px solid #d9ddd8}
.public-site-footer .site-footer-inner{width:100%;max-width:1320px;margin:0 auto;padding:22px 20px;background:transparent;border:0;border-radius:0;box-shadow:none;flex-wrap:wrap}
.public-site-footer .custom-footer-text{flex:1 1 280px;max-width:460px;margin-left:0;text-align:left}
.home-description-admin-row{grid-template-columns:140px minmax(0,1fr)}
@media(max-width:900px){.public-site-footer .site-footer-inner{flex-wrap:wrap}.museum-footer-contact{max-width:none;flex:1 1 320px}.home-description-admin-row{grid-template-columns:1fr}}
@media(max-width:680px){.home-museum-contact{display:grid;gap:9px}.public-site-footer .site-footer-inner{padding:18px 14px}.museum-footer-contact{width:100%;padding-top:10px;border-top:1px solid #e5e7e4}.site-footer-actions{width:100%}}

/* v0.8.0 · Control de contenidos */
.content-health-stats .health-ok{border-color:#b9d7c8;background:#f3faf6}.content-health-stats .health-warn{border-color:#ead7a5;background:#fffaf0}
.content-health-panel{display:grid;gap:16px}.section-heading-inline{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.section-heading-inline h2{margin:0 0 4px}.section-heading-inline p{margin:0;color:#6b756f}.content-issue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.content-issue{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #dfe6e2;border-radius:12px;text-decoration:none;background:#fafcfb;color:#173e35}.content-issue strong{font-size:1.35rem}.content-issue span{font-weight:800}.content-issue.has-issues{border-color:#ead7a5;background:#fffaf0}.content-issue.ok{border-color:#cfe0d7;background:#f3faf6}.language-health-table-wrap{overflow-x:auto}.language-health-table{width:100%;border-collapse:collapse}.language-health-table th,.language-health-table td{padding:10px 12px;border-bottom:1px solid #e6ebe8;text-align:left}.language-health-table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#69736e}.health-count-link{display:inline-grid;place-items:center;min-width:34px;height:30px;padding:0 8px;border-radius:999px;text-decoration:none;font-weight:900}.health-count-link.ok{background:#edf7f1;color:#245c4e}.health-count-link.warn{background:#fff3d6;color:#7a5a12}.piece-issue-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px}.piece-issue-shortcuts a{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #dce3df;border-radius:999px;background:#fff;color:#36584e;text-decoration:none;font-size:.78rem;font-weight:800}.piece-issue-shortcuts a:hover,.piece-issue-shortcuts a.active{background:#173e35;border-color:#173e35;color:#fff}.piece-completion{min-width:92px;display:grid;gap:6px}.piece-completion-value{font-weight:900;font-size:.82rem}.piece-completion-track{height:7px;border-radius:999px;background:#e8ecea;overflow:hidden}.piece-completion-track span{display:block;height:100%;border-radius:999px;background:#173e35}.piece-completion.warn .piece-completion-track span{background:#a87818}.piece-completion.low .piece-completion-track span{background:#9a4a3f}.piece-completion.warn .piece-completion-value{color:#7a5a12}.piece-completion.low .piece-completion-value{color:#8a4037}.piece-completion.ok .piece-completion-value{color:#245c4e}
@media(max-width:760px){.section-heading-inline{align-items:stretch;flex-direction:column}.content-issue-grid{grid-template-columns:1fr}.piece-issue-shortcuts{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.piece-issue-shortcuts a{white-space:nowrap}.content-health-stats{grid-template-columns:1fr 1fr}}

/* v0.8.1 · Orden manual y acciones rápidas del grid */
.piece-order-cell{min-width:104px}.piece-order-number{display:block;font-size:.72rem;color:#7a837f;text-align:center;margin-bottom:4px}.piece-order-buttons{display:flex;justify-content:center;gap:4px}.piece-order-buttons form,.inline-icon-form,.quick-status-form{display:inline;margin:0}.icon-btn.compact{width:30px;height:30px;margin:0}.icon-btn.compact svg{width:17px;height:17px}.badge-action{border:0;cursor:pointer;white-space:nowrap}.badge-action:hover{filter:brightness(.94)}.inline-icon-form .icon-btn{margin-left:5px}.piece-admin-grid table{min-width:1080px}
@media(max-width:680px){.piece-order-cell{min-width:96px}.icon-btn.compact{width:34px;height:34px}}
.manual-order-help{margin:-2px 0 12px;color:#68706d;font-size:.82rem}.piece-order-manual-link{display:block;text-align:center;font-size:.7rem;font-weight:800;color:#557068}


/* v0.8.2 · Galería fotográfica */
.gallery-shell{max-width:1320px;margin:0 auto;padding-left:24px;padding-right:24px}
.gallery-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.gallery-intro p{max-width:820px}
.gallery-count{white-space:nowrap;color:var(--muted);font-size:.95rem}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:22px 0 34px}
.gallery-item{margin:0;min-width:0}
.gallery-image-link{display:block;aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:#eef2f1;border:1px solid var(--border);box-shadow:0 8px 22px rgba(20,45,43,.08)}
.gallery-image-link img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.gallery-image-link:hover img{transform:scale(1.025)}
.gallery-item figcaption{padding:9px 4px 0;color:var(--text);font-size:.92rem}
.gallery-empty{text-align:center;margin-top:20px}
.gallery-upload-form{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:16px;align-items:end}
.gallery-upload-form small{display:block;margin-top:6px;color:var(--muted)}
.admin-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.admin-gallery-item{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff}
.admin-gallery-item>img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#eef2f1}
.admin-gallery-item-form{padding:14px;display:grid;gap:12px}
.admin-gallery-item-form label{margin:0}
.admin-gallery-inline-fields{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:end}
.admin-gallery-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.gallery-shell{padding-left:14px;padding-right:14px}.gallery-intro{align-items:flex-start;flex-direction:column;gap:8px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-image-link{border-radius:12px}.gallery-upload-form{grid-template-columns:1fr}.admin-gallery-grid{grid-template-columns:1fr}.admin-gallery-inline-fields{grid-template-columns:1fr 1fr}}


/* v0.8.3 · CTA galería, lightbox público y orden drag & drop */
.home-museum-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.home-gallery-pill{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid #cbd9d4;border-radius:999px;background:#f4f8f6;color:#234c42;font-weight:850;text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.home-gallery-pill:hover{background:#eaf3ef;border-color:#aac4bb;transform:translateY(-1px)}
.home-gallery-pill svg{width:19px;height:19px;fill:currentColor;flex:none}

.gallery-lightbox{width:min(1180px,calc(100vw - 28px));max-width:none;padding:0;border:0;border-radius:20px;background:transparent;color:#fff;overflow:visible}
.gallery-lightbox::backdrop{background:rgba(8,14,13,.88);backdrop-filter:blur(3px)}
.gallery-lightbox-frame{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:12px;min-height:min(82vh,850px)}
.gallery-lightbox figure{margin:0;min-width:0;display:grid;justify-items:center;gap:10px}
.gallery-lightbox figure img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:14px;background:#111}
.gallery-lightbox figure figcaption{max-width:900px;text-align:center;color:#fff;font-weight:700}
.gallery-lightbox-close,.gallery-lightbox-nav{border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(4px)}
.gallery-lightbox-close{position:absolute;z-index:2;top:8px;right:8px;width:44px;height:44px;border-radius:999px;font-size:28px;line-height:1}
.gallery-lightbox-nav{width:48px;height:64px;border-radius:14px;font-size:44px;line-height:1}
.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover{background:rgba(255,255,255,.24)}

.admin-gallery-drag-handle{padding:8px 12px;background:#f4f7f6;border-bottom:1px solid var(--border);color:#526761;font-size:.82rem;font-weight:800;cursor:grab;user-select:none}
.admin-gallery-drag-handle:active{cursor:grabbing}
.admin-gallery-item.is-dragging{opacity:.48;outline:2px dashed #668d80;outline-offset:2px}
.admin-gallery-order-status{min-height:22px;margin:10px 2px 0;color:var(--muted);font-size:.9rem}

@media(max-width:720px){
  .home-museum-actions{margin-top:13px}
  .home-gallery-pill{width:100%;justify-content:center}
  .gallery-lightbox{width:calc(100vw - 16px)}
  .gallery-lightbox-frame{grid-template-columns:42px minmax(0,1fr) 42px;gap:6px;min-height:78vh}
  .gallery-lightbox-nav{width:40px;height:54px;border-radius:12px;font-size:36px}
  .gallery-lightbox-close{top:4px;right:4px;width:40px;height:40px}
  .gallery-lightbox figure img{max-height:72vh;border-radius:10px}
}

/* v0.8.5 · Introducción 2/3 + carrusel galería 1/3 · tamaño corregido */
.home-museum-description.has-gallery-preview{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(260px,1fr);
    gap:clamp(20px,3vw,34px);
    align-items:center;
}
.home-museum-description-copy{min-width:0}
.home-gallery-preview{
    position:relative;
    min-width:0;
    width:100%;
    max-width:430px;
    justify-self:end;
    align-self:center;
    border:1px solid #d8e1dd;
    border-radius:18px;
    overflow:hidden;
    background:#eef3f1;
    box-shadow:0 10px 26px rgba(24,56,48,.10);
}
.home-gallery-preview-link{position:relative;display:block;color:inherit;text-decoration:none}
.home-gallery-preview-stage{
    position:relative;
    display:block;
    width:100%;
    height:280px;
    overflow:hidden;
    background:#e9efec;
}
.home-gallery-preview-slide{
    position:absolute;
    inset:0;
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:cover;
}
.home-gallery-preview-slide[hidden]{display:none!important}
.home-gallery-preview-label{
    position:absolute;
    left:12px;
    right:12px;
    bottom:12px;
    display:flex;
    align-items:center;
    gap:8px;
    width:max-content;
    max-width:calc(100% - 24px);
    padding:8px 11px;
    border-radius:999px;
    background:rgba(15,46,39,.86);
    color:#fff;
    font-size:.82rem;
    font-weight:850;
    backdrop-filter:blur(4px);
}
.home-gallery-preview-label svg{width:17px;height:17px;fill:currentColor;flex:none}
.home-gallery-preview-nav{
    position:absolute;
    z-index:3;
    top:50%;
    transform:translateY(-50%);
    display:grid;
    place-items:center;
    width:38px;
    height:46px;
    border:0;
    border-radius:12px;
    background:rgba(255,255,255,.88);
    color:#173e35;
    font-size:31px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 4px 14px rgba(18,44,37,.18);
}
.home-gallery-preview-nav:hover{background:#fff}
.home-gallery-preview-nav.prev{left:10px}
.home-gallery-preview-nav.next{right:10px}
.home-gallery-preview-counter{
    position:absolute;
    z-index:3;
    top:10px;
    right:10px;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(15,46,39,.78);
    color:#fff;
    font-size:.72rem;
    font-weight:850;
}
@media(max-width:820px){
    .home-museum-description.has-gallery-preview{grid-template-columns:1fr}
    .home-gallery-preview{width:100%;max-width:520px;justify-self:center}
    .home-gallery-preview-stage{height:240px}
}
@media(max-width:520px){
    .home-gallery-preview{border-radius:14px}
    .home-gallery-preview-stage{height:220px}
    .home-gallery-preview-nav{width:36px;height:44px}
    .home-gallery-preview-label{font-size:.78rem}
}

/* v0.9.0 · Admin reorganizado, plano del museo y estadísticas filtrables */
.admin-nav-modern{overflow:visible;align-items:center;gap:7px;padding:9px 24px;position:relative;z-index:30;box-shadow:0 3px 14px rgba(20,45,40,.04)}
.admin-nav-modern>.admin-nav-link,.admin-nav-group>summary{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid transparent;border-radius:9px;color:#294d43;font-weight:800;white-space:nowrap;cursor:pointer;text-decoration:none;line-height:1.1}
.admin-nav-modern>.admin-nav-link:hover,.admin-nav-group>summary:hover{background:#f1f6f3;border-color:#dce7e2;text-decoration:none}
.admin-nav-modern>.admin-nav-link.active,.admin-nav-group.active>summary{background:#173e35;color:#fff;border-color:#173e35}
.admin-nav-public{margin-left:auto;background:#f7faf8;border-color:#dce7e2!important}
.admin-nav-group{position:relative;margin:0}
.admin-nav-group>summary{list-style:none;user-select:none}
.admin-nav-group>summary::-webkit-details-marker{display:none}
.admin-nav-chevron{font-size:.9rem;opacity:.7;transition:transform .15s ease}
.admin-nav-group[open] .admin-nav-chevron{transform:rotate(180deg)}
.admin-nav-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;padding:7px;background:#fff;border:1px solid #dce4e0;border-radius:12px;box-shadow:0 18px 46px rgba(23,62,53,.16);display:grid;gap:3px;z-index:80}
.admin-nav-dropdown .admin-nav-link{display:flex;padding:10px 11px;border-radius:8px;color:#294d43;font-weight:750;text-decoration:none}
.admin-nav-dropdown .admin-nav-link:hover{background:#eef5f1;text-decoration:none}
.admin-nav-dropdown .admin-nav-link.active{background:#173e35;color:#fff}

.floorplan-shell{max-width:1320px;width:100%;padding-left:20px;padding-right:20px}
.floorplan-intro-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:26px}
.floorplan-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.floorplan-tab{width:auto;border:1px solid #cfd9d4;border-radius:999px;background:#fff;color:#31574d;padding:9px 14px;font-weight:850;cursor:pointer}
.floorplan-tab:hover{background:#eff5f2}.floorplan-tab.active{background:#173e35;color:#fff;border-color:#173e35}
.floorplan-panel{padding:clamp(18px,3vw,30px)}
.floorplan-panel-heading h2{margin:0 0 6px}.floorplan-panel-heading p{margin:0 0 18px;color:#5e6a65;white-space:normal}
.floorplan-image-link{display:block;border:1px solid #dbe3df;border-radius:16px;overflow:hidden;background:#fff;text-decoration:none}
.floorplan-image-link img{display:block;width:100%;height:auto;max-height:980px;object-fit:contain;background:#fafafa}
.floorplan-image-placeholder,.floorplan-empty-state{min-height:330px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;color:#65736d;background:#fafbf9}
.floorplan-image-placeholder span,.floorplan-placeholder-icon{font-size:4rem;color:#87a399;line-height:1}
.floorplan-admin-form{display:grid;grid-template-columns:1fr 1.4fr 1fr 120px;gap:14px;align-items:end}.floorplan-admin-form label{margin:0}.floorplan-admin-form .check{align-self:center}.floorplan-admin-list{display:grid;gap:16px}
.floorplan-admin-row{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;padding:16px;border:1px solid #dfe5e2;border-radius:14px;background:#fbfcfb}
.floorplan-admin-preview{min-height:170px;border-radius:12px;overflow:hidden;background:#eef2f0;border:1px solid #dce4e0}
.floorplan-admin-preview img{display:block;width:100%;height:100%;min-height:170px;max-height:230px;object-fit:cover}
.floorplan-admin-placeholder{height:100%;min-height:170px;display:grid;place-items:center;align-content:center;gap:6px;color:#71827b}.floorplan-admin-placeholder span{font-size:3rem}
.floorplan-admin-fields{min-width:0}.floorplan-admin-inline{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px}.floorplan-admin-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.floorplan-admin-actions .check{margin:0}

.stats-filter-card{padding-bottom:16px}.stats-filter-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) 160px 160px auto;gap:12px;align-items:end}.stats-filter-form label{margin:0}.stats-custom-date{display:none}.stats-custom-date.is-visible{display:grid}.stats-quick-periods{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid #e8ece9}.stats-quick-periods a{display:inline-flex;padding:7px 10px;border:1px solid #d9e1dd;border-radius:999px;background:#fff;color:#36584e;font-size:.8rem;font-weight:800;text-decoration:none}.stats-quick-periods a:hover,.stats-quick-periods a.active{background:#173e35;color:#fff;border-color:#173e35;text-decoration:none}.stats-period-summary{display:flex;gap:7px;align-items:center;margin:-4px 0 14px;color:#68736e;font-size:.92rem}.stats-period-summary strong{color:#173e35}.stats-timeline-list{display:grid;gap:10px;margin-top:16px}.stats-timeline-row{display:grid;grid-template-columns:105px minmax(160px,1fr) 95px minmax(230px,.8fr);gap:12px;align-items:center}.stats-timeline-track{height:10px;border-radius:999px;background:#e9eeeb;overflow:hidden}.stats-timeline-track span{display:block;height:100%;border-radius:999px;background:#1f5a4b;min-width:2px}.stats-timeline-value{font-weight:850;color:#2d5147}.stats-timeline-split{font-size:.82rem;color:#69756f}

@media(max-width:980px){
  .floorplan-admin-form{grid-template-columns:1fr 1fr}.floorplan-admin-form .btn{align-self:end}
  .stats-filter-form{grid-template-columns:1fr 1fr}.stats-filter-form .btn{width:100%}
  .stats-timeline-row{grid-template-columns:90px minmax(120px,1fr) 90px}.stats-timeline-split{grid-column:2/-1}
}
@media(max-width:720px){
  .admin-nav-modern{padding:8px 10px;overflow:visible}
  .admin-nav-modern>.admin-nav-link,.admin-nav-group>summary{width:100%;padding:11px 12px;border-radius:9px}
  .admin-nav-group{width:100%}.admin-nav-dropdown{position:static;min-width:0;margin:3px 0 7px 12px;padding:4px 0 4px 10px;border:0;border-left:2px solid #dbe7e2;border-radius:0;box-shadow:none;background:transparent}.admin-nav-dropdown .admin-nav-link{padding:9px 11px}.admin-nav-public{margin-left:0}
  .floorplan-shell{padding-left:10px;padding-right:10px}.floorplan-intro-card{grid-template-columns:1fr}.floorplan-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.floorplan-tab{flex:0 0 auto}.floorplan-image-placeholder,.floorplan-empty-state{min-height:240px}.floorplan-admin-form{grid-template-columns:1fr}.floorplan-admin-row{grid-template-columns:1fr}.floorplan-admin-preview{min-height:150px}.floorplan-admin-inline{grid-template-columns:1fr 1fr}.floorplan-admin-actions .btn{flex:1}
  .stats-filter-form{grid-template-columns:1fr}.stats-timeline-row{grid-template-columns:82px minmax(0,1fr);gap:8px}.stats-timeline-value{grid-column:2}.stats-timeline-split{grid-column:2}.stats-period-summary{flex-wrap:wrap}
}

/* v0.9.1 · Piezas destacadas en portada */
.featured-piece-check{
    align-items:flex-start;
    gap:8px;
    padding:12px 14px;
    border:1px solid #d7e1dc;
    border-radius:12px;
    background:#f7faf8;
}
.featured-piece-check small{display:block;color:#66736d;font-weight:500;margin-top:2px}
.featured-admin-badge{
    display:inline-flex;
    align-items:center;
    margin:6px 0 0 8px;
    padding:4px 8px;
    border-radius:999px;
    background:#eef5f1;
    color:#1d5647;
    font-size:.72rem;
    font-weight:850;
    white-space:nowrap;
}
.icon-btn.featured-toggle{color:#718079}
.icon-btn.featured-toggle.is-featured{background:#173e35;color:#fff;border-color:#173e35}

.featured-pieces-section{
    width:100%;
    margin:24px 0 28px;
    padding:clamp(18px,2.4vw,28px);
    border:1px solid #dce4e0;
    border-radius:20px;
    background:#fbfcfb;
    overflow:hidden;
}
.featured-pieces-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:16px;
}
.featured-pieces-head h2{margin:2px 0 5px;font-size:clamp(1.45rem,2.4vw,2rem)}
.featured-pieces-head p{margin:0;color:#66736d}
.featured-slider-controls{display:flex;gap:8px;flex:none}
.featured-slider-button{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid #cfdbd5;
    border-radius:999px;
    background:#fff;
    color:#173e35;
    font-size:28px;
    line-height:1;
    cursor:pointer;
}
.featured-slider-button:hover{background:#173e35;color:#fff;border-color:#173e35}
.featured-pieces-track{
    display:flex;
    gap:16px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding:2px 2px 8px;
}
.featured-pieces-track::-webkit-scrollbar{display:none}
.featured-piece-card{
    flex:0 0 clamp(260px,31%,360px);
    min-width:0;
    scroll-snap-align:start;
    border:1px solid #d9e2de;
    border-radius:16px;
    overflow:hidden;
    background:#fff;
}
.featured-piece-link{display:block;height:100%;color:inherit;text-decoration:none}
.featured-piece-link:hover{text-decoration:none}
.featured-piece-media{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#edf2ef;
}
.featured-piece-media>img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .2s ease;
}
.featured-piece-link:hover .featured-piece-media>img{transform:scale(1.025)}
.featured-piece-default-image{width:100%;height:100%;min-height:0;border-radius:0}
.featured-piece-star{
    position:absolute;
    top:10px;
    right:10px;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:999px;
    background:rgba(23,62,53,.9);
    color:#fff;
    font-size:18px;
    box-shadow:0 4px 12px rgba(20,45,39,.18);
}
.featured-piece-copy{padding:14px 15px 16px}
.featured-piece-copy h3{margin:7px 0 8px;font-size:1.08rem;line-height:1.25}
.featured-piece-category{display:inline-flex;color:#597068;font-size:.8rem;font-weight:750;margin-bottom:12px}
.featured-piece-open{display:block;margin-top:4px;color:#174d40;font-size:.86rem;font-weight:850}

@media(max-width:760px){
    .featured-pieces-section{margin:18px 0 22px;padding:16px 12px;border-radius:16px}
    .featured-pieces-head{align-items:center}
    .featured-pieces-head p{font-size:.9rem}
    .featured-piece-card{flex-basis:82%}
    .featured-slider-button{width:38px;height:38px}
}
@media(max-width:480px){
    .featured-pieces-head{align-items:flex-start}
    .featured-pieces-head .eyebrow{font-size:.7rem}
    .featured-piece-card{flex-basis:88%}
}

/* v0.9.2 · salas enriquecidas */
.location-rich-form{grid-template-columns:minmax(180px,1fr) minmax(240px,1.5fr) 100px auto;align-items:start}.location-rich-form .location-image-upload{grid-column:1/3}.location-rich-form .location-description-grid{grid-column:1/-1}.location-rich-form .location-create-button{grid-column:1/-1;justify-self:start}.location-image-upload small{display:block;margin-top:5px;color:#6b7571;font-size:.78rem}.location-description-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.location-description-grid label{margin:0}.location-description-grid textarea{min-height:110px;resize:vertical}.location-admin-cards{display:grid;gap:16px}.location-admin-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:16px;border:1px solid #dfe5e2;border-radius:14px;background:#fbfcfb}.location-admin-photo{width:100%;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#eef2f0;border:1px solid #dfe5e2}.location-admin-photo img{display:block;width:100%;height:100%;object-fit:cover}.location-admin-photo-empty{display:grid;place-items:center;align-content:center;gap:7px;width:100%;height:100%;color:#7a8580;text-align:center}.location-admin-photo-empty span{font-size:2rem}.location-admin-fields{display:grid;gap:13px}.location-admin-basic-grid{display:grid;grid-template-columns:minmax(150px,1fr) minmax(210px,1.4fr) 90px auto;gap:10px;align-items:end}.location-admin-basic-grid label,.location-image-controls label{margin:0}.location-image-controls{display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:12px;border:1px dashed #d2dad6;border-radius:10px;background:#fff}.location-image-controls>label:first-child{min-width:min(360px,100%);flex:1}.location-description-details{border:1px solid #e0e6e3;border-radius:10px;background:#fff}.location-description-details summary{cursor:pointer;padding:11px 13px;font-weight:800;color:#284e44}.location-description-details[open] summary{border-bottom:1px solid #e8ecea}.location-description-details .location-description-grid{padding:13px}.location-admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.location-admin-actions .location-piece-count{margin-right:auto}.location-public-intro{display:grid;gap:10px;padding:12px 14px;border-bottom:1px solid #edf0ee;background:#fff}.location-public-intro img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.location-public-intro p{margin:0;color:#53615c;font-size:.9rem;line-height:1.5}.location-rich-card{align-self:start}
@media(max-width:1050px){.location-description-grid{grid-template-columns:1fr 1fr}.location-admin-card{grid-template-columns:170px minmax(0,1fr)}.location-admin-basic-grid{grid-template-columns:1fr 1.2fr 90px}.location-admin-basic-grid .check{grid-column:1/-1}.location-rich-form{grid-template-columns:1fr 1.2fr 100px}.location-rich-form .location-image-upload{grid-column:1/-1}}
@media(max-width:720px){.location-description-grid,.location-admin-card,.location-admin-basic-grid,.location-rich-form{grid-template-columns:1fr}.location-rich-form .location-image-upload,.location-rich-form .location-description-grid,.location-rich-form .location-create-button,.location-admin-basic-grid .check{grid-column:auto}.location-admin-photo{max-width:360px}.location-admin-actions{justify-content:stretch}.location-admin-actions .location-piece-count{width:100%;margin:0}.location-admin-actions .btn{flex:1}.location-public-intro img{aspect-ratio:4/3}}

/* v0.9.3 · Home: piezas destacadas + salas, 50/50 */
.home-showcase-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin:24px 0 28px;
}
.home-showcase-grid.has-one-panel{grid-template-columns:minmax(0,1fr)}
.home-showcase-grid .featured-pieces-section{margin:0;min-width:0;height:100%}
.home-showcase-grid .featured-pieces-head{align-items:flex-start}
.home-showcase-grid .featured-pieces-head h2{font-size:clamp(1.25rem,1.8vw,1.65rem)}
.home-showcase-grid .featured-pieces-head p{font-size:.9rem;line-height:1.4}
.home-showcase-track{scroll-padding-inline:2px}
.home-showcase-grid.has-two-panels .home-showcase-card{flex:0 0 100%}
.home-showcase-grid.has-one-panel .home-showcase-card{flex:0 0 clamp(270px,31%,370px)}
.featured-room-badge{
    position:absolute;top:10px;right:10px;display:grid;place-items:center;
    width:34px;height:34px;border-radius:999px;background:rgba(23,62,53,.9);
    color:#fff;font-size:17px;box-shadow:0 4px 12px rgba(20,45,39,.18)
}
.home-room-floor{
    display:inline-flex;padding:3px 8px;border-radius:999px;background:#edf4f1;
    color:#245c4e;font-size:.72rem;font-weight:850
}
.home-room-description{margin:0 0 10px;color:#5e6d67;font-size:.86rem;line-height:1.42}
.home-room-meta{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px;color:#66736d;font-size:.78rem;font-weight:750}
.featured-room-default-image{width:100%;height:100%;min-height:0;border-radius:0}
@media(max-width:900px){
    .home-showcase-grid{grid-template-columns:1fr}
    .home-showcase-grid.has-two-panels .home-showcase-card,
    .home-showcase-grid.has-one-panel .home-showcase-card{flex-basis:82%}
}
@media(max-width:480px){
    .home-showcase-grid{gap:14px;margin:18px 0 22px}
    .home-showcase-grid.has-two-panels .home-showcase-card,
    .home-showcase-grid.has-one-panel .home-showcase-card{flex-basis:88%}
}



/* v0.9.4 · Salas dentro de la página de plano */
.floorplan-rooms-section{display:grid;gap:14px;margin-top:22px}
.floorplan-rooms-heading{align-items:flex-end;margin:0}
.floorplan-rooms-heading>div>p{margin:5px 0 0;color:#65716c;max-width:760px}
.floorplan-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.floorplan-room-card{padding:0;overflow:hidden;min-width:0}
.floorplan-room-link{display:block;height:100%;color:inherit;text-decoration:none}
.floorplan-room-link:hover{text-decoration:none}
.floorplan-room-media{aspect-ratio:16/10;overflow:hidden;background:#edf2ef}
.floorplan-room-media>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.floorplan-room-link:hover .floorplan-room-media>img{transform:scale(1.025)}
.floorplan-room-default-image{width:100%;height:100%;min-height:0;border-radius:0}
.floorplan-room-copy{display:grid;gap:7px;padding:14px 15px 15px}
.floorplan-room-copy h3{margin:0;color:#173e35;font-size:1.05rem;line-height:1.25}
.floorplan-room-copy p{margin:0;color:#5e6b66;font-size:.87rem;line-height:1.45}
.floorplan-room-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:3px;color:#68756f;font-size:.78rem}
.floorplan-room-meta strong{color:#174d40;font-size:.82rem}
@media(max-width:1050px){.floorplan-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.floorplan-rooms-heading{align-items:stretch;flex-direction:column}.floorplan-rooms-heading .btn{width:100%}.floorplan-room-grid{grid-template-columns:1fr}.floorplan-room-media{aspect-ratio:16/9}}

/* v0.9.5 · valoraciones de piezas + reseña Google */
.home-google-review-pill{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid #e0d5a9;border-radius:999px;background:#fff9e7;color:#624f13;font-weight:850;text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.home-google-review-pill:hover{background:#fff3c8;border-color:#d4c06c;transform:translateY(-1px);text-decoration:none}
.home-google-review-stars{color:#b98600;letter-spacing:-1px;font-size:.92rem;white-space:nowrap}
.piece-rating-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;margin:26px 0 4px;padding:18px 20px;border:1px solid #dce5e1;border-radius:16px;background:#f8fbf9}
.piece-rating-copy h2{margin:2px 0 5px;font-size:1.28rem;color:#173e35}.piece-rating-copy p{margin:0;color:#60706a;line-height:1.5}
.piece-rating-summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px;color:#68746f;font-size:.86rem}.piece-rating-summary>strong{font-size:1.1rem;color:#173e35}.piece-rating-user{padding:3px 8px;border-radius:999px;background:#e8f2ee;color:#235749;font-weight:800}
.piece-rating-thanks{display:inline-flex;margin-top:10px;padding:6px 9px;border-radius:9px;background:#e9f5ee;color:#25613e;font-size:.84rem;font-weight:800}
.piece-rating-form{margin:0}.piece-rating-stars{display:flex;align-items:center;gap:2px;white-space:nowrap}.piece-rating-star{appearance:none;border:0;background:transparent;padding:4px 2px;color:#c5ceca;font-size:2rem;line-height:1;cursor:pointer;transition:color .12s ease,transform .12s ease}.piece-rating-star:hover{transform:scale(1.08)}.piece-rating-star.is-active,.piece-rating-star.is-preview{color:#d9a000}.piece-rating-star:focus-visible{outline:2px solid #174d40;outline-offset:3px;border-radius:5px}
@media(max-width:720px){.piece-rating-card{grid-template-columns:1fr;gap:12px;text-align:center}.piece-rating-summary,.piece-rating-stars{justify-content:center}.piece-rating-star{font-size:2.15rem}.home-google-review-pill{width:100%;justify-content:center}}

/* v0.9.6 · presentación ampliada, horarios, guía PDF y entrada */
.home-description-text{display:grid;gap:12px;margin:0;color:#34433e;font-size:1rem;line-height:1.67}
.home-description-text p{margin:0}
.home-description-text h2{margin:6px 0 0;color:#173e35;font-size:clamp(1.18rem,1.7vw,1.42rem);line-height:1.25}
.home-description-text ul{display:grid;gap:7px;margin:0;padding-left:1.25rem}
.home-description-text li{padding-left:2px}
.home-description-text strong{color:#173e35;font-weight:850}
.home-info-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #cbd9d4;border-radius:999px;background:#fff;color:#234c42;font-weight:800;text-decoration:none;line-height:1.2}
a.home-info-pill{transition:background .15s ease,border-color .15s ease,transform .15s ease}
a.home-info-pill:hover{background:#edf5f2;border-color:#abc5bc;transform:translateY(-1px);text-decoration:none}
.home-info-pill-icon{font-size:1rem;line-height:1;flex:none}
.home-entry-pill{background:#fffaf0;border-color:#ead8ac;color:#654f16;max-width:100%}
.home-entry-pill strong{color:#4f3c0d}
.home-pdf-pill{background:#f7f4ec}
.home-hours-pill{background:#f2f8f5}
.hours-shell{max-width:1180px;width:100%;padding-left:20px;padding-right:20px}
.hours-intro-card{margin-bottom:18px}
.hours-intro-card h1{margin-bottom:8px}
.hours-intro-card>p{max-width:850px;color:#586660;line-height:1.55}
.hours-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.hours-summary span{display:flex;align-items:flex-start;gap:7px;padding:11px 12px;border:1px solid #dce4e0;border-radius:12px;background:#f8fbf9;color:#315248;font-size:.9rem;font-weight:750;line-height:1.4}
.hours-calendar-card{display:grid;place-items:center;padding:clamp(12px,2vw,22px);overflow:hidden}
.hours-calendar-link{display:block;width:min(100%,760px);border-radius:14px;overflow:hidden;background:#eee;border:1px solid #d9dfdc;box-shadow:0 10px 28px rgba(20,45,39,.10)}
.hours-calendar-link img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:760px){
  .home-description-text{font-size:.96rem;gap:10px}
  .home-museum-actions .home-info-pill,.home-museum-actions .home-entry-pill{width:100%;justify-content:center;text-align:center}
  .hours-shell{padding-left:10px;padding-right:10px}
  .hours-summary{grid-template-columns:1fr}
  .hours-calendar-card{padding:8px}
  .hours-calendar-link{border-radius:10px}
}

/* v0.9.7 · bloque de presentación más limpio + precio + horarios ampliables */
.home-museum-description.home-intro-layout{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(285px,1fr);
    gap:clamp(22px,3.2vw,38px);
    align-items:start;
    padding:clamp(20px,3vw,32px);
}
.home-museum-description-copy{min-width:0}
.home-museum-actions-secondary{margin-top:18px}
.home-intro-side{display:grid;gap:13px;min-width:0;align-content:start}
.home-entry-highlight{
    display:flex;align-items:center;gap:11px;
    padding:13px 15px;border:1px solid #e5d29b;border-radius:15px;
    background:#fff8e6;color:#5a4612;box-shadow:0 5px 15px rgba(83,64,17,.05)
}
.home-entry-highlight-icon{display:grid;place-items:center;width:37px;height:37px;flex:none;border-radius:11px;background:#fff0c4;font-size:1.15rem}
.home-entry-highlight-copy{display:grid;gap:2px;min-width:0;line-height:1.28}
.home-entry-highlight-copy strong{font-size:.82rem;text-transform:uppercase;letter-spacing:.045em;color:#684e0b}
.home-entry-highlight-copy span{font-size:.91rem;font-weight:750;color:#654f16}
.home-intro-side .home-gallery-preview{width:100%;max-width:none;justify-self:stretch;border-radius:16px;box-shadow:0 7px 20px rgba(24,56,48,.08)}
.home-intro-side .home-gallery-preview-stage{height:225px}
.home-hours-preview{
    position:relative;display:block;width:100%;height:156px;padding:0;
    overflow:hidden;border:1px solid #d8e1dd;border-radius:16px;background:#edf2ef;
    cursor:pointer;text-align:left;box-shadow:0 7px 20px rgba(24,56,48,.07)
}
.home-hours-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 17%;transition:transform .2s ease}
.home-hours-preview:hover img{transform:scale(1.025)}
.home-hours-preview-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,40,34,.78) 0,rgba(13,40,34,.08) 66%,rgba(13,40,34,0) 100%)}
.home-hours-preview-caption{position:absolute;left:13px;right:13px;bottom:11px;display:flex;align-items:end;justify-content:space-between;gap:10px;color:#fff}
.home-hours-preview-caption strong{font-size:1rem;line-height:1.15}.home-hours-preview-caption span{font-size:.76rem;font-weight:800;white-space:nowrap}
.home-hours-dialog{width:min(760px,calc(100vw - 28px));max-width:none;padding:0;border:0;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 26px 70px rgba(0,0,0,.30)}
.home-hours-dialog::backdrop{background:rgba(6,16,13,.78);backdrop-filter:blur(3px)}
.home-hours-dialog-frame{position:relative;display:grid;gap:12px;padding:14px;background:#fff}
.home-hours-dialog-close-form{position:absolute;z-index:3;right:20px;top:20px;margin:0}
.home-hours-dialog-close{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:999px;background:rgba(18,48,40,.90);color:#fff;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.home-hours-dialog-image-link{display:block;overflow:auto;max-height:min(78vh,900px);border-radius:12px;background:#eee}
.home-hours-dialog-image-link img{display:block;width:100%;height:auto}
.home-hours-dialog-page-link{justify-self:center;margin-bottom:2px}
@media(max-width:900px){
    .home-museum-description.home-intro-layout{grid-template-columns:1fr}
    .home-intro-side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
    .home-entry-highlight{grid-column:1/-1}
    .home-intro-side .home-gallery-preview-stage,.home-hours-preview{height:220px}
}
@media(max-width:620px){
    .home-museum-description.home-intro-layout{padding:16px;gap:18px}
    .home-intro-side{grid-template-columns:1fr}
    .home-entry-highlight{grid-column:auto}
    .home-intro-side .home-gallery-preview-stage{height:220px}
    .home-hours-preview{height:180px}
    .home-hours-dialog{width:calc(100vw - 14px);border-radius:14px}
    .home-hours-dialog-frame{padding:8px}
    .home-hours-dialog-close-form{right:13px;top:13px}
}


/* v0.9.8 · directorio centrado en salas */
.room-directory-shell{max-width:1320px;width:100%;padding-left:20px;padding-right:20px}
.room-directory-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.room-directory-intro>div:first-child{max-width:800px}.room-directory-intro h1{margin-bottom:8px}
.room-directory-intro p{margin:0;color:#596762;line-height:1.55}
.room-directory-floors{display:grid;gap:24px}.room-directory-floor{display:grid;gap:12px}
.room-directory-floor-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 2px}
.room-directory-floor-head h3{margin:0;color:#173e35;font-size:1.15rem}.room-directory-floor-head span{display:grid;place-items:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:#e8f1ed;color:#214c40;font-weight:850;font-size:.82rem}
.room-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.room-directory-card{padding:0;overflow:hidden;min-width:0}.room-directory-card-link{display:block;height:100%;color:inherit;text-decoration:none}.room-directory-card-link:hover{text-decoration:none}
.room-directory-card-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#edf2ef}
.room-directory-card-media>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}.room-directory-card-link:hover .room-directory-card-media>img{transform:scale(1.025)}
.room-directory-card-fallback{width:100%;height:100%;min-height:0;border-radius:0}
.room-directory-count{position:absolute;right:10px;bottom:10px;padding:6px 9px;border-radius:999px;background:rgba(19,61,51,.92);color:#fff;font-size:.78rem;font-weight:850;backdrop-filter:blur(3px)}
.room-directory-card-copy{display:grid;gap:7px;padding:15px 16px 17px}.room-directory-card-copy h3{margin:0;color:#173e35;font-size:1.12rem;line-height:1.25}.room-directory-card-copy p{margin:0;color:#61706a;font-size:.88rem;line-height:1.48}.room-directory-card-copy strong{margin-top:4px;color:#1b5a49;font-size:.86rem}
.room-detail-layout{display:grid;gap:22px}.room-detail-hero{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.5fr);gap:0;padding:0;overflow:hidden}
.room-detail-media{min-height:315px;background:#edf2ef}.room-detail-media>img{display:block;width:100%;height:100%;object-fit:cover}.room-detail-fallback{width:100%;height:100%;min-height:315px;border-radius:0}
.room-detail-copy{display:grid;align-content:center;gap:10px;padding:clamp(22px,4vw,42px)}.room-detail-copy h2{margin:0;color:#173e35;font-size:clamp(1.7rem,3vw,2.55rem)}.room-detail-copy p{margin:0;color:#52625c;line-height:1.65;max-width:760px}
.room-detail-summary{display:flex;align-items:baseline;gap:8px;margin-top:6px}.room-detail-summary strong{font-size:1.7rem;color:#174d40}.room-detail-summary span{color:#68756f;font-weight:750}
.room-pieces-heading{align-items:flex-end}.room-piece-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.room-piece-card{padding:0;overflow:hidden;min-width:0}.room-piece-link{display:block;height:100%;color:inherit;text-decoration:none}.room-piece-link:hover{text-decoration:none}
.room-piece-media{aspect-ratio:4/3;overflow:hidden;background:#edf2ef}.room-piece-media>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.room-piece-link:hover .room-piece-media>img{transform:scale(1.025)}.room-piece-fallback{width:100%;height:100%;min-height:0;border-radius:0}
.room-piece-copy{display:grid;gap:8px;padding:14px 15px 16px}.room-piece-copy h3{margin:0;color:#173e35;font-size:1.05rem;line-height:1.3}.room-piece-copy strong{color:#1c5b4a;font-size:.85rem}.room-piece-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#6a7772;font-size:.78rem}.room-piece-meta .piece-visible-id{margin:0}
.room-directory-empty{text-align:center}.room-directory-empty h2{margin-top:0}
@media(max-width:1050px){.room-directory-grid,.room-piece-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-detail-hero{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}}
@media(max-width:760px){.room-directory-shell{padding-left:10px;padding-right:10px}.room-directory-intro{align-items:stretch;flex-direction:column}.room-directory-intro-actions{width:100%}.room-directory-intro-actions .btn{flex:1}.room-directory-grid,.room-piece-grid{grid-template-columns:1fr}.room-detail-hero{grid-template-columns:1fr}.room-detail-media{min-height:220px;aspect-ratio:16/10}.room-detail-fallback{min-height:220px}.room-detail-copy{padding:18px}.room-pieces-heading{align-items:stretch;flex-direction:column}.room-pieces-heading .btn{width:100%}}

/* v0.9.9 · Salas como contenido público con QR/audio */
.room-language-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.room-language-card{border:1px solid var(--line,#d8dedb);border-radius:16px;padding:14px;background:#fff;display:grid;gap:12px}.room-language-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.room-language-card textarea{min-height:120px}.room-audio-admin-row{display:grid;gap:8px}.room-audio-admin-row audio{width:100%}.room-admin-titlebar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.room-admin-titlebar small{display:block;color:var(--muted,#66736e);margin-top:4px}.room-admin-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.room-admin-badges>span{background:#eef4f1;border-radius:999px;padding:6px 10px;font-size:.82rem}.room-language-details>summary{cursor:pointer;font-weight:700;margin:8px 0}.room-qr-features{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;font-size:.86rem;color:var(--muted,#60706a)}
.room-public-shell{max-width:1320px}.room-public-hero{display:grid;grid-template-columns:minmax(280px,40%) minmax(0,1fr);gap:28px;align-items:stretch;overflow:hidden}.room-public-media{min-height:360px;border-radius:18px;overflow:hidden;background:#edf2ef}.room-public-media>img,.room-public-media>.piece-default-image{width:100%;height:100%;min-height:360px;object-fit:cover}.room-public-copy{padding:10px 4px;display:flex;flex-direction:column;justify-content:center}.room-public-copy h1{margin:.25rem 0 .55rem}.room-public-floor{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;background:#edf5f1;font-weight:700;margin-bottom:16px}.room-public-description{font-size:1.04rem;line-height:1.7;white-space:normal}.room-public-audio{margin-top:20px;padding-top:18px;border-top:1px solid var(--line,#d8dedb);display:grid;gap:8px}.room-public-audio audio{width:100%}.room-public-tools{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.room-public-qr-card{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.room-public-qr{width:220px;min-height:220px}.room-public-qr img,.room-public-qr canvas{max-width:220px;height:auto}.room-public-directory-card{display:flex;flex-direction:column;justify-content:center}.room-public-pieces{margin-top:24px}
@media(max-width:980px){.room-language-grid{grid-template-columns:1fr}.room-public-hero{grid-template-columns:1fr}.room-public-media,.room-public-media>img,.room-public-media>.piece-default-image{min-height:280px;max-height:440px}.room-public-tools{grid-template-columns:1fr}.room-public-qr-card{grid-template-columns:1fr;justify-items:start}.room-admin-titlebar{flex-direction:column}}
@media(max-width:640px){.room-public-media,.room-public-media>img,.room-public-media>.piece-default-image{min-height:230px}.room-public-qr{width:190px;min-height:190px}.room-public-qr img,.room-public-qr canvas{max-width:190px}}


/* v0.9.10 · Directorio de salas horizontal a ancho completo */
.room-directory-shell{
    width:calc(100% - 32px);
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    padding-left:0;
    padding-right:0;
}
.room-directory-list{width:100%}
.room-directory-floors{width:100%}
.room-directory-floor{width:100%}
.room-directory-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    width:100%;
}
.room-directory-card{
    width:100%;
    min-width:0;
}
.room-directory-card-link{
    display:grid;
    grid-template-columns:minmax(300px,34%) minmax(0,1fr);
    align-items:stretch;
    width:100%;
    min-height:230px;
}
.room-directory-card-media{
    aspect-ratio:auto;
    min-height:230px;
    height:100%;
}
.room-directory-card-copy{
    align-content:center;
    padding:28px 32px;
}
.room-directory-card-copy h3{
    font-size:clamp(1.3rem,1.7vw,1.8rem);
}
.room-directory-card-copy p{
    max-width:920px;
    font-size:.98rem;
    line-height:1.6;
}
@media(min-width:1500px){
    .room-directory-shell{width:calc(100% - 48px)}
    .room-directory-card-link{grid-template-columns:minmax(360px,30%) minmax(0,1fr);min-height:250px}
    .room-directory-card-media{min-height:250px}
    .room-directory-card-copy{padding:32px 38px}
}
@media(max-width:760px){
    .room-directory-shell{width:100%;padding-left:10px;padding-right:10px}
    .room-directory-card-link{display:block;min-height:0}
    .room-directory-card-media{aspect-ratio:16/10;min-height:0;height:auto}
    .room-directory-card-copy{padding:16px 17px 18px}
    .room-directory-card-copy h3{font-size:1.15rem}
    .room-directory-card-copy p{font-size:.9rem;line-height:1.5}
}


/* v0.9.11 · Directorio responsive + entrada visual */
.room-directory-shell{
    width:calc(100% - 32px);
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    padding-left:0;
    padding-right:0;
}
.room-directory-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:18px;
    width:100%;
    align-items:stretch;
}
.room-directory-card{
    width:100%;
    min-width:0;
    height:100%;
}
.room-directory-card-link{
    display:flex;
    flex-direction:column;
    width:100%;
    height:100%;
    min-height:0;
}
.room-directory-card-media{
    aspect-ratio:16/10;
    min-height:0;
    height:auto;
    flex:none;
}
.room-directory-card-copy{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    flex:1;
    padding:17px 18px 19px;
}
.room-directory-card-copy h3{
    font-size:1.18rem;
}
.room-directory-card-copy p{
    max-width:none;
    font-size:.9rem;
    line-height:1.5;
}
.room-directory-card-copy strong{
    margin-top:auto;
    padding-top:10px;
}
@media(min-width:1500px){
    .room-directory-shell{width:calc(100% - 48px)}
    .room-directory-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
}
@media(max-width:680px){
    .room-directory-shell{width:100%;padding-left:10px;padding-right:10px}
    .room-directory-grid{grid-template-columns:1fr;gap:14px}
}

.home-entry-ticket{
    position:relative;
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    gap:16px;
    align-items:center;
    min-height:112px;
    padding:14px 16px;
    overflow:hidden;
    border:1px solid #dfc882;
    border-radius:18px;
    background:linear-gradient(135deg,#fffdf6 0%,#fff6d8 100%);
    box-shadow:0 8px 22px rgba(78,61,12,.08);
}
.home-entry-ticket::after{
    content:"";
    position:absolute;
    right:-38px;
    top:-52px;
    width:130px;
    height:130px;
    border-radius:50%;
    background:rgba(226,190,72,.13);
    pointer-events:none;
}
.home-entry-ticket-visual{
    position:relative;
    display:grid;
    place-items:center;
    width:112px;
    height:82px;
    color:#5e4a10;
}
.home-entry-ticket-visual svg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    fill:#f6df8a;
    stroke:#8a6c14;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.home-entry-ticket-visual strong{
    position:relative;
    z-index:1;
    font-size:1.75rem;
    letter-spacing:-.04em;
    color:#59450d;
}
.home-entry-highlight-copy{
    position:relative;
    z-index:1;
    display:grid;
    gap:5px;
}
.home-entry-ticket-label{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    padding:4px 9px;
    border-radius:999px;
    background:#6d5717;
    color:#fff;
    font-size:.75rem;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.home-entry-ticket .home-entry-highlight-copy>strong{
    color:#49390d;
    font-size:.98rem;
    line-height:1.35;
}
@media(max-width:520px){
    .home-entry-ticket{grid-template-columns:92px minmax(0,1fr);gap:12px;min-height:100px;padding:12px}
    .home-entry-ticket-visual{width:92px;height:70px}
    .home-entry-ticket-visual strong{font-size:1.5rem}
}

/* v0.9.12 · Directorio: tarjetas contenidas, máximo 3 por fila */
.room-directory-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,360px));
    justify-content:center;
    align-items:stretch;
    gap:20px;
    width:100%;
}
.room-directory-card{
    width:100%;
    max-width:360px;
    justify-self:center;
}
@media(max-width:1180px){
    .room-directory-grid{
        grid-template-columns:repeat(2,minmax(0,380px));
        gap:18px;
    }
    .room-directory-card{max-width:380px}
}
@media(max-width:720px){
    .room-directory-grid{
        grid-template-columns:minmax(0,520px);
        gap:14px;
    }
    .room-directory-card{max-width:520px}
}


/* v0.9.13 · Directorio unificado + navegación de salas/piezas */
.room-directory-list{width:100%}
.room-directory-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,360px))!important;
    justify-content:center!important;
    align-items:stretch!important;
    gap:20px!important;
    width:100%!important;
}
.room-directory-card{width:100%!important;max-width:360px!important;justify-self:center!important}
@media(max-width:1180px){
    .room-directory-grid{grid-template-columns:repeat(2,minmax(0,380px))!important}
    .room-directory-card{max-width:380px!important}
}
@media(max-width:720px){
    .room-directory-grid{grid-template-columns:minmax(0,520px)!important;gap:14px!important}
    .room-directory-card{max-width:520px!important}
}
.public-return-nav{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 14px}
.public-return-nav-bottom{margin:22px 0 0;padding-top:18px;border-top:1px solid #dde3df}
.public-back-button{font:inherit}
.room-zone-page{display:grid;gap:18px}
.room-zone-qr-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:24px 28px}
.room-zone-heading h1{margin:.3rem 0 .45rem;font-size:clamp(1.9rem,4vw,3.2rem)}
.room-zone-heading p{margin:0;color:#68756f;font-weight:750}
.room-zone-qr-wrap{display:grid;justify-items:center;gap:6px}
.room-zone-qr-wrap small{font-weight:850;color:#64716c}
.room-zone-info{display:grid;grid-template-columns:minmax(220px,34%) minmax(0,1fr);gap:24px;align-items:stretch;padding:0;overflow:hidden}
.room-zone-info-media{min-height:260px;background:#edf2ef}
.room-zone-info-media img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover}
.room-zone-info-copy{display:grid;align-content:center;gap:12px;padding:26px 28px}
.room-zone-info-copy .room-public-audio{margin-top:8px}
.room-zone-page .room-public-pieces{margin-top:0}
.piece-return-nav{margin-bottom:18px}
.piece-return-nav-bottom{margin-top:24px}
@media(max-width:780px){
    .room-zone-qr-top{grid-template-columns:1fr;padding:20px;justify-items:start}
    .room-zone-qr-wrap{justify-items:start}
    .room-zone-info{grid-template-columns:1fr}
    .room-zone-info-media,.room-zone-info-media img{min-height:220px;max-height:360px}
    .room-zone-info-copy{padding:20px}
    .public-return-nav .btn{flex:1 1 auto}
}
