:root{--fort-dark:#003f3e;--fort-deep:#003432;--fort-teal:#12aaa0;--fort-mint:#37b9a2;--fort-orange:#f47338;--fort-yellow:#fdbb24;--fort-cream:#f7f3ec;--fort-soft:#eef7f5;--ink:#173232;--muted:#687878;--border:#d9e5e2;--white:#fff;--shadow:0 18px 55px rgba(0,63,62,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}a{color:var(--fort-dark)}img{max-width:100%}.site-header{z-index:1030}.top-strip{background:var(--fort-dark);color:#dff5f1;font-size:.78rem;padding:.38rem 0}.top-strip a{color:#fff;text-decoration:none;font-weight:700}.navbar{padding:.68rem 0}.navbar-brand img{width:164px;height:auto}.nav-shell{gap:10px}.nav-link{font-weight:750;color:#244b49!important;border-radius:999px;padding:.55rem .74rem!important}.nav-link:hover{background:var(--fort-soft);color:var(--fort-dark)!important}.community-link{color:var(--fort-orange)!important}.contact-link{background:var(--fort-dark);color:#fff!important}.contact-link:hover{background:var(--fort-teal);color:#fff!important}.desktop-controls,.mobile-controls{gap:6px}.compact-select{appearance:none;border:1px solid var(--border);background:#fff;border-radius:999px;padding:.45rem 1.55rem .45rem .62rem;font-size:.78rem;font-weight:850;color:var(--fort-dark);background-image:linear-gradient(45deg,transparent 50%,#557 50%),linear-gradient(135deg,#557 50%,transparent 50%);background-position:calc(100% - 12px) 52%,calc(100% - 8px) 52%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.header-search{display:flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:#fff;min-width:170px}.header-search input{border:0;outline:0;padding:.5rem .2rem .5rem .7rem;min-width:0;width:100%;font-size:.82rem}.header-search button{border:0;background:transparent;color:var(--fort-dark);padding:.45rem .7rem}.btn-brand{background:var(--fort-dark);border-color:var(--fort-dark);color:#fff;font-weight:800;border-radius:12px}.btn-brand:hover,.btn-brand:focus{background:var(--fort-teal);border-color:var(--fort-teal);color:#fff}.btn-accent{background:var(--fort-orange);border-color:var(--fort-orange);color:#fff;font-weight:850;border-radius:12px}.btn-accent:hover{background:#df5d25;border-color:#df5d25;color:#fff}.btn-soft{background:var(--fort-soft);color:var(--fort-dark);font-weight:800;border-radius:12px}.section{padding:78px 0}.section-soft{background:linear-gradient(180deg,#f7fbfa,#eef7f5)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:900;color:var(--fort-teal)}.section-title{font-size:clamp(2rem,5vw,3.8rem);line-height:1.02;font-weight:900;color:var(--fort-dark);letter-spacing:-.04em}.section-title-sm{font-size:clamp(1.8rem,3vw,2.65rem);font-weight:900;color:var(--fort-dark);letter-spacing:-.035em}.lead-soft{font-size:1.08rem;color:var(--muted);line-height:1.7}.hero-video{position:relative;min-height:clamp(560px,74vh,790px);background:#001f1e;overflow:hidden}.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-video:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,42,40,.88) 0%,rgba(0,42,40,.62) 48%,rgba(0,42,40,.22) 78%,rgba(0,0,0,.08) 100%)}.hero-content{position:relative;z-index:2;min-height:clamp(560px,74vh,790px);display:flex;align-items:center}.hero-copy{max-width:680px;color:#fff;padding:72px 0}.hero-copy .kicker{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .8rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(0,0,0,.14);font-weight:800;font-size:.82rem}.hero-copy h1{font-size:clamp(2.55rem,6.6vw,3.7rem);line-height:.95;font-weight:950;letter-spacing:-.06em;margin:1.2rem 0}.hero-copy h1 span{color:#56d7c5}.hero-copy p{font-size:clamp(1.05rem,2vw,1.32rem);max-width:620px;line-height:1.55;color:#eefcf9}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.6rem}.hero-actions .btn{padding:.8rem 1.15rem}.hero-proof{display:flex;flex-wrap:wrap;gap:16px;margin-top:1.7rem;font-size:.87rem;color:#d8f4ee}.hero-proof span{display:flex;align-items:center;gap:6px}.hero-sound{position:absolute;z-index:4;right:18px;bottom:18px;border:0;border-radius:999px;background:rgba(0,0,0,.48);color:#fff;width:46px;height:46px;display:grid;place-items:center}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.about-photo{border-radius:30px;box-shadow:var(--shadow);width:100%;max-height:690px;object-fit:cover}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{padding:26px;border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:0 12px 35px rgba(0,63,62,.06)}.feature-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--fort-soft);color:var(--fort-teal);font-size:1.35rem;margin-bottom:18px}.feature-card h3{font-weight:900;color:var(--fort-dark);font-size:1.12rem}.feature-card p{color:var(--muted);margin-bottom:0;line-height:1.6}.content-card{border:1px solid var(--border);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 14px 36px rgba(0,63,62,.06);transition:.2s}.content-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.content-media{display:block;position:relative;aspect-ratio:16/10;background:#dce9e6;overflow:hidden}.content-media img{width:100%;height:100%;object-fit:cover;transition:.35s}.content-card:hover .content-media img{transform:scale(1.03)}.content-card-body{padding:22px}.content-card h2{font-size:1.18rem;line-height:1.3;font-weight:900;margin:.5rem 0}.content-card h2 a{text-decoration:none;color:var(--fort-dark)}.content-card p{color:var(--muted);line-height:1.6}.arrow-link{text-decoration:none;font-weight:850;color:var(--fort-orange)}.play-badge{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:var(--fort-dark);font-size:1.8rem;box-shadow:0 10px 25px rgba(0,0,0,.2)}.price-chip{display:inline-flex;align-items:baseline;gap:4px;background:var(--fort-soft);color:var(--fort-dark);padding:.7rem .9rem;border-radius:14px;font-weight:900}.price-chip strong{font-size:1.45rem}.cta-band{border-radius:30px;padding:36px;background:linear-gradient(135deg,var(--fort-dark),#006660 70%,var(--fort-teal));color:#fff;box-shadow:var(--shadow)}.cta-band h2{font-weight:950;letter-spacing:-.04em}.cta-band p{color:#d9f5ef}.article-hero{padding:64px 0 38px;background:linear-gradient(180deg,var(--fort-soft),#fff)}.article-shell{max-width:900px;margin:auto}.article-cover{width:100%;max-height:570px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.article-content{font-size:1.07rem;line-height:1.85;color:#334e4d}.article-content p{margin-bottom:1.3rem}.tag-row,.seo-tags{display:flex;flex-wrap:wrap;gap:8px}.tag-chip{display:inline-flex;text-decoration:none;background:#eff8f6;color:var(--fort-dark);border:1px solid #d7ece7;border-radius:999px;padding:.42rem .72rem;font-size:.8rem;font-weight:750}.tag-chip:hover{background:var(--fort-dark);color:#fff}.share-row{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.share-btn{border:1px solid var(--border);background:#fff;color:var(--fort-dark);padding:.55rem .8rem;border-radius:10px;text-decoration:none;font-weight:800}.share-btn.wa{background:#eaf9ef;color:#177d3f}.video-stage{border-radius:26px;overflow:hidden;background:#000;box-shadow:var(--shadow)}.video-stage video{width:100%;display:block;max-height:78vh}.comment-block{margin-top:54px;border-top:1px solid var(--border);padding-top:36px}.comment-block h2{font-weight:900;color:var(--fort-dark)}.comments-list{display:grid;gap:14px;margin:20px 0}.comment-item{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:16px;border:1px solid var(--border);border-radius:16px}.avatar-letter{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--fort-dark);color:#fff;font-weight:900}.comment-item small{display:block;color:#81908f}.comment-item p{margin:.55rem 0 0}.comment-form{margin-top:20px;padding:22px;background:var(--fort-soft);border-radius:20px}.form-control,.form-select{border-radius:12px;border-color:#cfdedb;min-height:46px}.form-control:focus,.form-select:focus{border-color:var(--fort-teal);box-shadow:0 0 0 .2rem rgba(18,170,160,.12)}.contact-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:34px}.contact-image{border-radius:30px;overflow:hidden;min-height:100%}.contact-image img{width:100%;height:100%;object-fit:cover}.contact-card{border:1px solid var(--border);border-radius:28px;padding:28px;box-shadow:var(--shadow);background:#fff}.api-status{font-size:.83rem;min-height:1.4em}.input-icon-label{display:flex;align-items:center;gap:7px}.required-dot{color:var(--fort-orange)}.community-hero{padding:68px 0;background:radial-gradient(circle at 82% 18%,rgba(253,187,36,.22),transparent 20%),linear-gradient(135deg,#003f3e,#006c66);color:#fff}.community-hero h1{font-weight:950;font-size:clamp(2.3rem,5vw,4.5rem);letter-spacing:-.05em}.community-hero p{color:#d9f5ef;max-width:720px}.topic-card{border:1px solid var(--border);border-radius:20px;padding:20px;background:#fff;display:flex;gap:14px;align-items:flex-start}.topic-avatar,.profile-avatar{border-radius:50%;object-fit:cover;background:#e7f3f1}.topic-avatar{width:48px;height:48px}.profile-avatar{width:150px;height:150px}.topic-card h2{font-size:1.08rem;font-weight:900;margin:0 0 6px}.topic-card h2 a{text-decoration:none;color:var(--fort-dark)}.topic-meta{font-size:.78rem;color:#7a8b89}.forum-post{border:1px solid var(--border);border-radius:18px;padding:18px;background:#fff;margin-bottom:14px}.forum-post.reply{margin-left:44px;background:#fbfdfd}.reaction-btn{border:1px solid var(--border);background:#fff;border-radius:999px;padding:.35rem .65rem;font-size:.8rem}.reaction-btn.active{background:var(--fort-soft);border-color:var(--fort-teal)}.profile-header{display:grid;grid-template-columns:170px 1fr;gap:26px;align-items:center}.fan-btn{background:linear-gradient(135deg,var(--fort-orange),var(--fort-yellow));border:0;color:#fff;font-weight:900;border-radius:999px;padding:.7rem 1rem;animation:fanPulse 2.4s infinite}@keyframes fanPulse{0%,100%{box-shadow:0 0 0 0 rgba(244,115,56,.28)}50%{box-shadow:0 0 0 12px rgba(244,115,56,0)}}.site-footer{background:#002e2d;color:#d8e9e7;padding:58px 0 0}.site-footer h2{font-size:.88rem;text-transform:uppercase;letter-spacing:.1em;color:#fff;font-weight:900}.site-footer a,.site-footer span{display:block;color:#d8e9e7;text-decoration:none;margin:.45rem 0}.site-footer a:hover{color:#fff}.footer-logo{width:180px;filter:brightness(0) invert(1)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding:18px 0;font-size:.78rem;color:#9db8b5}.floating-wa{position:fixed;z-index:1050;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-size:1.65rem;box-shadow:0 14px 34px rgba(0,0,0,.24);text-decoration:none}.empty-state{padding:40px;border:1px dashed var(--border);border-radius:22px;text-align:center;color:var(--muted)}
@media(max-width:1199px){.navbar-brand img{width:145px}.header-search{max-width:100%}.navbar-collapse{padding:.4rem 0 1rem}.nav-link{padding:.65rem .7rem!important}.contact-link{display:inline-block}.desktop-controls{display:none!important}}
@media(max-width:991px){.section{padding:58px 0}.intro-grid,.contact-layout{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.hero-video,.hero-content{min-height:620px}.hero-video video{object-position:center}.hero-copy{padding:56px 0}.contact-image{max-height:620px}.profile-header{grid-template-columns:1fr;text-align:center}.profile-avatar{margin:auto}}
@media(max-width:575px){.top-strip span{display:none}.top-strip .container{justify-content:flex-end!important}.navbar{padding:.55rem 0}.navbar-brand img{width:126px}.mobile-controls{display:flex}.compact-select{padding:.38rem 1.3rem .38rem .48rem;font-size:.72rem}.hero-video,.hero-content{min-height:670px}.hero-video:after{background:linear-gradient(180deg,rgba(0,45,43,.48),rgba(0,45,43,.88) 48%,rgba(0,45,43,.94))}.hero-copy{align-self:flex-end;padding:48px 0 54px}.hero-copy h1{font-size:3rem}.hero-actions .btn{width:100%}.hero-proof{gap:9px}.feature-grid{grid-template-columns:1fr}.section-title{font-size:2.35rem}.content-card-body{padding:18px}.contact-card{padding:18px;border-radius:20px}.section{padding:48px 0}.cta-band{padding:26px 22px;border-radius:22px}.comment-form{padding:16px}.forum-post.reply{margin-left:18px}.floating-wa{width:54px;height:54px}.article-hero{padding-top:42px}.country-code-select{max-width:112px!important}}


/* Registro / perfil: foto desde galería o cámara del celular */
.profile-photo-picker{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid rgba(0,0,0,.09);border-radius:18px;background:rgba(255,255,255,.66)}
.profile-photo-preview{width:88px;height:88px;min-width:88px;border-radius:50%;display:grid;place-items:center;background:#edf4f1 center/cover no-repeat;border:3px solid #fff;box-shadow:0 4px 18px rgba(0,0,0,.10);overflow:hidden}
.profile-photo-preview i{font-size:3.2rem;color:#16796f;opacity:.65}
.profile-photo-preview.has-photo{background-size:cover;background-position:center}
.profile-photo-actions{min-width:0;flex:1}.profile-photo-actions .btn{margin-right:7px;margin-bottom:6px!important}
@media (max-width:575.98px){.profile-photo-picker{align-items:flex-start}.profile-photo-preview{width:76px;height:76px;min-width:76px}.profile-photo-actions .btn{width:100%;margin-right:0}.camera-option{display:flex!important;justify-content:center;align-items:center;gap:7px}}

.mobile-search{display:flex;align-items:center;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:#fff;flex:1;max-width:210px;min-width:90px;margin-left:auto;margin-right:8px}.mobile-search input{border:0;outline:0;padding:.43rem .25rem .43rem .62rem;min-width:0;width:100%;font-size:.78rem}.mobile-search button{border:0;background:transparent;color:var(--fort-dark);padding:.42rem .58rem}.mobile-menu-controls{display:flex;gap:8px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:116px;padding:16px;border:1px solid var(--border);border-radius:18px;text-decoration:none;background:#fff;color:var(--fort-dark);font-weight:850;box-shadow:0 10px 25px rgba(0,63,62,.05);transition:.2s}.dashboard-tile:hover{transform:translateY(-2px);background:var(--fort-soft)}.dashboard-tile i{font-size:1.7rem;color:var(--fort-teal)}.footer-tag-cloud .tag-row{gap:7px}.footer-tag{display:inline-flex!important;margin:0!important;padding:.38rem .65rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:.75rem}.demo-label{font-size:.68rem;vertical-align:middle}.mobile-floating-actions{position:fixed;z-index:1050;right:18px;bottom:18px;display:flex;align-items:center;gap:10px}.mobile-floating-actions .floating-wa{position:static}.floating-info{display:none;text-decoration:none;background:var(--fort-orange);color:#fff;font-weight:900;border-radius:999px;padding:.75rem .9rem;box-shadow:0 14px 34px rgba(0,0,0,.22);white-space:nowrap}.floating-info:hover{color:#fff}.community-hero .welcome-sub{max-width:660px;color:#d9f5ef}.register-kicker{background:linear-gradient(135deg,#ecf9f7,#fff4e8);border:1px solid #dbece8;border-radius:16px;padding:14px 16px;font-weight:750;color:var(--fort-dark)}
@media(max-width:575px){.community-hero h1{font-size:2rem;line-height:1.02;letter-spacing:-.035em}.navbar-brand img{width:105px}.navbar-toggler{padding:.35rem .48rem}.mobile-search{max-width:128px;margin-left:auto}.mobile-search input{font-size:.72rem;padding-left:.5rem}.floating-info{display:inline-flex;align-items:center;gap:6px}.mobile-floating-actions{left:12px;right:12px;justify-content:flex-end;bottom:12px}.mobile-floating-actions .floating-wa{width:54px;height:54px;flex:0 0 54px}.mobile-floating-actions .floating-info{flex:0 1 auto}.dashboard-grid{grid-template-columns:repeat(2,1fr)}}

/* V6: breadcrumbs, proyectos y ajustes mobile */
.site-breadcrumb{background:#f7fbfa;border-bottom:1px solid var(--border);padding:.55rem 0;font-size:.78rem}.site-breadcrumb .breadcrumb{--bs-breadcrumb-divider:'›'}.site-breadcrumb a{text-decoration:none;color:var(--fort-teal);font-weight:750}.site-breadcrumb .active{color:#6d7e7c}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-card{border:1px solid var(--border);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 14px 36px rgba(0,63,62,.07);height:100%}.project-card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:#0b4f49}.project-card-media img{width:100%;height:100%;object-fit:cover;transition:.35s}.project-card:hover .project-card-media img{transform:scale(1.025)}.project-card-body{padding:22px}.project-card h2{font-size:1.2rem;font-weight:950;color:var(--fort-dark);margin:.5rem 0}.project-card h2 a{text-decoration:none}.project-meta{display:flex;flex-wrap:wrap;gap:8px}.project-meta span{display:inline-flex;align-items:center;gap:5px;padding:.34rem .55rem;border-radius:999px;background:var(--fort-soft);font-size:.76rem;font-weight:800;color:var(--fort-dark)}.project-detail-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}.project-detail-hero img{width:100%;border-radius:28px;box-shadow:var(--shadow)}.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.project-fact{border:1px solid var(--border);border-radius:18px;padding:18px;background:#fff}.project-fact small{display:block;color:var(--muted);font-weight:700}.project-fact strong{display:block;font-size:1.12rem;color:var(--fort-dark);margin-top:4px}.project-source-note{font-size:.82rem;color:#6d7e7c}.member-nav-actions .btn{white-space:nowrap}.community-hero h1{font-size:clamp(2rem,4.2vw,3.6rem)}
@media(max-width:991px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-hero{grid-template-columns:1fr}.project-facts{grid-template-columns:1fr 1fr}}
@media(max-width:575px){.project-grid{grid-template-columns:1fr}.project-facts{grid-template-columns:1fr}.community-hero{padding:44px 0}.community-hero h1{font-size:1.78rem;line-height:1.06}.floating-info{font-size:.78rem;padding:.7rem .75rem;max-width:calc(100vw - 92px);overflow:hidden;text-overflow:ellipsis}.site-breadcrumb{font-size:.72rem}.mobile-search{display:flex!important;max-width:132px}}

@media (max-width: 991.98px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-hero{grid-template-columns:1fr}.project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 767.98px){.project-grid{grid-template-columns:1fr;gap:16px}.project-card-body{padding:16px}.project-card h2{font-size:1.05rem}.project-meta span{font-size:.72rem}.project-facts{grid-template-columns:1fr}.article-cover{border-radius:18px}.content-card{border-radius:20px}}

/* V22 · Utilidades / precios de materiales */
.material-summary-box{border:1px solid var(--border);border-radius:24px;background:#fff;padding:22px;display:flex;flex-direction:column;box-shadow:0 12px 30px rgba(0,63,62,.06)}.material-summary-box strong{font-size:2.3rem;line-height:1;color:var(--fort-dark)}.material-summary-box span{font-weight:850;color:#365856;margin-top:6px}.material-summary-box small{color:var(--muted);margin-top:7px}.material-filter{padding:18px;border:1px solid var(--border);border-radius:20px;background:#fff}.category-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}.category-scroll .tag-chip{white-space:nowrap}.category-scroll .tag-chip.active{background:var(--fort-dark);color:#fff}.materials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.material-card{border:1px solid var(--border);border-radius:22px;background:#fff;padding:20px;box-shadow:0 12px 30px rgba(0,63,62,.06);display:flex;flex-direction:column;min-width:0}.material-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.material-icon{width:42px;height:42px;border-radius:13px;background:var(--fort-soft);display:grid;place-items:center;color:var(--fort-teal);font-size:1.25rem}.material-category{font-size:.72rem;font-weight:850;color:#58706e;background:#f4f8f7;border-radius:999px;padding:.35rem .55rem;text-align:right}.material-card h2{font-size:1.05rem;font-weight:900;line-height:1.3;margin:0 0 12px}.material-card h2 a{text-decoration:none;color:var(--fort-dark)}.material-price{font-size:1.72rem;font-weight:950;color:var(--fort-dark);letter-spacing:-.04em}.material-unit{font-size:.82rem;color:var(--muted)}.material-delta{font-size:.78rem;font-weight:850;margin-top:9px}.material-delta.up{color:#b23a33}.material-delta.down{color:#168050}.material-delta.flat{color:#7d8e8c}.material-current-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border:1px solid var(--border);border-radius:28px;background:linear-gradient(145deg,#fff,#f4fbf9);box-shadow:var(--shadow)}.material-current-price{font-size:clamp(2.5rem,8vw,4.6rem);font-weight:950;line-height:1;color:var(--fort-dark);letter-spacing:-.06em;margin:.35rem 0}.material-change-box{min-width:190px;border-left:1px solid var(--border);padding-left:24px;display:flex;flex-direction:column}.material-change-box strong{font-size:2rem}.material-change-box span{color:var(--muted);font-size:.85rem}.material-chart-box{border:1px solid var(--border);border-radius:26px;background:#fff;padding:22px;box-shadow:0 12px 30px rgba(0,63,62,.05)}
@media(max-width:991px){.materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.materials-grid{grid-template-columns:1fr}.material-current-panel{align-items:flex-start;flex-direction:column;padding:20px}.material-change-box{border-left:0;border-top:1px solid var(--border);padding:18px 0 0;width:100%}.material-current-price{font-size:2.65rem}.material-filter{padding:12px}}
.material-card-image{display:block;margin:-20px -20px 16px;aspect-ratio:16/10;overflow:hidden;background:#f2f5f4;border-bottom:1px solid var(--border)}.material-card-image img{width:100%;height:100%;object-fit:cover;display:block}.material-detail-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:22px;align-items:stretch}.material-detail-image{border:1px solid var(--border);border-radius:28px;overflow:hidden;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column}.material-detail-image img{width:100%;height:100%;min-height:290px;object-fit:contain;background:#f7faf9}.material-detail-image small{padding:10px 14px;color:var(--muted);border-top:1px solid var(--border);background:#fff}.material-detail-grid .material-current-panel{height:100%}
@media(max-width:767.98px){.material-card-image{margin:-16px -16px 14px}.material-detail-grid{grid-template-columns:1fr}.material-detail-image img{min-height:220px}.material-detail-grid .material-current-panel{height:auto}}

/* V24 - navegador de materiales */
.materials-browser{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}.materials-sidebar{position:sticky;top:92px;border:1px solid var(--border);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(0,63,62,.05)}.materials-sidebar-title{padding:16px 17px;font-weight:900;color:var(--fort-dark);background:var(--fort-soft);border-bottom:1px solid var(--border)}.materials-category-menu{display:flex;flex-direction:column;padding:8px}.materials-category-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border-radius:12px;text-decoration:none;color:#31504e;font-size:.84rem;font-weight:760;line-height:1.22}.materials-category-link strong{min-width:30px;text-align:center;border-radius:999px;background:#eef6f4;color:var(--fort-dark);padding:.18rem .42rem;font-size:.72rem}.materials-category-link:hover,.materials-category-link.active{background:var(--fort-dark);color:#fff}.materials-category-link:hover strong,.materials-category-link.active strong{background:rgba(255,255,255,.16);color:#fff}.materials-main{min-width:0}.materials-grid-four{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.materials-grid-four .material-card{padding:16px}.materials-grid-four .material-card-image{margin:-16px -16px 14px}.materials-grid-four .material-price{font-size:1.48rem}.materials-grid-four .material-category{font-size:.67rem}.material-card-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.material-comments-count{text-decoration:none;color:#6b7c7a;font-size:.76rem;font-weight:800;display:inline-flex;align-items:center;gap:4px}.material-comments-count:hover{color:var(--fort-teal)}.materials-search-meta{font-size:.82rem;color:#536765}.grid-column-full{grid-column:1/-1}
@media(max-width:1199.98px){.materials-grid-four{grid-template-columns:repeat(3,minmax(0,1fr))}.materials-browser{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:991.98px){.materials-browser{grid-template-columns:1fr}.materials-sidebar{position:static}.materials-category-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.materials-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.materials-category-menu{grid-template-columns:1fr}.materials-grid-four{grid-template-columns:1fr}.materials-sidebar-title{padding:13px 15px}.materials-category-link{padding:9px 10px}.materials-grid-four .material-card{padding:16px}}

/* V25 · fotos de materiales, detalle con categorías y gráfico general */
.material-card-image-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f5fbf9,#eaf5f2)}
.material-photo-fallback{width:100%;height:100%;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:18px;color:var(--fort-dark)}
.material-photo-fallback i{font-size:2.2rem;color:var(--fort-teal)}
.material-photo-fallback span{font-weight:900;font-size:.78rem;line-height:1.25}.material-photo-fallback small{color:var(--muted);max-width:260px}
.material-detail-image-placeholder{min-height:320px}.material-detail-image-placeholder .material-photo-fallback{min-height:320px}
.material-detail-image.image-error{display:none}.material-general-chart{padding:28px}.material-detail-browser{grid-template-columns:250px minmax(0,1fr)}
@media(max-width:991.98px){.material-detail-browser{grid-template-columns:1fr}.material-general-chart{padding:20px}.material-detail-image-placeholder{min-height:220px}}
.material-photo-fallback-hidden{display:none}

/* V34: materiales más vistos + contratos en venta */
.most-viewed-materials{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.most-viewed-material{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:18px;background:#fff;text-decoration:none;color:var(--fort-dark);box-shadow:0 10px 24px rgba(0,63,62,.05)}.most-viewed-material img,.most-viewed-material-icon{width:64px;height:56px;flex:0 0 64px;border-radius:12px;background:var(--fort-soft);object-fit:contain;display:grid;place-items:center;color:var(--fort-teal);font-size:1.25rem}.most-viewed-material strong{display:block;font-size:.9rem;line-height:1.2}.most-viewed-material small{display:block;color:var(--muted);font-size:.72rem;margin-top:4px}.contract-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.contract-card{background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:0 14px 34px rgba(0,63,62,.07);height:100%}.contract-card-image{display:grid;place-items:center;aspect-ratio:16/10;background:linear-gradient(145deg,#eef8f6,#dfeeea);overflow:hidden;text-decoration:none}.contract-card-image img{width:100%;height:100%;object-fit:cover}.contract-card-image>span{font-size:3rem;color:var(--fort-teal)}.contract-card-body{padding:20px}.contract-card h2{font-size:1.08rem;line-height:1.25;font-weight:950;margin:12px 0 8px}.contract-card h2 a{text-decoration:none;color:var(--fort-dark)}.contract-card p{color:var(--muted);font-size:.9rem}.contract-price{font-size:1.35rem;font-weight:950;color:var(--fort-dark);margin-top:10px}.contract-carousel{border-radius:26px;overflow:hidden;border:1px solid var(--border);background:#f4f8f7}.contract-carousel .carousel-item{aspect-ratio:16/9}.contract-carousel img{width:100%;height:100%;object-fit:contain;background:#f7f9f8}.contract-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.contract-facts>div{padding:18px;border:1px solid var(--border);border-radius:18px;background:#fff}.contract-facts small{display:block;color:var(--muted);font-weight:750}.contract-facts strong{display:block;margin-top:4px;font-size:1.12rem;color:var(--fort-dark)}.community-contract-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;border:1px solid var(--border);border-radius:24px;background:linear-gradient(135deg,#f7fbfa,#eef8f6)}
@media(max-width:1199px){.most-viewed-materials{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.most-viewed-materials,.contract-grid,.contract-facts{grid-template-columns:1fr}.community-contract-cta{align-items:flex-start;flex-direction:column}.contract-card-body{padding:16px}}
