/* ===== allsun Hotels — estilos compartidos ===== */

:root{
    --blue:#0b4a91;
    --blue-soft:#2367b4;
    --orange:#f58b00;
    --orange-deep:#f58200;
    --ink:#24384d;
    --muted:#52677a;
    --bg:#f5f7fa;
}

*{ margin:0; padding:0; box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
    font-family:'Montserrat',sans-serif;
    background:var(--bg);
    color:var(--ink);
    overflow-x:hidden;
}

a{ color:inherit; }

/* ===== HEADER ===== */

header{
    position:fixed;
    top:0;
    width:100%;
    z-index:999;
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(12px);
    box-shadow:0 2px 15px rgba(0,0,0,0.06);
}

.nav{
    max-width:1300px;
    margin:auto;
    padding:16px 30px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.nav .brand img{ width:160px; display:block; }

.nav-links{ display:flex; gap:34px; align-items:center; }

.nav-links a{
    text-decoration:none;
    color:var(--blue);
    font-weight:600;
    transition:0.3s;
}

.nav-links a:hover{ color:var(--orange); }

.nav-links a.nav-cta{
    background:var(--orange);
    color:#fff;
    padding:10px 20px;
    border-radius:40px;
}

.nav-links a.nav-cta:hover{ color:#fff; transform:translateY(-2px); }

/* ===== BUTTONS ===== */

.btn{
    display:inline-block;
    text-decoration:none;
    padding:16px 32px;
    border-radius:40px;
    font-weight:600;
    transition:0.3s;
    cursor:pointer;
    border:none;
    font-size:1rem;
    font-family:inherit;
}

.btn-primary{ background:var(--orange); color:#fff; }

.btn-secondary{
    background:rgba(255,255,255,0.85);
    backdrop-filter:blur(10px);
    color:var(--blue);
    border:1px solid rgba(11,74,145,0.14);
}

.btn:hover{ transform:translateY(-3px); }

/* ===== FOOTER ===== */

footer{
    background:var(--orange-deep);
    color:#fff;
    padding:70px 10% 35px;
}

.footer-top{
    display:flex;
    flex-wrap:wrap;
    gap:40px;
    justify-content:space-between;
    align-items:flex-start;
}

.footer-about{ max-width:460px; }

.footer-about h2{ margin-bottom:18px; font-size:1.7rem; }

.footer-about p{ line-height:1.9; opacity:0.95; }

.footer-col h4{
    margin-bottom:16px;
    font-size:1rem;
    text-transform:uppercase;
    letter-spacing:0.04em;
    opacity:0.9;
}

.footer-col a{
    display:block;
    color:#fff;
    text-decoration:none;
    margin-bottom:12px;
    opacity:0.95;
    transition:0.25s;
}

.footer-col a:hover{ opacity:1; padding-left:4px; }

.socials{ display:flex; gap:22px; margin-top:28px; }

.socials a{ color:#fff; font-size:1.6rem; transition:0.3s; }

.socials a:hover{ transform:translateY(-3px); opacity:0.8; }

.logos{
    background:rgba(255,255,255,0.9);
    border-radius:20px;
    margin-top:55px;
    padding:32px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:35px;
    flex-wrap:wrap;
}

.logos img{ max-height:60px; }

.footer-bottom{
    display:flex;
    flex-wrap:wrap;
    gap:26px;
    margin-top:38px;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,0.35);
    align-items:center;
}

.footer-bottom a{ color:#fff; text-decoration:none; opacity:0.9; }

.footer-bottom a:hover{ opacity:1; }

.copy{ margin-top:26px; opacity:0.85; font-size:0.9rem; }

/* ===== COOKIES ===== */

.cookie-popup{
    position:fixed;
    bottom:20px;
    left:50%;
    transform:translateX(-50%);
    background:rgba(255,255,255,0.95);
    backdrop-filter:blur(10px);
    border-radius:12px;
    padding:10px 14px;
    display:flex;
    align-items:center;
    gap:14px;
    box-shadow:0 6px 18px rgba(0,0,0,0.12);
    z-index:99999;
    width:fit-content;
    min-width:320px;
    max-width:92vw;
}

.cookie-popup p{ margin:0; line-height:1.3; font-size:12px; color:#4d6074; }

.cookie-buttons{ display:flex; gap:12px; }

.cookie-btn{
    border:none;
    border-radius:10px;
    padding:7px 13px;
    font-size:12px;
    cursor:pointer;
    font-weight:600;
    font-family:inherit;
}

.accept{ background:var(--orange); color:#fff; }
.reject{ background:#eef2f5; color:var(--ink); }

/* ===== LEGAL / CONTENT PAGES ===== */

.page-hero{
    padding:150px 10% 60px;
    background:linear-gradient(135deg,var(--blue),var(--blue-soft));
    color:#fff;
}

.page-hero .container{ max-width:1000px; margin:auto; }

.page-hero h1{ font-size:2.8rem; margin-bottom:12px; }

.page-hero p{ opacity:0.9; font-size:1.1rem; max-width:760px; }

.legal{
    max-width:900px;
    margin:auto;
    padding:70px 30px 90px;
}

.legal h2{
    color:var(--blue);
    font-size:1.6rem;
    margin:42px 0 16px;
}

.legal h2:first-child{ margin-top:0; }

.legal h3{ color:var(--orange); font-size:1.15rem; margin:26px 0 10px; }

.legal p, .legal li{
    line-height:1.9;
    color:var(--muted);
    font-size:1.02rem;
    margin-bottom:14px;
}

.legal ul{ padding-left:22px; margin-bottom:14px; }

.legal a{ color:var(--blue); }

.legal table{
    width:100%;
    border-collapse:collapse;
    margin:18px 0 26px;
    font-size:0.96rem;
}

.legal table th, .legal table td{
    text-align:left;
    padding:12px 14px;
    border-bottom:1px solid #e3e9ef;
    vertical-align:top;
    color:var(--muted);
}

.legal table th{ color:var(--blue); background:#f2f6fa; }

.legal .data-box{
    background:#fff;
    border:1px solid #e3e9ef;
    border-radius:14px;
    padding:24px 28px;
    margin:18px 0;
}

.legal .data-box p{ margin-bottom:8px; }

.back-link{
    display:inline-block;
    margin-top:30px;
    color:var(--blue);
    font-weight:600;
    text-decoration:none;
}

.back-link:hover{ color:var(--orange); }

/* ===== RESPONSIVE ===== */

@media(max-width:900px){
    .nav-links{ gap:18px; }
    .nav-links a:not(.nav-cta){ display:none; }
    .page-hero h1{ font-size:2rem; }
    .footer-top{ flex-direction:column; }
    .cookie-popup{ flex-direction:column; align-items:flex-start; }
}
