/*
Theme Name: Ischia Red Carpet Richieste
Theme URI: https://ischia-red-carpet-offerte.polverino-m.chatgpt.site/
Author: Alpha Service
Description: Tema Ischia Red Carpet con hotel, offerte, scadenze automatiche e moduli di richiesta contestuali.
Version: 3.0.1
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: ischia-red-carpet-richieste
*/
:root { --wine:#620016; --wine-dark:#35000d; --ink:#10263f; --gold:#d3a63c; --cream:#f7f1e8; --paper:#fffdf9; --muted:#766f68; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
img { width:100%; height:100%; object-fit:cover; display:block; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3,.brand,.button,.big-price { font-family:Georgia, "Times New Roman", serif; }

.contact-bar { position:relative; z-index:20; height:34px; display:flex; justify-content:space-between; align-items:center; padding:0 2.8vw; color:#f9ead1; background:rgba(39,0,10,.9); border-bottom:1px solid rgba(211,166,60,.35); font-size:11px; letter-spacing:.07em; }
.contact-bar div { display:flex; align-items:center; gap:20px; }
.contact-bar a { display:inline-flex; align-items:center; gap:7px; }
.contact-bar strong { font-size:14px; letter-spacing:.04em; }
.whatsapp { background:#1f9b62; padding:6px 12px; border-radius:999px; color:white; font-weight:700; }
.site-header { position:relative; z-index:20; height:100px; padding:0 2.8vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:white; }
.brand { font-size:25px; letter-spacing:.15em; white-space:nowrap; }
.site-header nav { display:flex; align-items:center; font:16px Georgia,"Times New Roman",serif; }
.site-header nav a { padding:0 46px; border-right:1px solid rgba(211,166,60,.8); }
.site-header nav a:first-child { /*padding-left:0;*/ }
.site-header nav a:last-child { border:0; padding-right:0; }
.site-header nav a:hover { color:var(--gold); }
.languages { justify-self:end; color:#e2b44b; font-size:14px; }
.inner-top { background:linear-gradient(110deg,var(--wine-dark),#0f2639); }

.home-hero { min-height:830px; position:relative; color:white; background:url("assets/images/ischia_red_carpert_foto_ischia_1.jpeg") center/cover no-repeat; }
.hero-shade,.detail-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(56,0,13,.95),rgba(88,7,30,.72) 42%,rgba(10,32,58,.16) 82%),linear-gradient(0deg,rgba(35,0,11,.7),transparent 52%); }
.hero-copy { position:relative; z-index:2; max-width:990px; margin:0 0 0 2.8vw; padding-top:58px; }
.kicker,.section-label,.card-eyebrow { color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.kicker:after,.section-label:after { content:""; display:block; width:64px; height:2px; margin-top:18px; background:var(--gold); }
.hero-copy h1 { font-size:76px; line-height:.98; font-weight:400; letter-spacing:-.035em; margin:32px 0 28px; }
h1 i,h2 i { font-weight:400; color:var(--gold); }
.hero-lead { font-size:17px; line-height:1.65; max-width:590px; color:white; }
.search-box { margin-top:34px; width:990px; max-width:calc(100vw - 5.6vw); min-height:112px; display:grid; grid-template-columns:1fr 1fr .85fr 1.18fr; align-items:center; padding:20px; background:#faf5ef; color:#180912; border-radius:12px; box-shadow:0 18px 45px rgba(28,0,8,.22); }
.search-box label { min-width:0; display:flex; flex-direction:column; gap:13px; padding:2px 26px; border-right:1px solid #ddd2c7; }
.search-box strong { font-size:15px; }
.search-box input,.search-box select { min-width:0; border:0; outline:0; background:transparent; color:#786d67; font:14px Arial,sans-serif; }
.search-box button { align-self:stretch; border:0; background:var(--wine); color:#f5d998; font:18px Georgia,serif; cursor:pointer; }
.hero-actions { display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
.button { min-height:52px; padding:0 28px; display:inline-flex; align-items:center; justify-content:center; font-size:17px; border:1px solid transparent; transition:.2s ease; }
.button:hover { transform:translateY(-2px); }
.button-gold { background:var(--gold); color:var(--wine-dark); }
.button-ghost { border-color:rgba(255,255,255,.62); color:white; }
.button-wine { background:var(--wine); color:white; }
.hero-stats { position:absolute; z-index:2; bottom:0; left:0; right:0; min-height:66px; display:flex; justify-content:center; align-items:center; gap:22px; background:rgba(48,0,12,.94); border-top:1px solid var(--gold); color:#e5b743; font-size:15px; }
.hero-stats b { font-size:12px; }

.intro-section { max-width:1220px; margin:0 auto; padding:110px 32px 55px; display:grid; grid-template-columns:1.05fr .8fr; gap:10vw; align-items:end; }
.intro-section h2,.manifesto h2,.closing-cta h2,.detail-main h2 { font-size:54px; line-height:1.06; font-weight:400; margin:25px 0 0; }
.intro-copy,.manifesto-copy>p,.detail-description { font-family:Georgia,serif; font-size:18px; line-height:1.75; color:#59534e; }
.featured-grid,.all-grid { max-width:1280px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.package-card { background:white; border:1px solid #e8ded2; box-shadow:0 12px 40px rgba(53,29,20,.08); transition:.25s ease; }
.package-card:hover { transform:translateY(-5px); box-shadow:0 20px 50px rgba(53,29,20,.14); }
.card-image { position:relative; height:300px; display:block; overflow:hidden; }
.card-image:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(39,0,12,.58),transparent 55%); }
.card-image img { transition:.5s ease; }
.package-card:hover img { transform:scale(1.035); }
.card-number { position:absolute; z-index:2; left:18px; top:16px; font:28px Georgia,serif; color:white; }
.card-category { position:absolute; z-index:2; right:16px; bottom:16px; padding:7px 11px; background:var(--wine); color:white; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.card-body { padding:28px; }
.card-eyebrow { margin-bottom:12px; }
.card-body h3 { font-size:27px; line-height:1.12; font-weight:400; margin-bottom:14px; }
.card-body>p:not(.card-eyebrow) { color:#665f59; line-height:1.6; font-size:14px; min-height:67px; }
.card-facts { display:flex; gap:9px; flex-wrap:wrap; margin:22px 0; }
.card-facts span { padding:7px 10px; background:var(--cream); color:var(--wine); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.card-bottom { border-top:1px solid #ece3da; padding-top:20px; display:flex; justify-content:space-between; align-items:end; gap:12px; }
.card-bottom small { display:block; color:var(--muted); }
.card-bottom strong { display:inline-block; font:29px Georgia,serif; color:var(--wine); margin-top:3px; }
.card-bottom em { font-size:11px; color:var(--muted); }
.text-link { color:var(--wine); font:16px Georgia,serif; white-space:nowrap; }
.center-action { text-align:center; padding:54px 20px 120px; }
.hotel-section { padding:95px 32px 110px; background:var(--cream); }
.hotel-heading { max-width:1216px; margin:0 auto 45px; display:grid; grid-template-columns:1fr .75fr; gap:8vw; align-items:end; }
.hotel-heading h2 { font-size:48px; line-height:1.06; font-weight:400; margin:25px 0 0; }
.hotel-heading>p { color:#615b55; line-height:1.7; }
.hotel-row { max-width:1216px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.hotel-card { background:#fff; box-shadow:0 14px 35px rgba(49,28,20,.09); border-bottom:3px solid var(--wine); }
.hotel-image { position:relative; display:block; height:280px; overflow:hidden; }
.hotel-image:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(32,0,10,.7),transparent 58%); }
.hotel-image img { transition:.5s ease; }
.hotel-card:hover .hotel-image img { transform:scale(1.035); }
.hotel-place { position:absolute; z-index:2; left:22px; bottom:18px; color:#f0dfbe; text-transform:uppercase; letter-spacing:.11em; font-size:11px; }
.hotel-card-body { padding:24px; }
.hotel-stars { color:var(--gold); letter-spacing:.12em; font-size:11px; margin-bottom:8px; }
.hotel-card h3 { font-size:25px; font-weight:400; margin-bottom:12px; }
.hotel-card-body>p:not(.hotel-stars) { min-height:48px; color:#6b625b; font-size:14px; line-height:1.55; }
.hotel-card-bottom { display:flex; align-items:end; justify-content:space-between; gap:12px; padding-top:18px; margin-top:20px; border-top:1px solid #e9ded2; }
.hotel-card-bottom small { display:block; color:var(--muted); }
.hotel-card-bottom strong { font:28px Georgia,serif; color:var(--wine); }
.hotel-card-bottom em { color:var(--muted); font-size:11px; }
.hotel-link { color:var(--wine); font:15px Georgia,serif; padding-bottom:4px; border-bottom:1px solid var(--gold); }
.hotel-detail-hero { min-height:660px; }

.hotel-shell { width:min(1180px,calc(100% - 64px)); margin:0 auto; }
.hotel-contact-bar { height:34px; display:flex; justify-content:space-between; align-items:center; padding:0 2.8vw; color:#f9ead1; background:var(--wine-dark); border-bottom:1px solid rgba(211,166,60,.35); font-size:11px; letter-spacing:.07em; }
.hotel-contact-bar div { display:flex; align-items:center; gap:20px; }
.hotel-contact-bar a { display:inline-flex; align-items:center; gap:7px; }
.hotel-contact-bar strong { font-size:14px; letter-spacing:.04em; }
.hotel-detail-nav { height:94px; display:flex; align-items:center; justify-content:space-between; }
.hotel-detail-nav .brand { font-size:23px; color:var(--wine); }
.hotel-detail-nav .brand span { color:var(--gold); }
.hotel-detail-nav>a:last-child { font-size:13px; font-weight:700; color:var(--wine); }
.hotel-detail-hero { height:650px; min-height:0; position:relative; color:#fff; }
.hotel-detail-hero>img { width:100%; height:100%; object-fit:cover; }
.hotel-detail-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(36,0,8,.82),transparent 65%); }
.hotel-detail-title { position:absolute; left:0; right:0; bottom:70px; }
.hotel-detail-title p { color:var(--gold); text-transform:uppercase; letter-spacing:.14em; font-size:13px; }
.hotel-detail-title h1 { font-size:72px; font-weight:400; margin:12px 0; }
.hotel-detail-title span { font-family:Georgia,serif; font-size:21px; }
.hotel-detail-intro { padding:100px 0; display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.hotel-detail-intro h2,.hotel-rooms h2,.hotel-location h2,.hotel-final-cta h2 { font-size:54px; line-height:1.06; font-weight:400; margin:22px 0; }
.hotel-detail-intro>div:last-child>p,.hotel-location>div>p { font-family:Georgia,serif; font-size:20px; line-height:1.7; color:#665557; }
.hotel-section-kicker { color:var(--wine); text-transform:uppercase; letter-spacing:.15em; font-size:12px; font-weight:700; }
.hotel-section-kicker.light { color:var(--gold); }
.hotel-book-button,.hotel-final-cta a { display:inline-block; background:var(--wine); color:#f6e3b8; border:1px solid var(--gold); padding:20px 28px; margin-top:18px; font-family:Georgia,serif; }
.hotel-features { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d6c8b8; border-left:1px solid #d6c8b8; margin-bottom:110px; }
.hotel-features div { padding:28px; border-right:1px solid #d6c8b8; border-bottom:1px solid #d6c8b8; display:flex; gap:20px; }
.hotel-features b { color:var(--gold); font-family:Georgia,serif; font-weight:400; }
.hotel-features span { font-weight:700; }
.hotel-rooms { background:var(--wine-dark); color:white; padding:100px 0; }
.hotel-room-list { margin-top:50px; }
.hotel-room-list>div { display:grid; grid-template-columns:2fr 1fr 1fr auto; align-items:center; border-top:1px solid rgba(255,255,255,.22); padding:26px 0; }
.hotel-room-list h3 { font-size:25px; font-weight:400; margin:0; }
.hotel-room-list span { color:#c9b9b9; }
.hotel-room-list b { font-family:Georgia,serif; color:var(--gold); font-weight:400; }
.hotel-room-list small { font-family:Arial,sans-serif; font-weight:400; }
.hotel-room-list a { border:1px solid var(--gold); padding:12px 16px; color:#f5d99f; }
.hotel-rate-note { color:#9d888a; font-size:11px; margin-top:22px; }
.hotel-location { padding:110px 0; display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.hotel-map { height:410px; background:radial-gradient(circle at 55% 48%,#efe1c8 0 8%,transparent 9%),linear-gradient(135deg,#ded0b9,#f4eee4); border:1px solid #cbb99e; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--wine); }
.hotel-map span { letter-spacing:.3em; font-weight:700; }
.hotel-map i { font-size:32px; font-style:normal; }
.hotel-map small { color:#8d6d56; }
.hotel-final-cta { text-align:center; background:#35030f; color:white; padding:90px 20px; }
.hotel-final-cta p { color:var(--gold); text-transform:uppercase; letter-spacing:.16em; }
.hotel-final-cta h2 { font-size:62px; margin:12px; }
.hotel-final-cta a { background:transparent; }


.manifesto { display:grid; grid-template-columns:1fr 1fr; min-height:720px; background:var(--ink); color:white; }
.manifesto-image { min-height:620px; position:relative; }
.manifesto-image:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 70%,var(--ink)); }
.manifesto-copy { padding:90px 8vw 70px 7vw; }
.manifesto-copy>p { color:#d8d8d8; margin:30px 0 40px; }
.manifesto ol { margin:0; padding:0; list-style:none; }
.manifesto li { display:flex; gap:22px; padding:18px 0; border-top:1px solid rgba(255,255,255,.15); }
.manifesto li>span { color:var(--gold); font:21px Georgia,serif; }
.manifesto li strong { font:22px Georgia,serif; }
.manifesto li p { margin:5px 0 0; color:#aeb6bd; font-size:13px; }
.closing-cta { text-align:center; padding:110px 24px; color:white; background:linear-gradient(115deg,var(--wine-dark),#5b0018 55%,#173048); }
.closing-cta .section-label:after { margin-left:auto; margin-right:auto; }
.closing-cta h2 { font-size:58px; margin:25px 0 20px; }
.closing-cta>p:not(.section-label) { color:#e3d8d0; }
.closing-cta .hero-actions { justify-content:center; }

.page-heading { max-width:1180px; margin:0 auto; padding:95px 32px 50px; display:grid; grid-template-columns:1fr .65fr; column-gap:7vw; align-items:end; }
.page-heading .section-label { grid-column:1/-1; }
.page-heading h1 { font-size:64px; line-height:1; font-weight:400; margin:28px 0 0; }
.page-heading>p:last-child { color:#625d58; line-height:1.7; }
.filters { max-width:1216px; padding:0 32px; margin:0 auto 40px; display:flex; gap:8px; overflow:auto; }
.filters button { border:1px solid #d7cdc1; background:transparent; padding:10px 16px; color:var(--ink); cursor:pointer; white-space:nowrap; }
.filters button.active { background:var(--wine); color:white; border-color:var(--wine); }
.all-grid { grid-template-columns:repeat(3,1fr); padding-bottom:100px; }
.all-grid .card-image { height:240px; }

.detail-hero { min-height:620px; position:relative; color:white; background-position:center; background-size:cover; }
.detail-title { position:relative; z-index:2; max-width:1040px; margin:0 auto; padding:90px 32px; }
.detail-title>a { display:inline-block; margin-bottom:55px; color:#f1e6d6; font-size:13px; }
.detail-title h1 { font-size:70px; line-height:1; font-weight:400; max-width:760px; margin:28px 0 24px; }
.detail-title>p:last-child { max-width:650px; font-size:19px; line-height:1.6; color:#eee4dc; }
.detail-content { max-width:1160px; margin:0 auto; padding:100px 32px; display:grid; grid-template-columns:1fr 360px; gap:8vw; align-items:start; }
.detail-main h3 { font-size:29px; font-weight:400; margin:55px 0 20px; }
.includes { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }
.includes li { display:flex; gap:15px; padding:17px 0; border-top:1px solid #e5ddd4; font-size:14px; line-height:1.4; }
.includes li span { color:var(--gold); font:16px Georgia,serif; }
.availability-note { margin-top:42px; padding:24px; background:var(--cream); border-left:3px solid var(--gold); }
.availability-note p { margin:8px 0 0; color:#655f58; line-height:1.55; font-size:14px; }
.booking-card { position:sticky; top:24px; padding:34px; background:white; border-top:4px solid var(--gold); box-shadow:0 18px 55px rgba(37,17,13,.14); }
.booking-card>p:first-child { color:var(--wine); text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.14em; }
.big-price { font-size:39px; color:var(--wine); margin:18px 0 5px; }
.big-price small { font:15px Arial,sans-serif; }
.booking-card>span { color:var(--muted); font-size:12px; }
.booking-card hr { border:0; border-top:1px solid #e8dfd6; margin:25px 0; }
.booking-card>p:not(:first-child) { color:#665f59; font-size:13px; line-height:1.6; }
.booking-card .button { width:100%; margin-top:12px; font-size:15px; }
.phone-link { display:block; text-align:center; color:var(--wine); margin:20px 0; font-weight:700; }
.booking-card>small { display:block; text-align:center; color:#968f88; }

footer { padding:65px 5vw; background:#0f2234; color:white; display:flex; align-items:start; justify-content:space-between; gap:40px; }
footer .brand { color:var(--gold); margin-bottom:15px; }
footer p:last-child { color:#aeb7c0; max-width:430px; line-height:1.6; }
.footer-right{ display: flex; flex-direction: column; row-gap: 40px;}
.footer-links { display:flex; gap:25px; font-size:13px; }
.footer-dati-info {font-size:13px;}
.footer-dati-info p {margin:2px;}
.footer-dati-info p:last-child { line-height: 1; }
.footer-da-alpha { display:flex; justify-content: flex-end; height:150px; align-items: end; margin-right: 25px;}
.footer-da-alpha p { color:#fff !important; font-size:11px; }
.contact-dock { position:fixed; z-index:80; right:18px; bottom:20px; display:flex; flex-direction:column; gap:9px; }
.contact-dock a { width:49px; height:49px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--wine); color:white; box-shadow:0 5px 18px rgba(0,0,0,.25); font-weight:800; }
.contact-dock a.wa { background:#1f9b62; }

@media (max-width:980px) {
  .site-header { grid-template-columns:1fr auto; height:76px; }
  .site-header nav { display:none; }
  .languages { display:none; }
  .home-hero { min-height:760px; }
  .hero-copy { margin-left:7vw; padding-top:92px; }
  .hero-copy h1 { font-size:60px; }
  .search-box { width:86vw; grid-template-columns:1fr 1fr; }
  .search-box label:nth-child(2) { border-right:0; }
  .search-box button { min-height:58px; }
  .featured-grid,.all-grid { grid-template-columns:repeat(2,1fr); }
  .intro-section,.page-heading { grid-template-columns:1fr; gap:30px; }
  .page-heading .section-label { grid-column:auto; }
  .manifesto { grid-template-columns:1fr; }
  .hotel-heading { grid-template-columns:1fr; gap:25px; }
  .manifesto-image { min-height:400px; }
  .manifesto-image:after { background:linear-gradient(0deg,var(--ink),transparent 40%); }
  .detail-content { grid-template-columns:1fr 320px; gap:40px; }
  .hotel-detail-hero { height:540px; }
  .hotel-detail-title h1 { font-size:50px; }
  .hotel-detail-intro,.hotel-location { grid-template-columns:1fr; gap:30px; padding:75px 0; }
  .hotel-detail-intro h2,.hotel-rooms h2,.hotel-location h2,.hotel-final-cta h2 { font-size:40px; }
  .hotel-features { grid-template-columns:1fr 1fr; margin-bottom:75px; }
  .hotel-room-list>div { grid-template-columns:1fr 1fr; gap:12px; }
  .hotel-room-list a { text-align:center; }
  .hotel-map { height:330px; }
}

/* Richieste e identità aggiornata — v3 */
.irc-logo{display:block;width:auto;height:58px;object-fit:contain}.site-header .irc-logo{height:64px}.hotel-detail-nav .irc-logo{height:58px}footer .irc-logo{height:76px}.irc-request-shell{max-width:1120px;margin:0 auto;padding:50px 24px 90px}.irc-quick-request{background:#fff;border-top:4px solid var(--gold,#d7a333);box-shadow:0 18px 55px rgba(30,25,18,.1);padding:42px;max-width:820px;margin:0 auto}.irc-quick-request h3,.contact-copy h2{font-family:Georgia,serif;font-size:34px;color:var(--navy,#10263a);font-weight:400;margin:8px 0 12px}.irc-quick-request form,.irc-full-form form{display:grid;gap:18px;margin-top:26px}.irc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.irc-quick-request label,.irc-full-form label{display:grid;gap:7px;color:#5e5147;font-size:13px;font-weight:700;letter-spacing:.03em}.irc-quick-request input,.irc-quick-request textarea,.irc-full-form input,.irc-full-form textarea,.irc-full-form select{width:100%;box-sizing:border-box;border:1px solid #ddd2c5;background:#fff;padding:13px 14px;font:16px Arial,sans-serif;color:#14263a;border-radius:0}.irc-quick-request textarea,.irc-full-form textarea{resize:vertical}.irc-quick-request button,.irc-full-form button{border:0;cursor:pointer;width:max-content;min-width:220px}.irc-quick-request small,.irc-full-form small{color:#80766c;line-height:1.5}.irc-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.irc-form-message{padding:14px 18px;margin:15px 0;border-left:4px solid}.irc-form-message.success{background:#eef8ef;border-color:#4d8d55;color:#285d2e}.irc-form-message.error{background:#fff0f0;border-color:#a73131;color:#7b1515}.offer-validity{padding:16px 20px;background:#f6f0e7;border-left:3px solid var(--gold,#d7a333)}.offer-expired{background:#fff0f0;padding:16px;color:#7b1515}.contact-page{background:#fbf8f3;color:#16283b}.contact-page>.site-header{background:#12263a}.contact-hero{min-height:330px;display:grid;place-items:center;text-align:center;padding:70px 24px;background:linear-gradient(135deg,#f4eadb,#fff)}.contact-hero>div{max-width:780px}.contact-hero h1{font-family:Georgia,serif;font-size:clamp(44px,6vw,76px);font-weight:400;margin:12px 0;color:#10263a}.contact-hero p:last-child{font-family:Georgia,serif;font-size:20px;line-height:1.6}.contact-form-shell{max-width:1120px;margin:0 auto;padding:80px 24px 100px;display:grid;grid-template-columns:.75fr 1.5fr;gap:70px}.contact-copy{padding-top:14px}.contact-copy p{line-height:1.7;color:#665e55}.contact-copy a{color:#7b001e}.irc-full-form{background:#fff;padding:40px;box-shadow:0 18px 55px rgba(30,25,18,.09);border-top:4px solid var(--gold,#d7a333)}
@media(max-width:800px){.irc-logo,.site-header .irc-logo{height:46px}.hotel-detail-nav .irc-logo{height:42px}footer .irc-logo{height:58px}.irc-form-grid,.contact-form-shell{grid-template-columns:1fr}.contact-form-shell{gap:20px;padding:50px 18px 80px}.irc-full-form,.irc-quick-request{padding:26px 20px}.irc-request-shell{padding:35px 16px 70px}.contact-hero{min-height:260px}.contact-hero h1{font-size:44px}}

.offer-dates{display:grid;gap:5px;min-height:47px;margin:0 0 18px;padding:11px 12px;background:#f7f1e8;border-left:2px solid var(--gold,#d7a333);color:#62584f;font-size:11px;line-height:1.35;text-transform:uppercase;letter-spacing:.045em}.offer-dates span{display:block}.offer-dates b{color:var(--wine,#620016)}.offer-validity{display:grid;gap:8px;padding:17px 20px;background:#f6f0e7;border-left:3px solid var(--gold,#d7a333);color:#62584f;text-transform:uppercase;letter-spacing:.045em;font-size:13px}.offer-validity span{display:block}.offer-validity b{color:var(--wine,#620016)}

@media (max-width:680px) {
  .contact-bar { height:43px; padding:0 15px; }
  .contact-bar>span { display:none; }
  .contact-bar div { width:100%; justify-content:space-between; }
  .contact-bar strong { font-size:15px; }
  .site-header { padding:0 18px; height:68px; }
  .brand { font-size:17px; letter-spacing:.12em; }
  .home-hero { min-height:870px; background-position:62% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(48,0,13,.94),rgba(52,0,15,.65)),linear-gradient(0deg,rgba(24,0,9,.8),transparent 60%); }
  .hero-copy { margin:0; padding:64px 22px 115px; }
  .hero-copy h1 { font-size:49px; margin-top:28px; }
  .hero-lead { font-size:16px; line-height:1.55; }
  .hero-lead br { display:none; }
  .search-box { max-width:none; width:100%; margin-top:25px; grid-template-columns:1fr; padding:12px; }
  .search-box label { padding:13px 12px; gap:7px; border-right:0; border-bottom:1px solid #ddd2c7; }
  .search-box button { min-height:56px; margin-top:10px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .button { width:100%; }
  .hero-stats { min-height:66px; gap:8px; justify-content:space-around; padding:0 10px; }
  .hero-stats span { font-size:10px; text-align:center; max-width:98px; }
  .hero-stats b { font-size:8px; }
  .intro-section { padding:75px 20px 38px; }
  .intro-section h2,.manifesto h2,.closing-cta h2,.detail-main h2 { font-size:40px; }
  .intro-copy { font-size:16px; }
  .featured-grid,.all-grid { grid-template-columns:1fr; padding:0 18px; }
  .card-image { height:260px; }
  .center-action { padding:38px 18px 80px; }
  .hotel-section { padding:70px 18px 80px; }
  .hotel-heading h2 { font-size:38px; }
  .hotel-row { grid-template-columns:1fr; }
  .hotel-image { height:250px; }
  .manifesto-image { min-height:300px; }
  .manifesto-copy { padding:65px 22px; }
  .closing-cta { padding:75px 20px; }
  .page-heading { padding:65px 20px 38px; }
  .page-heading h1 { font-size:46px; }
  .filters { padding:0 18px; }
  .all-grid { padding-bottom:75px; }
  .detail-hero { min-height:610px; }
  .detail-shade { background:linear-gradient(90deg,rgba(48,0,13,.93),rgba(30,15,30,.5)); }
  .detail-title { padding:65px 20px; }
  .detail-title>a { margin-bottom:50px; }
  .detail-title h1 { font-size:48px; }
  .detail-title>p:last-child { font-size:16px; }
  .detail-content { grid-template-columns:1fr; padding:70px 20px; }
  .includes { grid-template-columns:1fr; }
  .booking-card { position:static; }
  .hotel-shell { width:calc(100% - 40px); }
  .hotel-contact-bar { height:43px; padding:0 15px; }
  .hotel-contact-bar>span { display:none; }
  .hotel-contact-bar div { width:100%; justify-content:space-between; }
  .hotel-contact-bar strong { font-size:15px; }
  .hotel-detail-nav { height:72px; }
  .hotel-detail-nav .brand { font-size:17px; }
  .hotel-detail-nav>a:last-child { font-size:11px; }
  .hotel-detail-hero { height:500px; }
  .hotel-detail-title { bottom:45px; }
  .hotel-detail-title h1 { font-size:43px; }
  .hotel-detail-title span { font-size:17px; line-height:1.5; display:block; }
  .hotel-detail-intro { padding:65px 0; }
  .hotel-features { grid-template-columns:1fr; }
  .hotel-rooms { padding:70px 0; }
  .hotel-room-list>div { grid-template-columns:1fr; }
  .hotel-room-list a { justify-self:start; }
  .hotel-location { padding:70px 0; }
  .hotel-map { height:280px; }
  .hotel-final-cta { padding:75px 20px; }
  footer { flex-direction:column; align-items:flex-start; padding:55px 22px 100px; }
  .footer-links { flex-direction:column; gap:12px; }
 .footer-da-alpha { justify-content: flex-start; height:50px; }
}

/* Mappa hotel - OpenStreetMap / Leaflet */
.hotel-map { height:410px; min-height:280px; border:1px solid #cbb99e; overflow:hidden; background:#efe8dc; }
.hotel-map .leaflet-control-attribution { font-size:10px; }
.hotel-map-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--wine); background:linear-gradient(135deg,#ded0b9,#f4eee4); }
.hotel-map-empty span { letter-spacing:.3em; font-weight:700; }
.hotel-map-empty small { color:#8d6d56; text-align:center; padding:0 25px; }
.hotel-address { margin-top:-5px; font-family:Arial,sans-serif !important; font-size:15px !important; font-weight:700; }
.hotel-map-directions { display: inline-block; position: relative; z-index: 10; margin-top: 20px; padding: 12px 20px; color: #fff; background: var(--wine); border: 1px solid var(--wine); text-decoration: none; font-weight: 700; cursor: pointer;}
.hotel-map-directions:hover { opacity: .9; }
.hotel-map-directions-overlay { position: absolute; top: 12px; right: 12px; z-index: 1000; padding: 8px 12px; background: #fff; color: #222; border-radius: 4px; font-size: 13px; font-weight: 600; text-decoration: none; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);}
.hotel-map-directions-overlay:hover { background: #f5f5f5; }


/* =========================================================
   PAGINE WORDPRESS STANDARD
   ========================================================= */

.irc-page {
    width: 100%;
}


/* Contenitore principale */

.irc-page-container {
    width: min(1120px, calc(100% - 40px));
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   HEADER CON IMMAGINE IN EVIDENZA
   ========================================================= */

.irc-page-hero {
    min-height: 390px;

    background-size: cover;
    background-position: center;

    position: relative;

    display: flex;
    align-items: flex-end;
}


/* Sfondo scuro nella parte inferiore
   per rendere leggibile il titolo */

.irc-page-hero-overlay {
    width: 100%;

    padding: 80px 0 55px;

    background:
        linear-gradient(
            to top,
            rgba(0, 0, 0, 0.65),
            rgba(0, 0, 0, 0)
        );
}


.irc-page-hero-inner {
    width: min(1120px, calc(100% - 40px));

    margin-left: auto;
    margin-right: auto;
}


.irc-page-hero h1 {
    margin: 0;

    font-family: inherit;

    font-size: clamp(2.2rem, 5vw, 4.2rem);

    line-height: 1.05;

    letter-spacing: -0.02em;

    color: #fff;
}


/* =========================================================
   PAGINA SENZA IMMAGINE
   ========================================================= */

.irc-page-title {
    padding: 75px 0 45px;
}


.irc-page-title h1 {
    margin: 0;

    font-family: inherit;

    font-size: clamp(2.2rem, 5vw, 4.2rem);

    line-height: 1.05;

    letter-spacing: -0.02em;
}


/* =========================================================
   CONTENUTO
   ========================================================= */

.irc-page-content {
    padding: 55px 0 100px;
}


/*
 * Il testo viene mantenuto più stretto e centrato
 * per ottenere una lettura simile alle altre pagine
 * del tema.
 */

.irc-page-text {
    width: min(820px, 100%);

    margin-left: auto;
    margin-right: auto;

    font-family: inherit;

    font-size: 1.05rem;

    line-height: 1.8;
}


/* Titoli interni */

.irc-page-text h2,
.irc-page-text h3,
.irc-page-text h4 {
    line-height: 1.2;

    margin-top: 2em;

    margin-bottom: 0.7em;
}


/* Paragrafi */

.irc-page-text p {
    margin-top: 0;

    margin-bottom: 1.25em;
}


/* Liste */

.irc-page-text ul,
.irc-page-text ol {
    margin-top: 0;

    margin-bottom: 1.25em;

    padding-left: 1.5em;
}


/* Immagini inserite nell'editor */

.irc-page-text img {
    max-width: 100%;

    height: auto;
}


/* Link */

.irc-page-text a {
    text-decoration: underline;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .irc-page-container,
    .irc-page-hero-inner {
        width: calc(100% - 28px);
    }


    .irc-page-hero {
        min-height: 300px;
    }


    .irc-page-hero-overlay {
        padding: 60px 0 35px;
    }


    .irc-page-content {
        padding: 35px 0 70px;
    }


    .irc-page-text {
        font-size: 1rem;

        line-height: 1.7;
    }

}

/* =========================================================
   PAGINE STANDARD - HEADER
   ========================================================= */

/* PAGINA CON IMMAGINE IN EVIDENZA */

.irc-standard-page.has-featured-image .site-header {
    background: transparent !important;
	position: absolute !important;
}


/* PAGINA SENZA IMMAGINE IN EVIDENZA */

.irc-standard-page.no-featured-image .site-header {
    background: #3c1922 !important;
	position: absolute !important;
}

/*.page-content-text { margin: auto 10%; }*/


