
:root{
  --ink:#080706;
  --black:#050505;
  --coal:#0e0d0c;
  --cream:#f5efe5;
  --cream-2:#ece2d3;
  --gold:#c99a47;
  --gold-light:#e3bf74;
  --gold-deep:#8b6125;
  --text:#f6f1e9;
  --muted:#b8b0a5;
  --line:rgba(226,190,116,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--text);font-family:'Montserrat',sans-serif;overflow-x:hidden}
img{max-width:100%;display:block}
button,a{transition:.25s ease}
h1,h2,h3{font-family:'Cormorant Garamond',serif}
.section-pad{padding:96px 0}
.eyebrow{display:inline-block;color:var(--gold-light);font-size:.72rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.eyebrow.dark{color:#8a6833}
.section-title{font-size:clamp(2.7rem,4.5vw,4.9rem);line-height:.94;margin:.55rem 0 1.2rem}
.section-title.dark{color:#1b1711}
.lead-soft{color:#d5cec4;font-size:1.05rem;line-height:1.8}
.text-soft{color:#bcb4a9;line-height:1.75}
.section-head{max-width:820px;margin-bottom:44px}
.section-head.centered{text-align:center;margin-left:auto;margin-right:auto}
.section-head.centered p{color:#62594d;max-width:740px;margin:0 auto}

.navbar{background:rgba(4,4,4,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06);min-height:72px}
.navbar-brand img{height:50px;width:auto}
.nav-link{color:#e7e0d5!important;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.6rem .85rem!important}
.nav-link:hover{color:var(--gold-light)!important}
.btn-gold{background:linear-gradient(135deg,#efd18c,#bb8531);border:1px solid #dfb760;color:#10100f;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.86rem 1.25rem;border-radius:6px;box-shadow:0 14px 35px rgba(130,87,26,.18)}
.btn-gold:hover{color:#10100f;filter:brightness(1.05);transform:translateY(-1px)}
.btn-outline-gold{border:1px solid var(--gold);color:var(--gold-light);background:rgba(0,0,0,.16);text-transform:uppercase;letter-spacing:.08em;padding:.82rem 1.2rem;border-radius:6px;font-weight:700}
.btn-outline-gold:hover{background:var(--gold);color:#111}

.hero-premium{
  min-height:720px;
  height:calc(100vh - 72px);
  max-height:900px;
  position:relative;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.82) 26%,rgba(0,0,0,.52) 42%,rgba(0,0,0,.14) 64%,rgba(0,0,0,.03) 100%),
    linear-gradient(0deg,rgba(0,0,0,.55),transparent 42%),
    url("../img/hero.webp") center 47%/cover no-repeat;
  overflow:hidden;
}
.hero-premium::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 42%,rgba(213,162,69,.08),transparent 33%);pointer-events:none}
.hero-container{position:relative;z-index:2}
.hero-copy{max-width:650px;padding-top:70px}
.hero-kicker{color:#ddb765;font-size:.76rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;margin-bottom:22px}
.hero-title{font-size:clamp(4.4rem,6.2vw,7rem);line-height:.86;letter-spacing:-.035em;margin:0}
.hero-title span{display:block;color:#f6f1e8;font-weight:500}
.hero-title strong{display:block;color:#e0b45c;font-weight:500}
.hero-description{max-width:560px;color:#f1ece4;font-size:1rem;line-height:1.7;margin:28px 0}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-location{margin-top:28px;display:flex;align-items:center;gap:10px;color:#d4c4aa;font-size:.78rem;letter-spacing:.04em}
.gold-dot{width:7px;height:7px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 14px var(--gold)}
.hero-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3}
.hero-dots span{width:7px;height:7px;border-radius:50%;border:1px solid #e1c17f}
.hero-dots .active{background:#e1c17f}

.stats{background:#060606;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.stat{padding:26px 18px;border-right:1px solid rgba(255,255,255,.06)}
.stat:last-child{border-right:0}
.stat strong{display:block;color:var(--gold-light);font-family:'Cormorant Garamond',serif;font-size:2rem}
.stat span{color:#8f8980;font-size:.78rem}

.about-section{background:linear-gradient(180deg,#0a0908,#070707)}
.image-frame{position:relative;border-radius:6px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.34)}
.image-frame img{width:100%;min-height:560px;object-fit:cover}
.image-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%)}
.image-frame-caption{position:absolute;z-index:2;left:24px;bottom:20px}
.image-frame-caption span{display:block;color:#d8b36b;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase}
.image-frame-caption strong{font-family:'Cormorant Garamond',serif;font-size:1.3rem}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mini-card{display:flex;gap:16px;padding:18px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));border-radius:10px}
.mini-card>span{color:#d8b36b;font-family:'Cormorant Garamond',serif;font-size:2rem;line-height:1}
.mini-card strong{display:block}
.mini-card small{display:block;color:#8f8980;margin-top:5px;line-height:1.45}

.furniture-section{background:linear-gradient(180deg,#f7f2ea,#eee4d6)}
.furniture-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.furniture-item{text-align:center;padding:20px 12px}
.furniture-icon{height:82px;display:grid;place-items:center;font-family:'Cormorant Garamond',serif;font-size:4rem;color:#ae8240}
.furniture-item h3{font-family:'Montserrat',sans-serif;color:#24201a;font-size:.95rem;font-weight:800;margin:.25rem 0 .4rem}
.furniture-item p{color:#6f6558;font-size:.72rem;line-height:1.5;margin:0}

.events-section{background:#070707}
.event-card{height:460px;position:relative;overflow:hidden;border-radius:8px;border:1px solid rgba(201,154,71,.44)}
.event-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.45s ease}
.event-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.94),rgba(0,0,0,.1) 68%)}
.event-card:hover img{transform:none}
.event-overlay{position:absolute;z-index:2;left:24px;right:24px;bottom:24px}
.event-overlay span{color:#d5ad5b;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase}
.event-overlay h3{font-size:2.2rem;margin:.35rem 0}
.event-overlay p{color:#c1bab1;font-size:.83rem;line-height:1.55;margin:0}

.process-section{background:linear-gradient(180deg,#0c0b0a,#080808)}
.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.process-card{position:relative;padding:28px 26px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012));min-height:210px}
.process-num{display:block;color:rgba(226,190,116,.35);font-family:'Cormorant Garamond',serif;font-size:3.2rem;line-height:1}
.process-card h3{font-size:1.75rem;margin:.55rem 0}
.process-card p{color:#9d968d;font-size:.82rem;line-height:1.6;margin:0}

.gallery-section{background:#050505}
.gallery-mosaic{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:230px;gap:14px}
.gallery-item{border:0;padding:0;overflow:hidden;background:#111;border-radius:7px;cursor:pointer}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.gallery-item:hover img{transform:none}
.gallery-item.tall{grid-row:span 2}
.gallery-item.wide{grid-column:span 2}

.quote-panel{
  background:
    linear-gradient(90deg,rgba(6,6,6,.97),rgba(6,6,6,.83)),
    url("../img/banner.webp") center/cover no-repeat;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.contact-highlight span{display:block;color:#8f8980;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em}
.contact-highlight strong{display:block;color:var(--gold-light);font-family:'Cormorant Garamond',serif;font-size:2rem;margin-top:4px}
.quote-form{padding:34px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(12,12,12,.84);backdrop-filter:blur(8px);box-shadow:0 28px 65px rgba(0,0,0,.28)}
.form-label{font-size:.72rem;color:#d5cfc6}
.form-control,.form-select{background:#111!important;border:1px solid rgba(255,255,255,.12)!important;color:#f4efe7!important;min-height:52px;border-radius:6px}
.form-control::placeholder{color:#74716d}
.form-control:focus,.form-select:focus{border-color:var(--gold)!important;box-shadow:0 0 0 .2rem rgba(199,154,71,.12)!important}
.form-select option{color:#111}

.footer{background:#050505;padding:52px 0 24px}
.footer-top{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:30px}
.footer-logo{max-width:230px}
.footer p{margin:.45rem 0 .15rem;color:#d3cdc4}
.footer small{color:#8d8780}
.footer-bottom{margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:20px;color:#746f68;font-size:.7rem}
.floating-wa{position:fixed;right:20px;bottom:20px;z-index:1050;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;text-decoration:none;font-weight:800;box-shadow:0 12px 32px rgba(0,0,0,.35)}
.modal-content{background:#0b0b0b;border:1px solid rgba(255,255,255,.1)}
.modal-header{border-bottom:1px solid rgba(255,255,255,.08)}
.modal-body img{width:100%;max-height:80vh;object-fit:contain}

@media(max-width:1199px){
  .furniture-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:991px){
  .section-pad{padding:74px 0}
  .navbar-brand img{height:42px}
  .hero-premium{height:auto;min-height:700px;padding:120px 0 80px;background-position:58% center}
  .hero-copy{padding-top:0}
  .hero-title{font-size:clamp(3.8rem,9vw,5.7rem)}
  .image-frame img{min-height:430px}
  .process-grid{margin-top:20px}
  .gallery-mosaic{grid-template-columns:1fr 1fr}
  .gallery-item.wide{grid-column:span 2}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-cta{grid-column:1/-1}
}
@media(max-width:767px){
  .hero-premium{
    min-height:680px;
    padding:120px 0 72px;
    background:
      linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.55)),
      linear-gradient(0deg,rgba(0,0,0,.75),transparent),
      url("../img/hero.webp") 58% center/cover no-repeat
  }
  .hero-title{font-size:3.45rem;max-width:360px}
  .hero-description{font-size:.9rem;max-width:355px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-actions .btn{width:100%;max-width:330px}
  .stat{border-bottom:1px solid rgba(255,255,255,.06)}
  .mini-grid{grid-template-columns:1fr}
  .furniture-grid{grid-template-columns:repeat(2,1fr)}
  .event-card{height:380px}
  .process-grid{grid-template-columns:1fr}
  .gallery-mosaic{grid-template-columns:1fr;grid-auto-rows:250px}
  .gallery-item.tall,.gallery-item.wide{grid-row:auto;grid-column:auto}
  .footer-top{grid-template-columns:1fr}
  .footer-bottom{display:block}
  .footer-bottom span{display:block;margin-top:8px}
}


/* =========================================
   BOTONES DEL HERO
========================================= */

.hero-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
    flex-wrap: nowrap;
    margin-top: 28px;
}

/* Mismo estilo para ambos botones */
.btn-hero-primary,
.btn-hero-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;
    padding: 0 24px;

    background: transparent;
    border: 1px solid #d6ad42;
    border-radius: 5px;

    color: #e0bd5a;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    text-decoration: none;

    white-space: nowrap;
    cursor: pointer;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

/* Hover */
.btn-hero-primary:hover,
.btn-hero-secondary:hover {
    background: #d6ad42;
    border-color: #d6ad42;
    color: #0b0b0b;
    transform: translateY(-2px);
}

/* Al presionar */
.btn-hero-primary:active,
.btn-hero-secondary:active {
    transform: translateY(0);
}

/* Accesibilidad con teclado */
.btn-hero-primary:focus-visible,
.btn-hero-secondary:focus-visible {
    outline: 2px solid #e0bd5a;
    outline-offset: 3px;
}


/* =========================================
   RESPONSIVE
   Mantiene ambos botones en la misma línea
========================================= */

@media (max-width: 576px) {

    .hero-buttons {
        gap: 10px;
        width: 100%;
    }

    .btn-hero-primary,
    .btn-hero-secondary {
        flex: 1 1 0;
        min-width: 0;
        padding: 0 12px;
        font-size: 10px;
        letter-spacing: 0.4px;
    }
}

/* =========================================
   BOTÓN COTIZAR DEL NAVBAR
   Sobrescribe únicamente su apariencia
========================================= */

.navbar .btn-gold {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;
    padding: 0 24px;

    /* Estilo igual a los botones del hero */
    background: transparent !important;
    border: 1px solid #d6ad42 !important;
    border-radius: 5px;

    color: #e0bd5a !important;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    text-decoration: none;

    white-space: nowrap;

    box-shadow: none !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}


/* HOVER */
.navbar .btn-gold:hover,
.navbar .btn-gold:focus {
    background: #d6ad42 !important;
    border-color: #d6ad42 !important;
    color: #0b0b0b !important;

    transform: translateY(-2px);
    box-shadow: none !important;
}


/* AL HACER CLIC */
.navbar .btn-gold:active {
    background: #d6ad42 !important;
    border-color: #d6ad42 !important;
    color: #0b0b0b !important;

    transform: translateY(0);
}


/* QUITAR EFECTOS DE BOOTSTRAP */
.navbar .btn-gold:focus-visible {
    outline: 2px solid #e0bd5a;
    outline-offset: 3px;
    box-shadow: none !important;
}

/* =========================================
   BOTÓN COTIZAR POR WHATSAPP
   Mismo estilo premium de los otros botones
========================================= */

.btn-whatsapp-cotizar {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;
    padding: 0 28px;

    /* Sobrescribe el dorado relleno actual */
    background: transparent !important;
    background-image: none !important;

    border: 1px solid #d6ad42 !important;
    border-radius: 5px;

    color: #e0bd5a !important;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    text-decoration: none;

    box-shadow: none !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}


/* HOVER */
.btn-whatsapp-cotizar:hover,
.btn-whatsapp-cotizar:focus {
    background: #d6ad42 !important;
    background-image: none !important;

    border-color: #d6ad42 !important;
    color: #0b0b0b !important;

    transform: translateY(-2px);
    box-shadow: none !important;
}


/* AL PRESIONAR */
.btn-whatsapp-cotizar:active {
    background: #d6ad42 !important;
    border-color: #d6ad42 !important;
    color: #0b0b0b !important;

    transform: translateY(0);
}


/* ACCESIBILIDAD */
.btn-whatsapp-cotizar:focus-visible {
    outline: 2px solid #e0bd5a;
    outline-offset: 3px;
    box-shadow: none !important;
}

/* ==========================================================
   FOOTER PREMIUM — MOBILIARIA AGUIRRE
   PEGAR AL FINAL DEL CSS ACTUAL
   No es necesario borrar los estilos anteriores
========================================================== */

.footer {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(198, 151, 54, 0.055),
            transparent 35%
        ),
        #080808;

    border-top: 1px solid rgba(210, 168, 75, 0.22);

    padding: 70px 0 0;

    color: #f3f0e9;
}


/* Línea dorada muy sutil superior */
.footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;

    width: 150px;
    height: 1px;

    transform: translateX(-50%);

    background: linear-gradient(
        90deg,
        transparent,
        #d6ad42,
        transparent
    );
}


/* ==========================================================
   ESTRUCTURA PRINCIPAL
========================================================== */

.footer .footer-top {
    display: grid !important;

    grid-template-columns:
        minmax(210px, 0.8fr)
        minmax(400px, 1.5fr)
        minmax(210px, 0.8fr);

    align-items: center;

    gap: 70px;

    padding-bottom: 60px;
}


/* ==========================================================
   LOGO
========================================================== */

.footer .footer-brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}


.footer .footer-logo {
    display: block;

    width: 100%;
    max-width: 220px;
    height: auto;

    object-fit: contain;

    opacity: 0.96;

    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}


.footer .footer-logo:hover {
    opacity: 1;
    transform: translateY(-2px);
}


/* ==========================================================
   COBERTURA
========================================================== */

.footer .footer-location {
    width: 100%;
}


.footer .footer-location .eyebrow {
    display: block;

    margin-bottom: 10px;

    color: #d6ad42;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 3px;
    text-transform: uppercase;
}


.footer .footer-location > p {
    margin: 0 0 3px;

    color: #f5f2eb;

    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
}


.footer .footer-location > small {
    display: block;

    margin-bottom: 18px;

    color: rgba(255, 255, 255, 0.50);

    font-size: 13px;
    line-height: 1.5;
}


/* ==========================================================
   MAPA
========================================================== */

.footer .footer-map {
    position: relative;

    width: 100%;

    overflow: hidden;

    border: 1px solid rgba(214, 173, 66, 0.25);
    border-radius: 7px;

    background: #0d0d0d;

    transition:
        border-color 0.3s ease,
        transform 0.3s ease;
}


.footer .footer-map:hover {
    border-color: rgba(214, 173, 66, 0.55);
}


.footer .footer-map iframe {
    display: block;

    width: 100% !important;
    height: 190px !important;

    border: 0 !important;

    filter:
        grayscale(20%)
        contrast(1.04)
        brightness(0.88);

    transition: filter 0.3s ease;
}


.footer .footer-map:hover iframe {
    filter:
        grayscale(0%)
        contrast(1)
        brightness(1);
}


/* ==========================================================
   CÓMO LLEGAR
========================================================== */

.footer .map-directions {
    display: flex;
    align-items: center;

    gap: 12px;

    width: 100%;

    padding: 14px 16px;

    background: #0d0d0d;

    color: #e0bd5a !important;

    text-decoration: none !important;

    border-top: 1px solid rgba(255, 255, 255, 0.07);

    transition:
        background-color 0.25s ease,
        color 0.25s ease;
}


.footer .map-directions > .bi-geo-alt-fill {
    flex: 0 0 auto;

    color: #d6ad42;

    font-size: 18px;
}


.footer .map-directions span {
    display: flex;
    flex: 1;
    flex-direction: column;

    min-width: 0;
}


.footer .map-directions strong {
    color: #e7c465;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.7px;
    text-transform: uppercase;
}


.footer .map-directions small {
    margin-top: 2px;

    color: rgba(255, 255, 255, 0.42);

    font-size: 10px;
}


.footer .map-directions > .bi-arrow-up-right {
    color: rgba(255, 255, 255, 0.40);

    font-size: 13px;

    transition: transform 0.25s ease;
}


.footer .map-directions:hover {
    background: #121212;

    color: #f0cf75 !important;
}


.footer .map-directions:hover > .bi-arrow-up-right {
    transform: translate(2px, -2px);
}


/* ==========================================================
   CONTACTO
========================================================== */

.footer .footer-contact {
    display: flex !important;

    flex-direction: column;
    align-items: flex-start;
    justify-content: center;

    padding-left: 10px;
}


/* BOTÓN CONTACTAR */

.footer .footer-contact-btn {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    min-width: 155px;
    min-height: 48px;

    padding: 0 25px !important;

    background: transparent !important;
    background-image: none !important;

    border: 1px solid #d6ad42 !important;
    border-radius: 5px !important;

    color: #e0bd5a !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    letter-spacing: 0.8px;
    text-transform: uppercase;

    text-decoration: none !important;

    box-shadow: none !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


.footer .footer-contact-btn:hover {
    background: #d6ad42 !important;

    color: #090909 !important;

    transform: translateY(-2px);

    box-shadow: none !important;
}


/* ==========================================================
   REDES SOCIALES
========================================================== */

.footer .footer-social {
    display: flex !important;

    align-items: center;

    gap: 9px;

    margin-top: 24px;
}


.footer .footer-social a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border: 1px solid rgba(214, 173, 66, 0.30);
    border-radius: 50%;

    background: transparent;

    color: #d6ad42 !important;

    font-size: 14px;

    text-decoration: none !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}


.footer .footer-social a:hover {
    background: #d6ad42;

    border-color: #d6ad42;

    color: #090909 !important;

    transform: translateY(-3px);
}


.footer .footer-follow {
    display: block;

    margin-top: 12px;

    color: rgba(255, 255, 255, 0.48);

    font-size: 11px;

    letter-spacing: 1px;
    text-transform: uppercase;
}


/* ==========================================================
   PARTE INFERIOR
========================================================== */

.footer .footer-bottom {
    display: flex !important;

    align-items: center;
    justify-content: space-between;

    gap: 30px;

    min-height: 64px;

    padding: 20px 0;

    border-top: 1px solid rgba(255, 255, 255, 0.08);

    color: rgba(255, 255, 255, 0.34);

    font-size: 11px;
    line-height: 1.5;
}


.footer .footer-bottom span:last-child {
    text-align: right;

    color: rgba(214, 173, 66, 0.45);
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 991.98px) {

    .footer {
        padding-top: 55px;
    }

    .footer .footer-top {
        grid-template-columns: 1fr 1.5fr !important;

        gap: 45px;
    }

    .footer .footer-brand {
        align-items: flex-start;
    }

    .footer .footer-logo {
        max-width: 190px;
    }

    .footer .footer-contact {
        grid-column: 1 / -1;

        flex-direction: row;
        align-items: center;
        justify-content: space-between;

        padding: 25px 0 0;

        border-top: 1px solid rgba(255, 255, 255, 0.07);
    }

    .footer .footer-social {
        margin-top: 0;
        margin-left: auto;
    }

    .footer .footer-follow {
        margin: 0 0 0 15px;
    }
}


/* ==========================================================
   MÓVIL
========================================================== */

@media (max-width: 767.98px) {

    .footer {
        padding-top: 45px;
    }

    .footer .footer-top {
        display: flex !important;

        flex-direction: column;

        align-items: stretch;

        gap: 38px;

        padding-bottom: 40px;
    }


    /* Logo centrado */

    .footer .footer-brand {
        justify-content: center;
    }

    .footer .footer-logo {
        max-width: 180px;
    }


    /* Cobertura */

    .footer .footer-location {
        text-align: center;
    }

    .footer .footer-map {
        margin-top: 18px;

        text-align: left;
    }

    .footer .footer-map iframe {
        height: 180px !important;
    }


    /* Contacto */

    .footer .footer-contact {
        display: flex !important;

        flex-direction: column;

        align-items: center;

        padding: 30px 0 0;

        border-top: 1px solid rgba(255, 255, 255, 0.07);
    }

    .footer .footer-contact-btn {
        width: 100%;

        max-width: 320px;
    }

    .footer .footer-social {
        margin: 22px 0 0;
    }

    .footer .footer-follow {
        margin: 12px 0 0;
    }


    /* Copyright */

    .footer .footer-bottom {
        flex-direction: column;

        justify-content: center;

        gap: 6px;

        padding: 20px 0;

        text-align: center;
    }

    .footer .footer-bottom span:last-child {
        text-align: center;
    }
}


/* ==========================================================
   PANTALLAS MUY PEQUEÑAS
========================================================== */

@media (max-width: 420px) {

    .footer .footer-map iframe {
        height: 165px !important;
    }

    .footer .footer-location > p {
        font-size: 15px;
    }

    .footer .map-directions {
        padding: 13px;
    }
}

/* =========================================
   FONDO CARBÓN PREMIUM
   Inspirado en la referencia
========================================= */

.footer {
    background:
        radial-gradient(
            ellipse at 62% 35%,
            rgba(58, 61, 66, 0.32) 0%,
            rgba(35, 38, 42, 0.22) 30%,
            transparent 65%
        ),

        linear-gradient(
            110deg,
            #050607 0%,
            #0b0d10 35%,
            #111318 65%,
            #090b0e 100%
        ) !important;

    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.footer::after {
    content: "";
    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 70% 25%,
            rgba(255,255,255,0.025),
            transparent 35%
        );

    opacity: 0.7;
}

/* =========================================
   CRÉDITO DISEÑO WEB
========================================= */

.footer .footer-designer {
  font-family: "Montserrat", sans-serif;
  font-size: 0.56rem;
  font-weight: 400;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.32);
  white-space: nowrap;
}

.footer .footer-designer a,
.footer .footer-designer a:visited {
  margin-left: 3px;

  color: rgba(229, 197, 126, 0.65) !important;

  font-weight: 500;
  letter-spacing: 0.12em;

  text-decoration: none !important;

  transition:
    color 0.25s ease,
    opacity 0.25s ease;
}

.footer .footer-designer a:hover {
  color: #e5c57e !important;
}


/* MÓVIL */

@media (max-width: 767px) {

  .footer .footer-designer {
    margin-top: 2px;
    font-size: 0.52rem;
    white-space: normal;
  }

}

/* =========================================
   SELECTS
========================================= */

.quote-form .form-select {
  background-color: #111 !important;
  color: #f5f0e7 !important;

  border-color:
    rgba(199, 154, 71, .5) !important;
}

.quote-form .form-select option {
  background: #111 !important;
  color: #f5f0e7 !important;
}

.quote-form .form-select:focus {
  border-color: #e5c57e !important;

  box-shadow:
    0 0 0 .2rem rgba(199,154,71,.10) !important;
}


/* =========================================
   MOBILIARIO — SELECCIÓN MÚLTIPLE
========================================= */

.form-help {
  margin: -3px 0 12px;

  color: #777169;

  font-size: .72rem;
}


.mobiliario-options {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 10px;
}


.mobiliario-option {
  position: relative;

  display: flex;

  align-items: center;
  justify-content: center;

  min-height: 48px;

  padding: 10px 12px;

  border:
    1px solid rgba(199,154,71,.28);

  border-radius: 5px;

  background:
    rgba(255,255,255,.018);

  color: #aaa49b;

  font-family:
    "Montserrat",
    sans-serif;

  font-size: .71rem;

  text-align: center;

  cursor: pointer;

  transition:
    background .2s ease,
    border-color .2s ease,
    color .2s ease,
    transform .2s ease;
}


.mobiliario-option input {
  position: absolute;

  opacity: 0;

  pointer-events: none;
}


.mobiliario-option:hover {
  border-color:
    rgba(229,197,126,.75);

  color: #f5f0e7;

  transform: translateY(-1px);
}


/* SELECCIONADO */

.mobiliario-option:has(input:checked) {
  border-color:
    #e5c57e;

  background:
    linear-gradient(
      135deg,
      rgba(229,197,126,.16),
      rgba(199,154,71,.06)
    );

  color:
    #e5c57e;

  box-shadow:
    inset 0 0 0 1px
    rgba(229,197,126,.05);
}


.mobiliario-option:has(input:checked)::before {
  content: "✓";

  margin-right: 6px;

  color: #e5c57e;

  font-weight: 700;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 767px) {

  .mobiliario-options {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

}


@media (max-width: 480px) {

  .mobiliario-options {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .mobiliario-option {
    min-height: 46px;

    padding: 9px 7px;

    font-size: .66rem;
  }

}@media(max-width:575px){.container{padding-left:24px;padding-right:24px}}
