
:root{
  --sea:#0e4c5c; --sea-dark:#093642; --aqua:#2d9aa8; --aqua-light:#e7f4f6;
  --sand:#c9962e; --sand-light:#f8f1df; --ink:#22313a; --muted:#5f7480;
  --cream:#faf7f0; --white:#ffffff; --radius:14px;
  --shadow:0 6px 24px rgba(9,54,66,.10);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Source Sans 3','Segoe UI',Tahoma,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65}
h1,h2,h3,.serif{font-family:'Playfair Display',Georgia,serif}
img{max-width:100%;display:block}
a{color:var(--aqua)}
.container{max-width:1100px;margin:0 auto;padding:0 22px}

/* header */
header{position:sticky;top:0;z-index:50;background:var(--white);box-shadow:0 2px 12px rgba(9,54,66,.08)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;max-width:1100px;margin:0 auto;flex-wrap:wrap;gap:10px}
.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--sea)}
.brand .name{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:700;letter-spacing:.5px}
.brand .tag{font-size:.72rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--sand)}
nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
nav a{color:var(--sea);text-decoration:none;font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:8px;transition:.2s}
nav a:hover{background:var(--aqua-light)}
nav a.active{background:var(--sea);color:#fff}
nav a.cta{background:var(--sand);color:#fff;margin-left:6px}
nav a.cta:hover{background:#b3841f}
.langbar{display:flex;gap:6px;align-items:center}
.langbar a{text-decoration:none;font-size:.85rem;padding:4px 8px;border-radius:6px;color:var(--muted);border:1px solid #e3ded2}
.langbar a.on{background:var(--sea);color:#fff;border-color:var(--sea)}
.langbar a:hover{border-color:var(--aqua)}

/* hero */
.hero{position:relative;color:#fff;text-align:center;padding:110px 22px 120px;background:linear-gradient(rgba(9,54,66,.62),rgba(9,54,66,.72)),url('https://palazzinhotel.com/wp-content/uploads/2019/06/the-palazzin-hotel-26-of-28-1024x768.jpg') center/cover no-repeat}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);margin-bottom:18px;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.hero p{font-size:clamp(1.05rem,2.2vw,1.35rem);max-width:720px;margin:0 auto 34px;color:#f0ece2}
.hero em{color:#ffd98a;font-style:normal;font-weight:700}
.btn{display:inline-block;padding:14px 30px;border-radius:40px;text-decoration:none;font-weight:700;font-size:1.02rem;transition:.2s;margin:6px}
.btn-gold{background:var(--sand);color:#fff}
.btn-gold:hover{background:#b3841f;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.8)}
.btn-ghost:hover{background:rgba(255,255,255,.15)}
.btn-sea{background:var(--sea);color:#fff}
.btn-sea:hover{background:var(--sea-dark)}

/* sections */
section{padding:64px 0}
.section-title{text-align:center;font-size:clamp(1.6rem,3.4vw,2.3rem);color:var(--sea);margin-bottom:10px}
.section-sub{text-align:center;max-width:760px;margin:0 auto 44px;color:var(--muted);font-size:1.06rem}
.rule{width:64px;height:3px;background:var(--sand);margin:14px auto 26px;border-radius:2px}

.grid{display:grid;gap:26px}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px;transition:.25s}
.card:hover{transform:translateY(-4px)}
.card .ico{font-size:2rem;margin-bottom:12px}
.card h3{color:var(--sea);margin-bottom:10px;font-size:1.2rem}
.card p{color:var(--muted);font-size:.98rem}
.card img{border-radius:10px;margin-bottom:16px;aspect-ratio:4/3;object-fit:cover;width:100%}

/* ratings strip */
.ratings{background:var(--sea);color:#fff;text-align:center}
.ratings .scores{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;margin:26px 0}
.score .num{font-family:'Playfair Display',serif;font-size:2.6rem;color:#ffd98a;font-weight:700}
.score .lbl{font-size:.9rem;color:#cfe3e8}
.ratings a{color:#ffd98a;font-weight:700}

/* banner */
.banner{background:linear-gradient(135deg,var(--sand) 0%,#e0b558 100%);color:#fff;text-align:center;border-radius:var(--radius);padding:44px 30px;box-shadow:var(--shadow)}
.banner h2{font-size:1.7rem;margin-bottom:12px}
.banner p{max-width:640px;margin:0 auto 22px;font-size:1.05rem}
.banner .btn{background:#fff;color:var(--sand)}

/* rooms */
.room{display:flex;flex-direction:column;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.room img{aspect-ratio:3/2;object-fit:cover;width:100%}
.room .body{padding:26px}
.room h3{color:var(--sea);font-size:1.3rem;margin-bottom:8px}
.room .feats{font-size:.85rem;color:var(--aqua);margin-bottom:12px;font-weight:600}
.room p.desc{color:var(--muted);font-size:.97rem;margin-bottom:18px}
.room .pricerow{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid #eee8da;padding-top:16px}
.price .amt{font-family:'Playfair Display',serif;font-size:1.9rem;color:var(--sea);font-weight:700}
.price .per{font-size:.85rem;color:var(--muted)}
.note{background:var(--sand-light);border-left:4px solid var(--sand);padding:16px 20px;border-radius:8px;color:#6b5a2a;font-size:.93rem;max-width:860px;margin:40px auto 0}

/* reviews */
.review{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;display:flex;flex-direction:column;gap:12px}
.stars{color:var(--sand);letter-spacing:2px;font-size:1.05rem}
.review p{color:var(--ink);font-size:.98rem;font-style:italic}
.review .who{color:var(--muted);font-size:.88rem;font-weight:600}

/* location */
.mapwrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-top:40px}
.mapwrap iframe{width:100%;height:380px;border:0;display:block}

/* contact */
.contact-grid{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.clist{list-style:none}
.clist li{display:flex;gap:14px;margin-bottom:18px;align-items:flex-start}
.clist .ico{font-size:1.4rem}
.clist b{color:var(--sea);display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:1px}
.clist a{color:var(--ink);text-decoration:none;font-size:1.05rem}
.clist a:hover{color:var(--aqua)}
form .row{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:14px}
input,textarea{width:100%;padding:12px 14px;border:1px solid #ddd6c6;border-radius:8px;font:inherit;background:#fff}
input:focus,textarea:focus{outline:2px solid var(--aqua)}
textarea{min-height:130px;resize:vertical}
.check{display:flex;gap:10px;align-items:center;margin:14px 0;font-size:.92rem;color:var(--muted)}
.check input{width:auto}
.formnote{font-size:.85rem;color:var(--muted);margin-top:12px}

/* booking placeholder */
.engine{border:3px dashed var(--aqua);border-radius:var(--radius);background:var(--aqua-light);text-align:center;padding:70px 30px;margin:30px 0}
.engine h3{color:var(--sea);font-size:1.4rem;margin-bottom:8px}
.engine p{color:var(--muted)}
.quickbook{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:20px}


/* gallery */
.gallery{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.gitem{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin:0}
.gitem img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:.3s}
.gitem:hover img{transform:scale(1.04)}
.gitem figcaption{padding:12px 16px;color:var(--sea);font-weight:600;font-size:.95rem}

/* footer */
footer{background:var(--sea-dark);color:#bcd2d8;padding:50px 0 30px;margin-top:60px}
footer .cols{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-bottom:34px}
footer h4{color:#fff;font-family:'Playfair Display',serif;margin-bottom:14px;font-size:1.15rem}
footer a{color:#bcd2d8;text-decoration:none}
footer a:hover{color:#ffd98a}
footer ul{list-style:none}
footer li{margin-bottom:8px}
.legal{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;text-align:center;font-size:.82rem;color:#8fabb3}

/* plan-holiday strip */
.plan-strip{background:linear-gradient(135deg,var(--aqua) 0%,var(--sea) 100%);color:#fff;padding:40px 0}
.plan-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.plan-inner h3{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:6px}
.plan-inner p{color:#e2f1f3;max-width:560px}

/* intro page */
.intro{min-height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:76px 22px 84px;background:linear-gradient(rgba(9,54,66,.6),rgba(9,54,66,.78)),url('https://palazzinhotel.com/wp-content/uploads/2019/06/the-palazzin-hotel-26-of-28-1024x768.jpg') center/cover no-repeat;color:#fff}
/* intro summary (landing preview) */
.intro-summary{background:#fff;padding:60px 0 74px}
.isum-reviews{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:18px}
.isum-score{background:var(--sea);color:#fff;font-family:'Playfair Display',serif;font-weight:700;font-size:2.1rem;line-height:1;padding:14px 20px;border-radius:14px 14px 14px 0}
.isum-score span{font-size:.95rem}
.isum-stars{color:var(--sand);letter-spacing:2px}
.isum-rtext b{display:block;color:var(--sea);font-size:1.08rem}
.isum-rtext span{color:var(--muted);font-size:.88rem}
.isum-quote{max-width:720px;margin:0 auto 46px;text-align:center;font-family:'Playfair Display',serif;font-style:italic;font-size:1.2rem;color:var(--ink);line-height:1.6}
.isum-quote span{display:block;font-style:normal;font-family:'Source Sans 3',sans-serif;font-size:.85rem;color:var(--muted);margin-top:12px;font-weight:600}
.isum-h{text-align:center;color:var(--sea);font-size:1.7rem}
.isum-mods{max-width:1080px;margin:26px auto 0;grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.isum-mods{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.isum-mods{grid-template-columns:1fr}}
.intro .tag{letter-spacing:5px;text-transform:uppercase;color:#ffd98a;font-size:.85rem;margin-bottom:14px}
.intro h1{font-size:clamp(2.4rem,6vw,4rem);margin-bottom:10px}
.intro .sub{color:#e8e2d2;font-size:1.15rem;margin-bottom:8px}
.intro .stars-line{color:#ffd98a;margin-bottom:46px;letter-spacing:3px}
.langs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;max-width:820px}
.langs a{flex:1 1 130px;max-width:150px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);border-radius:var(--radius);padding:16px 12px;color:#fff;text-decoration:none;transition:.25s}
.langs a:hover{background:var(--sand);border-color:var(--sand);transform:translateY(-4px)}
.langs .flag{font-size:1.5rem;display:block;margin-bottom:6px}
.langs .lname{font-family:'Playfair Display',serif;font-size:1.02rem;font-weight:700}
.langs .go{display:block;font-size:.72rem;color:#e8e2d2;margin-top:4px;letter-spacing:1px}
.intro .foot{margin-top:56px;font-size:.85rem;color:#bcd2d8}
.intro .foot a{color:#ffd98a}

/* =================================================================
   SEAVIEW-STYLE REDESIGN OVERRIDES (airy, gold accents, whitespace)
   ================================================================= */
body{background:#fff}
.container.narrow{max-width:820px}
.kicker{display:inline-block;letter-spacing:3px;text-transform:uppercase;color:var(--sand);font-size:.78rem;font-weight:700;margin-bottom:12px}

/* header: utility bar + main nav */
header{position:sticky;top:0;z-index:100;box-shadow:0 2px 14px rgba(9,54,66,.07)}
.util{background:var(--sea-dark);color:#cfe3e8}
.util-row{display:flex;align-items:center;justify-content:flex-end;gap:22px;padding:7px 22px;font-size:.83rem}
.util-tel{color:#cfe3e8;text-decoration:none;margin-right:auto}
.util-tel:hover{color:#fff}
.langpick{position:relative;cursor:pointer;outline:none}
.langcur{color:#fff;font-weight:600;letter-spacing:.5px;user-select:none}
.langcur .chev{font-size:.7rem}
.langmenu{position:absolute;right:0;top:100%;margin-top:7px;background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(9,54,66,.22);min-width:170px;display:none;flex-direction:column;overflow:hidden;z-index:120}
.langpick:hover .langmenu,.langpick:focus-within .langmenu{display:flex}
.langmenu a{padding:11px 18px;color:var(--sea);text-decoration:none;font-weight:600;font-size:.92rem;transition:.15s}
.langmenu a:hover{background:var(--aqua-light)}
.langmenu a.on{background:var(--sea);color:#fff}
.topbar{background:#fff}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px}
.nav-row nav{gap:2px}
.nav-row nav a{color:var(--sea);text-transform:uppercase;letter-spacing:.5px;font-size:.82rem;font-weight:600;padding:8px 11px}
.nav-row nav a.active{background:transparent;color:var(--sand)}
.nav-row nav a:hover{background:var(--aqua-light)}
.cta-book{background:var(--sand);color:#fff;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.8px;font-size:.82rem;padding:13px 26px;border-radius:40px;white-space:nowrap;transition:.2s;box-shadow:0 4px 14px rgba(201,150,46,.35)}
.cta-book:hover{background:#b3841f;transform:translateY(-1px)}

/* hero: taller, airier */
.hero{min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:90px 22px;color:#fff;background:linear-gradient(rgba(9,54,66,.42),rgba(9,54,66,.62)),url('https://palazzinhotel.com/wp-content/uploads/2019/06/the-palazzin-hotel-26-of-28-1024x768.jpg') center/cover no-repeat}
.hero-inner{max-width:820px}
.hero-kicker{display:inline-block;letter-spacing:4px;text-transform:uppercase;color:#ffd98a;font-size:.82rem;margin-bottom:20px}
.hero h1{font-size:clamp(2.2rem,5.2vw,3.7rem);line-height:1.12;margin-bottom:20px;font-weight:700}
.hero p{font-size:clamp(1.05rem,2.1vw,1.3rem);margin-bottom:34px}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* welcome / brand intro */
.welcome{text-align:center;padding:78px 0 60px}
.welcome .lead{font-size:1.18rem;color:#4a5c66;line-height:1.8;font-family:'Playfair Display',serif;font-weight:400}

/* room showcase rail (horizontal scroll-snap) */
.rooms-feature{background:var(--cream);padding:70px 0}
.roomrail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;scrollbar-width:thin}
.rslide{scroll-snap-align:start;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);text-decoration:none;display:flex;flex-direction:column;transition:.25s}
.rslide:hover{transform:translateY(-5px)}
.rslide img{aspect-ratio:3/2;object-fit:cover;width:100%}
.rslide-b{padding:20px 22px}
.rslide-b h3{color:var(--sea);font-size:1.15rem;margin-bottom:7px}
.rslide-meta{color:var(--muted);font-size:.86rem;margin-bottom:12px}
.rslide .disc{color:var(--sand);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}

/* explore image modules */
.explore{padding:70px 0}
.mods{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.mod{position:relative;border-radius:var(--radius);overflow:hidden;text-decoration:none;box-shadow:var(--shadow);aspect-ratio:4/3;display:block}
.mod img{width:100%;height:100%;object-fit:cover;transition:.4s}
.mod:hover img{transform:scale(1.06)}
.mod-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 22px 18px;background:linear-gradient(transparent,rgba(9,54,66,.85));color:#fff}
.mod-cap h3{font-size:1.25rem;margin-bottom:4px}
.mod-cap span{color:#ffd98a;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.5px}

/* booking engine embed */
.engine-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin:20px 0;background:#fff}
.engine-wrap iframe{width:100%;min-height:720px;border:0;display:block}

/* rotating quote box (home) */
.quotebox{max-width:720px;margin:34px auto 8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);padding:26px 30px;transition:opacity .35s ease}
.qb-stars{color:#ffd98a;letter-spacing:3px;margin-bottom:10px}
.qb-text{font-family:'Playfair Display',serif;font-size:1.2rem;font-style:italic;color:#fff;margin-bottom:10px;min-height:2.4em}
.qb-who{color:#cfe3e8;font-size:.9rem;font-weight:600}

/* reviews page: score cards */
.scorecards{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-bottom:36px}
.scorecard{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #ebe6d8;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 28px}
.sc-num{background:var(--sea);color:#fff;font-family:'Playfair Display',serif;font-weight:700;font-size:1.7rem;border-radius:12px 12px 12px 0;padding:12px 16px;line-height:1}
.sc-of{font-size:.9rem}
.sc-txt b{display:block;color:var(--sea);font-size:1.05rem}
.sc-txt span{color:var(--muted);font-size:.86rem}
/* category score bars */
.catpanel{background:var(--cream);border-radius:var(--radius);padding:30px 34px;max-width:900px;margin:0 auto 50px}
.catpanel h3{color:var(--sea);text-align:center;margin-bottom:22px;font-size:1.2rem}
.catgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 40px}
.catbar{display:flex;align-items:center;gap:12px}
.catname{flex:0 0 160px;font-size:.9rem;color:var(--ink);font-weight:600}
.cattrack{flex:1;height:8px;background:#e3ddce;border-radius:5px;overflow:hidden}
.catfill{display:block;height:100%;background:linear-gradient(90deg,var(--aqua),var(--sea));border-radius:5px}
.catnum{flex:0 0 34px;text-align:right;font-weight:700;color:var(--sea);font-size:.92rem}
/* review cards with score badge + source */
.rev-group{text-align:center;color:var(--sea);font-family:'Playfair Display',serif;font-size:1.35rem;margin:44px 0 24px}
.review{position:relative}
.rev-badge{position:absolute;top:-14px;right:22px;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1rem;box-shadow:0 4px 12px rgba(9,54,66,.22)}
.rev-badge.bk{background:#003b95}
.rev-badge.ta{background:#00a680;font-size:.9rem}
.review .src{color:var(--aqua);font-weight:700}

@media(max-width:640px){.catgrid{grid-template-columns:1fr}.catname{flex-basis:130px}}
@media(max-width:820px){
  .nav-row nav{display:none}
}
@media(max-width:640px){
  form .row{grid-template-columns:1fr}
  .hero{padding:70px 18px;min-height:70vh}
  section{padding:46px 0}
  .util-row{gap:14px}
}
