/* Milu Diseño Interior · hoja de estilos (reconstrucción del tema Stockholm: boxed, Raleway, cabecera blanca de 90 px) */
:root{--txt:#4c4c4c;--dark:#303030;--accent:#0a0101;--bg:#f5f5f5;--line:#e6e6e6}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font:400 15px/26px Raleway,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;border:0}
a{color:var(--dark);text-decoration:none;transition:color .2s,opacity .2s}a:hover{color:#000}
p{margin:0 0 16px}
h1,h2,h3,h4,h5,h6{margin:0 0 14px;color:var(--dark);font-family:Raleway,"Helvetica Neue",Arial,sans-serif;font-weight:600;line-height:1.3}
h1{font-size:30px}h2{font-size:30px;letter-spacing:1px}h3{font-family:Allerta,Raleway,Arial,sans-serif;font-weight:400;font-size:24px;letter-spacing:1px}h4{font-size:20px}h5{font-size:16px;letter-spacing:2px;text-transform:uppercase}h6{font-size:15px;letter-spacing:1px}
strong{font-weight:700;color:#303030}
.wrapper{max-width:1200px;margin:0 auto;background:#fff;min-height:100vh;box-shadow:0 0 26px rgba(0,0,0,.07)}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}
/* cabecera */
.hd{position:sticky;top:0;z-index:60;background:#fff;height:90px;border-bottom:1px solid #f0f0f0}
.hd .in{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.logo{display:block;line-height:0}.logo img{height:68px;width:auto}
.nav{display:flex;align-items:center;height:90px}
.nav a{display:block;height:90px;line-height:90px;padding:0 17px;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#000;position:relative}
.nav a:after{content:"";position:absolute;left:17px;right:17px;bottom:24px;height:2px;background:#000;transform:scaleX(0);transition:transform .25s}
.nav a:hover:after,.nav a.on:after{transform:scaleX(1)}
.burger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;padding:0}
.burger span,.burger span:before,.burger span:after{display:block;width:24px;height:2px;background:#000;position:relative;content:"";margin:0 auto}
.burger span:before{position:absolute;top:-7px;left:0}.burger span:after{position:absolute;top:7px;left:0}
/* título de página */
.ptitle{background:#f6f6f6;border-bottom:1px solid #eee;padding:0}
.ptitle .wrap{min-height:116px;display:flex;align-items:center}
.ptitle h1{margin:0;font-size:20px;letter-spacing:10px;text-transform:uppercase;font-weight:600;color:var(--dark)}
.ptitle small{display:block;font-size:12px;letter-spacing:2px;color:#999;margin-top:4px;font-weight:400}
.content{padding-top:44px}.content.home{padding-top:0}
/* filas y columnas (equivalentes a Visual Composer) */
.vrow{position:relative}.vrow:not([style]){margin-bottom:26px}
.vinner{position:relative}
.cols{display:flex;flex-wrap:wrap;margin:0 -15px}
.col{padding:0 15px;width:100%;min-width:0}
.w-1-2{width:50%}.w-1-3{width:33.3333%}.w-2-3{width:66.6666%}.w-1-4{width:25%}.w-3-4{width:75%}.w-1-6{width:16.6666%}.w-5-6{width:83.3333%}
.txt h3,.txt h2{margin-top:0;margin-bottom:16px}.txt p:last-child{margin-bottom:0}
.txt ul{margin:0 0 16px;padding-left:22px}
.sep{height:0;clear:both}
.fig{margin:0}.fig img{display:block;margin:0 auto}
.fig.al-left img{margin-left:0}.fig.al-right img{margin-right:0}
.shadow3d img{filter:drop-shadow(0 12px 14px rgba(0,0,0,.32))}
.fig a{display:block}.fig a:hover img{opacity:.92}
.tsep{display:flex;align-items:center;text-align:center;margin:0 0 26px}
.tsep:before,.tsep:after{content:"";flex:1;border-top:1px solid #d7d7d7}
.tsep span{padding:0 26px;font-size:20px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--dark)}
.tsep.h4 span{font-size:17px;font-weight:500;letter-spacing:1px;text-transform:none}
.itext{display:flex;gap:16px;align-items:flex-start}
.itext .ic{flex:0 0 auto;color:#000}.itext .ic svg{display:block}
.itext h5,.itext h6{margin:0 0 4px}
.itext p{margin:0}
.qbtn{display:inline-block;padding:0 38px;line-height:50px;background:#000;border:2px solid #000;color:#fff;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;transition:.25s}
.qbtn:hover{background:transparent;color:#000}
/* galerías */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0}
.gal a,.masonry a{display:block;background:#f3f3f3;overflow:hidden}
.gal img,.masonry img{display:block;width:100%;transition:transform .35s,opacity .25s}
.gal a:hover img,.masonry a:hover img{transform:scale(1.03);opacity:.93}
.masonry{column-count:3;column-gap:16px;margin:0 0 40px}
.masonry a{break-inside:avoid;margin-bottom:16px}
.intro{max-width:760px;margin:0 0 34px;font-size:16px}
/* slider de portada */
.slider{position:relative;overflow:hidden;background:#222;aspect-ratio:1151/549}
.slider .sl{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}
.slider .sl.on{opacity:1}.slider .sl img{width:100%;height:100%;object-fit:cover;display:block}
.slider .dots{position:absolute;left:0;right:0;bottom:18px;text-align:center;line-height:0}
.slider .dots button{width:10px;height:10px;border-radius:50%;border:2px solid #fff;background:transparent;margin:0 5px;padding:0;cursor:pointer;opacity:.85}
.slider .dots button.on{background:#fff}
.slider .arr{position:absolute;top:50%;margin-top:-26px;width:52px;height:52px;border:0;background:rgba(0,0,0,.28);color:#fff;font-size:26px;cursor:pointer;opacity:0;transition:opacity .25s}
.slider:hover .arr{opacity:1}.slider .arr.p{left:0}.slider .arr.n{right:0}
/* mapa y formulario */
.map{margin-bottom:30px;position:relative;background:#eee;min-height:340px;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map p{margin:0 0 14px;font-size:14px;max-width:520px}
.map button{cursor:pointer;font-family:inherit}
.form{max-width:760px}
.form label{display:block;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;color:var(--dark);margin:0 0 5px}
.form .f{margin:0 0 18px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form textarea{width:100%;padding:13px 14px;border:1px solid #d9d9d9;background:#fff;font:inherit;color:var(--txt);border-radius:0;transition:border-color .2s}
.form input:focus,.form textarea:focus{outline:0;border-color:#000}
.form textarea{min-height:150px;resize:vertical}
.form .chk{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:20px}.form .chk input{margin-top:2px}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form button{cursor:pointer;font-family:inherit;border:2px solid #000}
.msg{padding:14px 18px;margin:0 0 20px;border:1px solid;font-size:14px}.msg.ok{border-color:#9bc59d;background:#f0f8f0;color:#2f6b34}.msg.ko{border-color:#e0a4a4;background:#fbf0f0;color:#8a2c2c}
/* entradas y textos legales */
.post{max-width:800px;padding-bottom:30px}.post .fecha{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#999;margin:0 0 20px}
.post img{height:auto}.legal{max-width:860px;padding-bottom:30px}.legal h2,.legal h3{margin-top:28px}
/* pie */
.ft-top{background:#262626;color:#bdbdbd;text-align:center;padding:60px 24px;margin-top:70px}
.ft-top p{max-width:640px;margin:0 auto 20px}
.ft-top .soc{display:inline-flex;width:48px;height:48px;border:1px solid #555;border-radius:50%;align-items:center;justify-content:center;color:#fff;transition:.25s}
.ft-top .soc:hover{background:#fff;color:#000}
.ft-bot{background:#1c1c1c;color:#8d8d8d;text-align:center;font-size:12px;letter-spacing:1px;padding:18px 24px}
.ft-bot a{color:#bdbdbd;margin-left:14px}.ft-bot a:hover{color:#fff}
.totop{position:fixed;right:20px;bottom:20px;width:42px;height:42px;background:#000;color:#fff;border:0;opacity:0;pointer-events:none;transition:opacity .3s;cursor:pointer;font-size:18px;z-index:40}.totop.on{opacity:.8;pointer-events:auto}
/* visor de imágenes */
.lb{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:200;display:none;align-items:center;justify-content:center}
.lb.on{display:flex}.lb img{max-width:92vw;max-height:88vh;display:block;box-shadow:0 0 40px rgba(0,0,0,.6)}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:34px;cursor:pointer;padding:14px 18px;opacity:.8}.lb button:hover{opacity:1}
.lb .x{top:6px;right:10px}.lb .p{left:6px;top:50%;margin-top:-30px}.lb .n{right:6px;top:50%;margin-top:-30px}
.lb .c{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#bbb;font-size:12px;letter-spacing:2px}
/* adaptación a móvil */
@media (max-width:1000px){
 .burger{display:block}
 .nav{position:absolute;left:0;right:0;top:90px;height:auto;background:#fff;flex-direction:column;align-items:stretch;border-bottom:1px solid #eee;display:none;box-shadow:0 12px 20px rgba(0,0,0,.08)}
 .nav.on{display:flex}.nav a{height:50px;line-height:50px;padding:0 24px;border-top:1px solid #f1f1f1}.nav a:after{display:none}.nav a.on{background:#f7f7f7}
 .masonry{column-count:2}.gal{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
 .w-1-2,.w-1-3,.w-2-3,.w-1-4,.w-3-4,.w-1-6,.w-5-6{width:100%}
 .logo img{height:56px}.ptitle h1{font-size:16px;letter-spacing:6px}.slider{aspect-ratio:16/10}
 .masonry{column-count:1}.gal{grid-template-columns:1fr 1fr;gap:10px}.col{margin-bottom:6px}
 .itext{margin-bottom:6px}
}
@media print{.hd,.ft-top,.totop,.slider .dots{display:none}.wrapper{box-shadow:none}}
