
/* =========================================================
   MIQUEL INMOBILIARIA · PORTADA V3
   Identidad piedra / arquitectura mediterránea.
   Sólo sobreescribe presentación. PHP intacto.
   ========================================================= */
:root{
    --miquel-paper:#f4f0e8;
    --miquel-stone:#e8e1d6;
    --miquel-stone-2:#d8d0c4;
    --miquel-line:#b9b0a3;
    --miquel-ink:#444542;
    --miquel-ink-soft:#686a66;
    --miquel-dark:#2f302e;
    --miquel-footer:#cfc5b7;
}

html,body{
    background:var(--miquel-paper)!important;
    color:var(--miquel-ink)!important;
    font-family:"Jost","Avenir Next","Century Gothic",Arial,sans-serif!important;
    font-weight:300!important;
    letter-spacing:.015em;
}

body:before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-1;
    background:
      radial-gradient(circle at 20% 10%, rgba(255,255,255,.75), transparent 35%),
      linear-gradient(135deg, rgba(115,100,80,.05), rgba(255,255,255,.12));
}

/* Header */
.site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:9999!important;
    background:rgba(244,240,232,.90)!important;
    border-bottom:1px solid rgba(70,70,65,.16)!important;
    box-shadow:none!important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.site-header.is-scrolled{
    background:rgba(244,240,232,.97)!important;
    box-shadow:0 16px 45px rgba(60,55,45,.08)!important;
}
.miquel-header-inner{
    min-height:116px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px clamp(26px,4vw,74px);
    gap:34px;
}
.miquel-brand{
    display:block!important;
    width:clamp(250px,23vw,390px)!important;
    min-width:250px!important;
    line-height:0!important;
}
.miquel-brand img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    image-rendering:auto!important;
}
.miquel-menu{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:clamp(18px,2.2vw,42px);
    flex:1 1 auto;
}
.miquel-menu a,
.miquel-lang a{
    position:relative;
    color:var(--miquel-ink)!important;
    text-decoration:none!important;
    text-transform:uppercase;
    letter-spacing:.20em;
    font-size:12px!important;
    font-weight:400!important;
    line-height:1.2;
}
.miquel-menu a:after{
    content:"";
    position:absolute;
    left:0;
    right:.20em;
    bottom:-10px;
    height:1px;
    background:var(--miquel-ink);
    transform:scaleX(0);
    transform-origin:left;
    transition:.25s ease;
    opacity:.7;
}
.miquel-menu a:hover:after,
.miquel-menu a.active:after{ transform:scaleX(1); }
.miquel-lang{
    display:flex!important;
    gap:16px;
    align-items:center;
}
.miquel-lang a{font-size:11px!important; letter-spacing:.16em;}
.miquel-mobile-toggle{
    border:0!important;
    background:transparent!important;
    width:46px;
    height:40px;
    padding:0!important;
}
.miquel-mobile-toggle span{
    display:block;
    height:1px;
    background:var(--miquel-ink);
    margin:8px 0;
}

/* Hide legacy header/nav leftovers if any */
.navbar-mup,.miquel-nav,.header-inner,.nav-lang{background:transparent!important;border:0!important;box-shadow:none!important;}

/* Hero / Slider */
.main-slider,
.bx-wrapper,
.bx-viewport{
    margin:0!important;
    border:0!important;
    box-shadow:none!important;
}
.bx-wrapper{
    padding-top:0!important;
}
.bx-wrapper img,
.main-slider img,
.slider img{
    width:100%!important;
    min-height:78vh!important;
    object-fit:cover!important;
    filter:saturate(.72) contrast(.98) brightness(.86)!important;
}
.bx-wrapper:after,
.main-slider:after,
.slider:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(180deg, rgba(244,240,232,.72) 0%, rgba(244,240,232,.10) 30%, rgba(48,48,44,.42) 100%),
      linear-gradient(90deg, rgba(30,30,28,.18), transparent 36%, rgba(30,30,28,.16));
    z-index:1;
}
.bx-wrapper .bx-controls-direction a{
    opacity:.45!important;
}

/* Hero logo: use crisp transparent image and no overscaling */
.logo-home,
.logo-slider,
.home-logo,
.slider-logo,
.hero-logo,
img[src*="logo-miquel"],
img[src*="logo21"]{
    image-rendering:auto!important;
}
.logo-home img,
.logo-slider img,
.home-logo img,
.slider-logo img,
.hero-logo img{
    max-width:min(620px,48vw)!important;
    width:min(620px,48vw)!important;
    height:auto!important;
    filter:none!important;
}

