
:root{--blue:#0d2b63;--light:#f5f7fb;--gold:#d8b66a;--text:#1d2433}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.6}
a{color:var(--blue);text-decoration:none}.top{display:flex;align-items:center;justify-content:space-between;padding:18px 6%;background:#fff;position:sticky;top:0;z-index:2;box-shadow:0 2px 14px rgba(0,0,0,.06)}
.logo{font-weight:800;color:var(--blue);font-size:24px}.nav a{margin-left:22px;font-weight:700}
.hero{min-height:560px;background:linear-gradient(rgba(7,28,67,.45),rgba(7,28,67,.45)),url('../images/spain-long-term-rentals-beach-hero.jpg') center/cover;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:40px 6%}
.hero h1{font-size:48px;max-width:980px;margin:0 auto 14px}.hero p{font-size:20px;max-width:820px;margin:0 auto 28px}
.search{background:#fff;padding:18px;border-radius:18px;display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:12px;max-width:1040px;margin:0 auto;box-shadow:0 15px 50px rgba(0,0,0,.22)}
.search input,.search select,.field{width:100%;padding:15px;border:1px solid #d6dbe6;border-radius:10px;font-size:16px;background:#fff}
.btn,button{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:15px 22px;font-weight:800;cursor:pointer;display:inline-block}
.section{padding:58px 6%;max-width:1220px;margin:auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}
.card{border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 5px 26px rgba(13,43,99,.10);border:1px solid #e8ebf2}.card img{width:100%;height:230px;object-fit:cover}.card-body{padding:22px}.card h3{margin:0 0 10px;font-size:21px}.tag{display:inline-block;background:#eef4ff;color:var(--blue);padding:6px 10px;border-radius:30px;font-size:13px;font-weight:700;margin-bottom:10px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:34px}.gallery{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:28px}.gallery img{width:100%;height:240px;object-fit:cover;border-radius:14px}.gallery img:first-child{height:490px;grid-row:span 2}
.content h1{font-size:40px;line-height:1.15}.content h2{margin-top:34px;color:var(--blue)}
.sidebar{position:sticky;top:95px;align-self:start;background:#fff;border:1px solid #e2e7f0;border-radius:18px;padding:22px;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.sidebar input,.sidebar textarea,.sidebar select,.formbox input,.formbox textarea,.formbox select{width:100%;padding:13px;border:1px solid #d5dae5;border-radius:10px;margin-bottom:12px;font-size:15px}
.sidebar textarea,.formbox textarea{min-height:120px}.small{font-size:14px;color:#5f6878}.marketed{font-size:13px;letter-spacing:.08em;color:#667;text-transform:uppercase}.footer{background:#0a214d;color:#fff;padding:35px 6%;margin-top:40px}.footer a{color:#fff}
.formbox{max-width:820px;margin:40px auto;background:#fff;padding:28px;border-radius:18px;box-shadow:0 8px 30px rgba(13,43,99,.10)}
.article{font-size:18px}.notice{background:#fff7df;border-left:5px solid var(--gold);padding:16px;border-radius:10px}
@media(max-width:800px){.search{grid-template-columns:1fr}.hero h1{font-size:34px}.layout{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery img,.gallery img:first-child{height:250px}.nav a{margin-left:10px;font-size:14px}.top{align-items:flex-start;gap:10px;flex-wrap:wrap}}

.brand img{height:58px;max-width:320px;object-fit:contain}.nav-cta{background:#0c58a8;color:#fff!important;padding:10px 16px;border-radius:9px}
.top{min-height:78px}.hero{background-position:center!important}
details{border:1px solid #dde5f0;border-radius:12px;margin:10px 0;background:#fff;overflow:hidden}
summary{padding:15px 18px;font-weight:800;color:#0d2b63;cursor:pointer}
details p{padding:0 18px 16px;margin:0}.faq-group{margin-top:30px}.faq-group h2{font-size:25px}
.placeholder-img{background:linear-gradient(135deg,#dceefa,#ffffff);display:flex;align-items:center;justify-content:center;color:#0d2b63;font-weight:800}
.sale-box{background:#eef7ff;border:1px solid #cbe3fa;padding:20px;border-radius:16px}
@media(max-width:800px){.brand img{height:44px}.top{padding:12px 4%}}

.guide-list{columns:2;list-style:none;padding:0;margin:25px 0}
.guide-list li{break-inside:avoid;margin:0 0 12px;padding:14px 16px;background:#fff;border:1px solid #dfe7f1;border-radius:12px;box-shadow:0 3px 12px rgba(13,43,99,.06)}
.guide-list a{font-weight:800}
@media(max-width:800px){.guide-list{columns:1}}
.footer img{display:block;margin-bottom:12px}
