/* Sólo departamentos.html; la home conserva sus estilos. */
.departments-page h1,.departments-page h2,.departments-page h3 { font-family: 'Montserrat',sans-serif; font-weight: 600; }
.departments-page .department-intro { display: grid; grid-template-columns: 1.2fr .8fr; gap: 7%; align-items: center; padding-bottom: 60px; }
.department-intro h1 { font-size: clamp(32px,3.6vw,50px); }
.department-intro > div { min-width: 0; }
.department-intro p:not(.eyebrow) { color: var(--muted); font-size: 18px; }
/* Portada nocturna: sólo afecta a la presentación de departamentos. */
.departments-page .department-intro.department-hero { position:relative; isolation:isolate; display:grid; grid-template-columns:1fr; place-items:center; gap:0; min-height:max(520px,70svh); padding:calc(var(--header-height) + 55px) var(--gutter) 65px; color:var(--cream); background:var(--terracotta); text-align:center; }
.department-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#16151366,#1615138c 55%,#161513b3); }
.department-hero-photo { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.department-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 65%; }
.department-hero-copy { max-width:1000px; }
.departments-page .department-hero h1 { max-width:1000px; font-size:clamp(34px,4.4vw,64px); color:#f7f4ee; text-wrap:balance; text-shadow:0 3px 20px #0005; }
.departments-page .department-hero p:not(.eyebrow) { max-width:760px; margin-inline:auto; color:#f7f4ee; font-size:clamp(16px,1.5vw,20px); line-height:1.75; }
.department-hero .eyebrow,.department-hero .text-link { color:#f7f4ee; }
.department-hero .text-link { font-size:13px; }
.general-interiors { margin:0 var(--gutter) 65px; padding-top:24px; border-top:1px solid var(--line); }
.general-interiors .text-link { margin-top:0; background:transparent; border:0; border-bottom:1px solid currentColor; cursor:pointer; text-align:left; }
.general-interiors p { margin-top:12px; color:var(--muted); font-size:13px; }
@media(max-width:700px) { .department-hero-photo img { object-position:45% 60%; } }
.intro-photo-placeholder { min-height: 250px; background: #eae0d3; border: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 22px; text-align: center; padding: 30px; color: var(--muted); font-size: 18px; }
.department-selector { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 0 var(--gutter); border-block: 1px solid var(--line); padding: 18px 0; }
.department-selector a { font-size: 15px; text-align: center; padding: 14px 8px; border: 1px solid transparent; color: var(--brick); font-weight: 600; }
.department-selector a:hover { background: #eae0d388; }
.department-selector [aria-selected='true'] { background: var(--brick); color: var(--cream); border-color: var(--brick); }
.department-panels { margin: 0 var(--gutter); }
.category-panel { padding: 55px 0 20px; scroll-margin-top: 110px; }
.category-heading { max-width: 820px; margin-bottom: 32px; }
.category-heading h2 { font-size: clamp(29px,3vw,42px); margin-bottom: 20px; }
.category-heading > p:last-child { color: var(--muted); }
.category-gallery { max-width: 900px; margin-inline: auto; min-width: 0; }
.category-empty { min-height: 340px; padding: 35px; border: 1px solid #baa08d; background: linear-gradient(130deg,#eee7dd,#e0d0bf); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; text-align: center; }
.category-empty p { font: 500 clamp(23px,3vw,32px)/1.3 'Montserrat',sans-serif; color: var(--brick); margin: 0; }
.category-empty > span:last-child { font-size: 15px; color: var(--muted); }
.category-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 20px; scrollbar-width: none; overscroll-behavior-x: contain; }
.category-track::-webkit-scrollbar { display: none; }
.category-photo { flex: 0 0 100%; height: clamp(270px,35vw,420px); padding: 0; border: 1px solid #b69b86; background: var(--sand); overflow: hidden; scroll-snap-align: start; }
.category-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.category-controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 20px; }
.category-dots { display: flex; flex-wrap: wrap; justify-content: center; }
.category-dots button { background: transparent; border: 0; padding: 14px 8px; }
.category-dots button::after { content: ''; display: block; width: 7px; height: 7px; border-radius: 50%; background: #c7b8a9; }
.category-dots [aria-current='true']::after { background: var(--brick); }
.category-count { font-size: 14px; color: var(--muted); white-space: nowrap; }
.category-features { margin-top: 45px; }
.category-features h3 { color: var(--brick); font-size: 21px; margin-bottom: 25px; }
.feature-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:1fr; gap:16px; }
.feature-card { min-width:0; min-height:190px; padding:24px; border:1px solid #773e3266; border-radius:12px; background:#f7f4ee; color:var(--brick); transition:transform 250ms ease,box-shadow 250ms ease,border-color 250ms ease; }
.feature-card svg { display:block; width:42px; height:42px; margin-bottom:20px; transition:transform 250ms ease; }
.feature-card h4 { margin:0 0 9px; font:700 14px/1.4 var(--font-body); }
.feature-card p { margin:0; font-size:18px; line-height:1.45; font-weight:600; color:var(--terracotta); }
.feature-disclaimer { margin-top:20px; max-width:850px; color:var(--muted); font-size:12px; line-height:1.7; }
.department-panels { margin-bottom:65px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .feature-card:hover { transform:translateY(-3px); border-color:var(--brick); box-shadow:0 8px 20px #48282012; }
  .feature-card:hover svg { transform:translateY(-2px) rotate(-2deg); }
}
@media(max-width:900px) { .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.category-panel.is-entering { animation: category-enter .45s ease both; }
@keyframes category-enter { from { opacity: .3; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { .category-photo:hover img { transform: scale(1.02); } }
@media(max-width:700px) {
  .departments-page .department-intro { grid-template-columns: 1fr; gap: 30px; padding-bottom: 38px; }
  .intro-photo-placeholder { min-height: 170px; }
  .department-selector { grid-template-columns: 1fr 1fr; gap: 8px; }
  .department-selector a { font-size: 13px; padding: 13px 6px; }
  .category-panel { padding-top: 35px; }
  .category-empty { min-height: 270px; padding: 25px; }
  .feature-grid { gap:12px; }
  .feature-card { min-height:175px; padding:20px 16px; }
  .feature-card p { font-size:16px; }
  .category-controls { flex-wrap: wrap; gap: 12px; }
  .category-count { margin-left: auto; }
}
@media(max-width:360px) {
  .feature-grid { grid-template-columns:1fr; }
  .feature-card { display:grid; grid-template-columns:42px minmax(0,1fr); column-gap:18px; min-height:110px; padding:22px; }
  .feature-card svg { grid-row:1/3; margin:0; align-self:center; }
  .feature-card h4 { align-self:end; }
}
@media(prefers-reduced-motion:reduce) { .category-panel.is-entering { animation: none; } .category-photo img,.feature-card,.feature-card svg { transition: none; } }