/* Common old title blocks */
h1,h2,h3,h4,h5,
.title, .heading, .section-title{
    font-family:"Jost","Avenir Next","Century Gothic",Arial,sans-serif!important;
    color:var(--miquel-ink)!important;
    font-weight:300!important;
    letter-spacing:.18em!important;
    text-transform:uppercase;
}
h1{font-size:clamp(34px,5vw,72px)!important;}
h2{font-size:clamp(25px,3vw,42px)!important;}
h3{font-size:clamp(18px,2vw,25px)!important;}

/* Hero overlay/intro text if present */
.caption,
.carousel-caption,
.slider-caption,
.text-slider{
    z-index:3!important;
    color:#fff!important;
    text-shadow:none!important;
}
.caption h1,
.carousel-caption h1,
.slider-caption h1,
.text-slider h1{
    color:#fff!important;
    letter-spacing:.22em!important;
    font-weight:200!important;
}
.caption p,
.carousel-caption p,
.slider-caption p,
.text-slider p{
    color:rgba(255,255,255,.88)!important;
    letter-spacing:.12em!important;
    text-transform:uppercase;
}

/* Search box / forms */
.buscador,
.search,
.search-home,
.form-buscador,
#buscador,
form[action*="propiedades"],
.form-horizontal,
.filter,
.filters{
    background:rgba(244,240,232,.94)!important;
    border:1px solid rgba(68,69,66,.18)!important;
    box-shadow:0 24px 80px rgba(50,46,38,.12)!important;
    border-radius:0!important;
}
select,
input[type="text"],
input[type="search"],
input[type="number"],
input[type="email"],
textarea,
.form-control{
    background:rgba(255,255,255,.38)!important;
    border:0!important;
    border-bottom:1px solid rgba(68,69,66,.30)!important;
    box-shadow:none!important;
    border-radius:0!important;
    color:var(--miquel-ink)!important;
    font-family:"Jost",Arial,sans-serif!important;
    font-size:14px!important;
    font-weight:300!important;
    letter-spacing:.06em!important;
    min-height:48px!important;
}
select:focus,
input:focus,
textarea:focus,
.form-control:focus{
    border-color:var(--miquel-ink)!important;
    box-shadow:none!important;
    outline:none!important;
}
button,
.btn,
input[type="submit"],
a.btn{
    border-radius:0!important;
    border:1px solid var(--miquel-ink)!important;
    background:var(--miquel-ink)!important;
    color:#fff!important;
    text-transform:uppercase!important;
    letter-spacing:.18em!important;
    font-size:12px!important;
    font-weight:400!important;
    padding:14px 24px!important;
    transition:all .25s ease!important;
}
button:hover,
.btn:hover,
input[type="submit"]:hover,
a.btn:hover{
    background:transparent!important;
    color:var(--miquel-ink)!important;
}

/* Sections */
.container{
    max-width:1440px!important;
}
section,
.content,
.main-content,
.home-section{
    background:transparent!important;
}
.row{
    margin-left:-18px!important;
    margin-right:-18px!important;
}
[class*="col-"]{
    padding-left:18px!important;
    padding-right:18px!important;
}

/* Property cards */
.selection,
.property,
.properties,
.grid,
.listado,
.item,
.thumbnail,
.destacado,
.box,
.caja{
    border-radius:0!important;
}
.selection figure,
figure.effect-sadie,
.property-card,
.thumbnail,
.item-propiedad,
.propiedad{
    background:#fff!important;
    border:1px solid rgba(68,69,66,.12)!important;
    box-shadow:0 20px 70px rgba(55,50,42,.08)!important;
    overflow:hidden!important;
    transition:transform .28s ease, box-shadow .28s ease!important;
}
.selection figure:hover,
figure.effect-sadie:hover,
.property-card:hover,
.thumbnail:hover,
.item-propiedad:hover,
.propiedad:hover{
    transform:translateY(-7px)!important;
    box-shadow:0 30px 90px rgba(55,50,42,.14)!important;
}
.selection figure img,
.property img,
.thumbnail img,
.item-propiedad img,
.propiedad img{
    width:100%!important;
    object-fit:cover!important;
    filter:saturate(.78) contrast(.98)!important;
    transition:transform .45s ease, filter .45s ease!important;
}
.selection figure:hover img,
.property:hover img,
.thumbnail:hover img{
    transform:scale(1.035)!important;
    filter:saturate(.86) contrast(1.02)!important;
}
.selection figure > figcaption > a,
.selection figcaption,
figure figcaption{
    background:linear-gradient(180deg, transparent 0%, rgba(35,35,32,.74) 100%)!important;
}
.selection figure > figcaption > a{
    font-size:12px!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
}

/* Info strips */
div.info{
    background:var(--miquel-dark)!important;
    color:rgba(255,255,255,.82)!important;
    font-size:12px!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
    padding:10px 8px!important;
}
div.info i{color:var(--miquel-stone-2)!important;}

/* Footer */
.miquel-footer{
    position:relative!important;
    min-height:680px!important;
    padding:130px 0 44px!important;
    background:
      radial-gradient(circle at 14% 5%, rgba(255,255,255,.22), transparent 28%),
      linear-gradient(135deg, #d7cec0 0%, #c6bcad 48%, #b7ad9f 100%)!important;
    color:var(--miquel-ink)!important;
    overflow:hidden!important;
    border-top:1px solid rgba(68,69,66,.18)!important;
}
.miquel-footer:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
      linear-gradient(0deg, rgba(70,65,56,.025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(70,65,56,.018) 1px, transparent 1px);
    background-size:80px 80px;
}
.miquel-footer-watermark{
    position:absolute;
    left:50%;
    bottom:22px;
    width:min(1600px,118vw);
    transform:translateX(-50%);
    opacity:.105;
    z-index:0;
    pointer-events:none;
}
.miquel-footer-watermark img{
    display:block;
    width:100%;
    height:auto;
}
.miquel-footer-content{
    position:relative;
    z-index:2;
}
.miquel-footer-grid{
    display:flex;
    align-items:flex-start;
}
.miquel-footer-brand img{
    width:min(430px,90%)!important;
    height:auto!important;
    margin:0 0 38px!important;
    display:block!important;
}
.miquel-footer-brand p{
    max-width:470px;
    font-size:18px!important;
    line-height:1.85!important;
    color:rgba(68,69,66,.82)!important;
}
.miquel-footer-block h4{
    font-size:13px!important;
    margin:0 0 32px!important;
    letter-spacing:.24em!important;
    color:var(--miquel-ink)!important;
}
.miquel-footer-block p,
.miquel-footer-block a,
.miquel-footer-bottom,
.miquel-footer-bottom a{
    color:rgba(68,69,66,.82)!important;
    font-size:14px!important;
    line-height:1.8!important;
    text-decoration:none!important;
    font-weight:300!important;
}
.miquel-footer-block a:hover,
.miquel-footer-bottom a:hover{
    color:#111!important;
}
.miquel-footer-lang{
    display:block;
}
.miquel-footer-lang a{
    display:inline-flex!important;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(68,69,66,.28);
    margin:0 8px 8px 0;
    letter-spacing:.12em!important;
    font-size:11px!important;
}
.miquel-footer-bottom{
    margin-top:110px;
    padding-top:28px;
    border-top:1px solid rgba(68,69,66,.22);
    display:flex;
    justify-content:space-between;
    gap:24px;
    letter-spacing:.08em;
}

/* Cookie */
.cookie-message{
    background:rgba(47,48,46,.96)!important;
    color:#fff!important;
    font-family:"Jost",Arial,sans-serif!important;
    letter-spacing:.04em;
}
.cookie-message a{
    color:#efe8dc!important;
}

/* Mobile */
@media (max-width:991px){
    .miquel-header-inner{
        min-height:96px;
        padding:14px 22px;
    }
    .miquel-brand{
        width:260px!important;
        min-width:0!important;
    }
    .bx-wrapper img,
    .main-slider img,
    .slider img{
        min-height:66vh!important;
    }
    .miquel-footer{
        min-height:620px!important;
        padding:90px 0 34px!important;
    }
    .miquel-footer-grid{
        display:block;
    }
    .miquel-footer-brand,
    .miquel-footer-block{
        margin-bottom:42px;
    }
    .miquel-footer-watermark{
        width:155vw;
        bottom:38px;
    }
    .miquel-footer-bottom{
        display:block;
        margin-top:42px;
    }
    .miquel-footer-bottom a{
        display:block;
        margin-top:14px;
    }
}
@media (max-width:520px){
    .miquel-brand{
        width:220px!important;
    }
    .miquel-header-inner{
        min-height:86px;
    }
    h1{font-size:31px!important;}
    h2{font-size:24px!important;}
    .miquel-footer-brand img{
        width:310px!important;
    }
}

/* Add top spacing only to non-slider pages if needed */
body:not(.home) main,
body:not(.home) .main{
    padding-top:110px;
}
