/* --------------------------------------------------
   VARIABILI
-------------------------------------------------- */
:root{
    --primary:#6a0631;
    --accent:#fcb900;
    --cta:#E35E00;
    --text:#3d3d3d;
    --light:#faf8f7;
    --cta-red:#e74c3c;
    --cta-orange:#E35E00;
    --cta-lightblue:#1abc9c;
    --cta-blue:#3498db;
	--gold:#f5c518;
	--gold-dark:#a88301;
	--amaranto:#6a0631;
}

/* --------------------------------------------------
   RESET WORDPRESS + BASE SICURA
-------------------------------------------------- */

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* 
.has-global-padding{
    padding-left:0 !important;
    padding-right:0 !important;
}

:root :where(.is-layout-constrained) > *{
    margin-block-start:0 !important;
    margin-block-end:0 !important;
}*/

*, *::before, *::after{
    box-sizing:border-box;
}



/* --------------------------------------------------
   BASE
-------------------------------------------------- */
/* RESET BASE */
html, body {margin: 0;padding: 0;overflow-x: hidden;}

/* HTML */
html {scrollbar-gutter: stable;scroll-behavior: smooth;}

/* BODY */
body {font-family: "Inter", Arial, sans-serif;background: #ffffff;color: var(--text);line-height: 1.65;}
.wp-site-blocks > main { padding: 1%;}

/* BLOCCO SCROLL SENZA SHIFT */
body.menu-open {overflow: hidden;padding-right: 15px;}
section{width:100%;padding:90px 24px;}

/* --------------------------------------------------
   TYPOGRAPHY
-------------------------------------------------- */
h1,h2,h3{margin-top:0;line-height:1.2;}
h2{color:var(--primary);font-size:2rem;margin-bottom:14px;}
p{margin:0 0 18px;font-size:1.1rem;}

/* --------------------------------------------------
   CTA — unica definizione consolidata
   BUG FIX: c'erano due blocchi .cta in conflitto.
   Mantenuto width:100% con min/max-width e font-size esplicito.
-------------------------------------------------- */
.cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:300px;
    max-width:400px;
    margin-top:18px;
    background:var(--cta);
    color:#fff;
    text-decoration:none;
    font-weight:700;
    font-size:1.1rem;
    padding:13px 28px;
    border-radius:999px;
    transition:all .3s ease;
    box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.cta:hover{transform:translateY(-3px);background:#c95000;box-shadow:0 12px 26px rgba(0,0,0,.16);}
.small-cta{font-size:.95rem;padding:10px 22px;max-width:230px;}

/* --------------------------------------------------
   HEADER
-------------------------------------------------- */
.topbar{position:fixed;top:0;left:0;width:100%;height:60px;display:flex;align-items:center;justify-content:center;background:#6a0631;border-bottom:1px solid #fcb900;z-index:1000;}
.topbar-inner{width:100%;max-width:1200px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;}
.brand a{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;color:#fff;}
.brand img{width:36px;border-radius:50%;}
/* HAMBURGER */
.hamburger{width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;}
.hamburger span,
.hamburger span:before,
.hamburger span:after{content:"";width:22px;height:2px;background:#fff;position:absolute;transition:all .3s ease;}
.hamburger span:before{top:-7px;}
.hamburger span:after{top:7px;}
.hamburger.active span{background:transparent;}
.hamburger.active span:before{top:0;transform:rotate(45deg);}
.hamburger.active span:after{top:0;transform:rotate(-45deg);}
/* OVERLAY */
.menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:2000;}
.menu-overlay.active{opacity:1;pointer-events:auto;}
/* PANEL */
.menu-panel{position:fixed;top:0;right:0;height:100%;width:100%;max-width:380px;background:#6a0631;padding:28px 24px;color:#fff;overflow-y:auto;transform:translateX(100%);transition:transform .25s ease;}
.menu-overlay.active .menu-panel{transform:translateX(0);}
/* CLOSE */
.menu-close{position:absolute;top:12px;right:16px;font-size:28px;border:none;background:none;color:#fff;cursor:pointer;}
/* LINKS */
.menu-panel a{display:block;color:#fff;text-decoration:none;}
.menu-title{font-size:18px;font-weight:700;color:#fcb900;margin-bottom:6px;}
.menu-sub{margin-bottom:15px;}
.menu-sub a{margin-left:12px;font-size:15px;}
/* NEWS */
.news-ticker{margin-top:20px;}
.news-ticker h3{color:#fcb900;margin:0 0 8px 0;}
.news-track{font-size:14px;line-height:1.4;}
/* SEZIONE LINK PRINCIPALI */
.menu-main-links{margin-top:25px;display:flex;flex-direction:column;gap:14px;}
.menu-main-links a{font-size:16px;font-weight:600;color:#fff;text-decoration:none;line-height:1.3;transition:opacity .2s ease;}
.menu-main-links a:hover{opacity:.8;}
/* NEWS SECTION */
.news-ticker{margin-top:30px;padding:16px;background:#520527;border-radius:10px;}
.news-ticker h3{font-size:18px;color:#fcb900;margin:0 0 10px 0;}
.news-track{font-size:14px;line-height:1.5;opacity:.9;white-space:normal;}
/* BOTTOM LINKS */
.bottom-links{margin-top:20px;padding:12px;background:#fcb900;display:flex;justify-content:center;gap:20px;font-weight:600;}
.bottom-links a{color:#000;}
/* FOOTER MENU LINKS */
.menu-footer-links{margin-top:30px;border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:center;align-items:center;gap:18px;}
.menu-footer-links a{font-size:14px;font-weight:600;color:#fcb900;text-decoration:none;letter-spacing:.3px;transition:opacity .2s ease;}
.menu-footer-links a:hover{opacity:.75;}
.menu-footer-divider{width:4px;height:4px;background:#fcb900;border-radius:50%;}
/* ACCOUNT SECTION */
.menu-account{margin-bottom:25px;display:flex;justify-content:center;}
.menu-panel .menu-account-link{display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgba(255,255,255,.08);border-radius:30px;text-decoration:none;transition:all .2s ease;}
.menu-account-link:hover{background:rgba(255,255,255,.18);}
.menu-account-icon{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;}
.menu-account-icon img{width:18px;height:18px;}
.menu-account-text{font-size:14px;font-weight:600;color:#fff;}
/* SOCIAL SECTION */
.menu-social{padding-top:20px;border-top:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;align-items:center;gap:12px;}
.menu-social-label{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.6);}
.menu-social-icons{display:flex;gap:18px;}
.menu-social-icons a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);transition:all .2s ease;}
.menu-social-icons a:hover{background:rgba(255,255,255,.18);}
.menu-social-icons img{width:25px;height:25px;display:block;}
.menu-travel-icons img{filter: brightness(0) invert(1) !important;}
.social-box{text-align:center;padding:20px;background:#460420;margin-top:20px;}
/* COPYRIGHT */
.copyright{margin-top:20px;text-align:center;color:#fcb900;font-size:13px;}

.grecaptcha-badge {display: none !important;}

/* --------------------------------------------------
   SUB LIST POST
-------------------------------------------------- */
.section-nav {
    margin: 12px 0;
}

.section-nav ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.section-nav li {
    display: flex;
    align-items: center;
}

.section-nav li:not(:last-child)::after {
    content: "•";
    color: #bbb;
    margin-left: 8px;
}

.section-nav a {
    color: #666;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: color .2s ease;
}

.section-nav a:hover {
    color: #000;
}

/* --------------------------------------------------
   FOOTER NEWSLETTER
-------------------------------------------------- */
.wrc-footer-newsletter {background: #f4b400;display: flex;justify-content: center;align-items: center;padding: 14px 20px;flex-wrap: wrap;gap: 15px;text-align: center;}
.wrc-footer-newsletter span {font-weight: 600;color: #000;}
.wrc-footer-newsletter-button {background: #7b002c;color: #fff;padding: 10px 22px;border-radius: 30px;font-weight: 600;text-decoration: none;transition: 0.3s ease;display: inline-block;}
.wrc-footer-newsletter-button:hover {opacity: 0.85;}

/* --------------------------------------------------
   FOOTER
-------------------------------------------------- */
.wrc-footer-main {background: #7b002c;color: #fff;padding: 60px 20px;}
.wrc-footer-container {max-width: 1200px;margin: 0 auto;display: flex;justify-content: space-between;gap: 60px;flex-wrap: wrap;}
.wp-block-template-part{margin-block-start: 0;}
.wrc-footer-wrapper {font-family: Arial, sans-serif;}

/* ==========================
   LOCAL TOURS FORM
   Brand color: #7b002c
========================== */

.local-tours-form {max-width: 850px; margin: 0 auto; padding: 40px; background: #ffffff; border: 1px solid #ececec; border-radius: 18px; box-shadow: 0 8px 30px rgba(0,0,0,.05);}
.local-tours-form p {margin-bottom: 24px;}
.local-tours-form label,
.local-tours-form p {color: #333; font-size: 15px; line-height: 1.6;}

/* Inputs */

.local-tours-form input[type="text"],
.local-tours-form input[type="email"],
.local-tours-form input[type="tel"],
.local-tours-form input[type="number"],
.local-tours-form select,
.local-tours-form textarea {width: 100%; margin-top: 8px; padding: 14px 16px; border: 1px solid #d8d8d8; border-radius: 10px; background: #fafafa; color: #333; font-size: 15px; transition: all .25s ease; box-sizing: border-box;}

/* Textarea */

.local-tours-form textarea {min-height: 160px; resize: vertical;}

/* Focus states */

.local-tours-form input:focus,
.local-tours-form select:focus,
.local-tours-form textarea:focus {outline: none; border-color: #7b002c; background: #fff; box-shadow: 0 0 0 4px rgba(123, 0, 44, .12);}

/* Placeholder */

.local-tours-form ::placeholder {color: #999;}

/* Select */

.local-tours-form select {cursor: pointer;}

/* Checkbox group */

.local-tours-form .wpcf7-checkbox {display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin-top: 12px;}
.local-tours-form .wpcf7-list-item {margin: 0;}
.local-tours-form .wpcf7-list-item label {display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: #fafafa; border: 1px solid #e5e5e5; border-radius: 10px; cursor: pointer; transition: all .2s ease;}
.local-tours-form .wpcf7-list-item label:hover {border-color: #7b002c; background: rgba(123, 0, 44, .03);}

/* Checkbox */

.local-tours-form input[type="checkbox"] {accent-color: #7b002c; width: 18px; height: 18px;}

/* Privacy */

.local-tours-form .privacy-line {margin-top: 10px;}
.local-tours-form .privacy-label {display: flex; align-items: center; gap: 10px; padding: 18px; border: 1px solid #e5e5e5 !important; border-radius: 10px; background: #fafafa;}
.local-tours-form .privacy-label a {color: #7b002c; font-weight: 600; text-decoration: none;}
.local-tours-form .privacy-label a:hover {text-decoration: underline;}

/* Acceptance checkbox */

.local-tours-form .privacy-label input[type="checkbox"] {flex-shrink: 0;}

/* Submit button */

.local-tours-form input[type="submit"] {width: 100%; padding: 16px 24px; border: none; border-radius: 12px; background: #7b002c; color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; transition: all .3s ease;}
.local-tours-form input[type="submit"]:hover {background: #5f0022; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(123, 0, 44, .20);}
.local-tours-form input[type="submit"]:active {transform: translateY(0);}

/* Validation messages */

.local-tours-form .wpcf7-not-valid-tip {color: #c62828; font-size: 13px; margin-top: 6px;}
.local-tours-form .wpcf7-response-output {margin: 25px 0 0 !important; padding: 15px !important; border-radius: 10px; font-size: 14px;}

/* LEFT COLUMN */
/* FIX: min-width:0 + width:100% per evitare trabocco su mobile */
.wrc-footer-left {flex: 1;min-width: 0;width: 100%;display: flex;flex-direction: column;align-items: center;text-align: center;}
.wrc-footer-logo {width: 90px;margin-bottom: 20px;}
.wrc-footer-title {font-size: 22px;font-weight: bold;margin-bottom: 15px;}
/* FIX: max-width percentuale per non traboccare su schermi stretti */
.wrc-footer-description {line-height: 1.7;margin-bottom: 25px;max-width: 380px;width: 100%;}
.wrc-footer-description a{font-weight: bold;color:#fff;}
/* FIX: justify-content:center per centrare i bottoni su mobile */
.wrc-footer-buttons {display: flex;gap: 20px;flex-wrap: wrap;justify-content: center;}
.wrc-footer-buttons a {background: #f4b400;color: #000;padding: 12px 28px;border-radius: 14px;text-decoration: none;font-weight: 600;transition: 0.3s ease;}
.wrc-footer-buttons a:hover {opacity: 0.85;}

/* RIGHT COLUMN */
/* FIX: min-width:0 per evitare trabocco su mobile */
.wrc-footer-right {flex: 1;min-width: 0;width: 100%;display: flex;flex-direction: column;align-items: center;text-align: center;}
/* FIX: gap ridotto da 60px a 40px + justify-content:center */
.wrc-footer-columns {display: flex;gap: 40px;flex-wrap: wrap;justify-content: center;}
.wrc-footer-column {min-width: 0;}
.wrc-footer-column h4 {color: #f4b400;margin-bottom: 15px;}
.wrc-footer-column ul {list-style: none;padding: 0;margin: 0;}
.wrc-footer-column ul li {margin-bottom: 10px;}
.wrc-footer-column ul li a {color: #fff;text-decoration: none;}
.wrc-footer-column ul li a:hover {text-decoration: underline;}

/* LOGOS */
/* FIX: flex-wrap:wrap (era nowrap) per permettere il ritorno a capo su mobile */
.wrc-footer-logos {margin-top: 40px;display: flex;justify-content: center;align-items: center;gap: 20px;flex-wrap: wrap;text-align: center;}
.wrc-footer-logos img {height: 60px;}

/* POLICIES */
.wrc-footer-policies {margin-top: 25px;text-align: center;}
.wrc-footer-policies a {color: #fff;text-decoration: none;font-size: 14px;}
.wrc-footer-policies a:hover {text-decoration: underline;}

/* ===== BOTTOM BAR ===== */
.wrc-footer-bottom {background: #f4b400;text-align: center;padding: 25px 20px;}
.wrc-footer-bottom img {width: 30px;margin-bottom: 10px;}
.wrc-footer-bottom p {margin: 4px 0;font-size: 14px;color: #000;}

/* --------------------------------------------------
   BLOCK LAYOUT
-------------------------------------------------- */
.block{max-width:1220px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.block img{width:100%;height:360px;object-fit:cover;border-radius:20px;border:4px solid var(--accent);display:block;transition:transform .45s ease, box-shadow .45s ease;}
.block img:hover{transform:scale(1.02);box-shadow:0 16px 32px rgba(0,0,0,.14);}

/* reverse */
.reverse .block-content{order:2;}
.reverse .block-image{order:1;}

/* --------------------------------------------------
   FEATURE GRID
-------------------------------------------------- */
.features{max-width:1220px;margin:auto;}
.features-intro{max-width:820px;margin:0 auto 60px;text-align:center;}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.feature-card{background:var(--light);padding:34px;border-radius:22px;border-top:5px solid var(--accent);transition:all .35s ease;}
.feature-card:hover{transform:translateY(-6px);box-shadow:0 12px 28px rgba(0,0,0,.08);}
.feature-card h3{color:var(--primary);margin-bottom:14px;font-size:1.3rem;}

/* --------------------------------------------------
   SECTION DIVIDER
-------------------------------------------------- */
.section-divider{background:var(--light);}

/* --------------------------------------------------
/* ── Base ── */
.wrc *, .wrc *::before, .wrc *::after { box-sizing: border-box; margin: 0; padding: 0; }
.wrc {
  --amaranto:  #6a0631;
  --amaranto2: #8b0a40;
  --gold:      #f5c518;
  --gold-dark: #c9a200;
  --white:     #ffffff;
  --off:       #f7f4f0;
  --dark:      #1a1008;
  --muted:     #6b6560;
  --radius:    18px;
  --shadow:    0 8px 32px rgba(0,0,0,.14);
  font-family: 'Mulish', Georgia, sans-serif;
  color: var(--dark);
  overflow-x: hidden;
}

/* ══ HERO ══ */
.wrc-hero {position: relative;min-height: 540px;display: flex;align-items: flex-end;background-image: url('https://welcomereggiocalabria.com/wp-content/uploads/2025/06/Arena_dello_Stretto_di_Reggio_Calabria-1.webp');background-size: cover;background-position: 61% 56%;}
.wrc-hero::after {content: '';position: absolute; inset: 0;background: linear-gradient(to top, rgba(10,4,2,.82) 0%, rgba(10,4,2,.35) 55%, transparent 100%);}
.wrc-hero__inner {position: relative; z-index: 1;width: 100%;display: grid;grid-template-columns: 1fr auto;gap: 32px;align-items: flex-end;padding: 56px 5% 48px;}
.wrc-hero__eyebrow {display: inline-flex; align-items: center; gap: 8px;background: rgba(245,197,24,.18);border: 1px solid rgba(245,197,24,.5);border-radius: 999px;padding: 5px 14px;font-size: .78rem; font-weight: 700;letter-spacing: .08em; text-transform: uppercase;color: var(--gold); margin-bottom: 14px;}
.wrc-hero__title {font-size: clamp(2rem, 5vw, 3.2rem);font-weight: 800; color: #fff; line-height: 1.12;font-family: 'Raleway', Georgia, sans-serif;margin-bottom: 14px;text-shadow: 0 2px 12px rgba(0,0,0,.4);}
.wrc-hero__title span { color: var(--gold); }
.wrc-hero__desc {font-size: 1rem; color: #fff !important;line-height: 1.65; max-width: 480px; margin-bottom: 28px;}
.wrc-hero__cta {display: inline-flex; align-items: center; gap: 10px;background: var(--gold); color: var(--amaranto);font-weight: 800; font-size: .95rem;padding: 14px 32px; border-radius: 999px;text-decoration: none;transition: background .2s, transform .2s, box-shadow .2s;box-shadow: 0 4px 20px rgba(245,197,24,.4);letter-spacing: .02em;}
.wrc-hero__cta:hover { background: var(--gold-dark); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(245,197,24,.45); }

/* --------------------------------------------------
   METEO BOX
-------------------------------------------------- */
.wrc-weather {background: rgba(255,255,255,.14);backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);border: 1px solid rgba(255,255,255,.28);border-radius: 16px; padding: 18px 22px;color: #fff; min-width: 190px; flex-shrink: 0;box-shadow: 0 8px 28px rgba(0,0,0,.18);transition: background .25s ease, transform .25s ease;}
.wrc-weather:hover { background: rgba(255,255,255,.2); transform: translateY(-2px); }
.wrc-weather__city { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .7; margin-bottom: 6px; }
.wrc-weather__row { display: flex; align-items: center; gap: 10px; }
.wrc-weather__temp { font-size: 2.4rem; font-weight: 800; line-height: 1; }
.wrc-weather__info { display: flex; flex-direction: column; gap: 2px; }
.wrc-weather__cond { font-size: .85rem; font-weight: 600; }
.wrc-weather__wind { font-size: .75rem; opacity: .7; }
.wrc-weather__ico { color: var(--gold, #93c5fd); flex-shrink: 0; }

/* ══ SECTIONS ══ */
.wrc-section { padding: 80px 5%; }
.wrc-section--off { background: var(--off); }
.wrc-sh { text-align: center; margin-bottom: 52px; }
.wrc-sh__eyebrow {display: inline-block; font-size: .72rem; font-weight: 800;letter-spacing: .14em; text-transform: uppercase;color: var(--amaranto); margin-bottom: 10px;}
.wrc-sh__title {font-size: clamp(1.6rem, 3.5vw, 2.2rem); font-weight: 800;font-family: 'Raleway', Georgia, sans-serif;color: var(--dark); margin-bottom: 10px; line-height: 1.2;}
.wrc-sh__line { width: 48px; height: 3px; background: var(--gold); border-radius: 2px; margin: 0 auto; }

/* ══ PHOTO CARDS ══ */
.wrc-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 20px; margin-bottom: 44px;}
.wrc-card {position: relative; display: block;border-radius: var(--radius); overflow: hidden;text-decoration: none; aspect-ratio: 4 / 3;box-shadow: var(--shadow);  transition: transform .3s ease, box-shadow .3s ease;}
.wrc-card:hover { transform: translateY(-6px) scale(1.01); box-shadow: 0 20px 48px rgba(0,0,0,.22); }
.wrc-card:hover .wrc-card__img { transform: scale(1.06); }
.wrc-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.wrc-card__overlay {position: absolute; inset: 0;background: linear-gradient(to top, rgba(10,4,2,.78) 0%, rgba(10,4,2,.1) 55%, transparent 100%);}
.wrc-card__body { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px; }
.wrc-card__cat {display: inline-block; background: var(--gold); color: var(--amaranto);font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;padding: 3px 10px; border-radius: 999px; margin-bottom: 8px;}
.wrc-card__title {font-size: 1rem; font-weight: 700; color: #fff; line-height: 1.3;font-family: 'Raleway', Georgia, sans-serif;text-shadow: 0 1px 4px rgba(0,0,0,.5);}
.wrc-card__arrow { position: absolute; top: 16px; right: 16px;width: 34px; height: 34px;background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;backdrop-filter: blur(4px); transition: background .2s;}
.wrc-card:hover .wrc-card__arrow { background: var(--gold); }
.wrc-card__arrow svg { color: #fff; transition: color .2s; }
.wrc-card:hover .wrc-card__arrow svg { color: var(--amaranto); }

/* ══ BUTTONS ══ */
.wrc-cta { text-align: center; }
.wrc-btn {display: inline-flex; align-items: center; gap: 8px;padding: 13px 34px; border-radius: 999px;font-weight: 700; font-size: .9rem;text-decoration: none; transition: all .2s;letter-spacing: .02em; border: 2px solid transparent;}
.wrc-btn--gold { background: var(--gold); color: var(--amaranto); box-shadow: 0 4px 16px rgba(245,197,24,.3); }
.wrc-btn--gold:hover { background: var(--gold-dark); transform: translateY(-2px); }
.wrc-btn--outline { background: transparent; border-color: var(--amaranto); color: var(--amaranto); }
.wrc-btn--outline:hover { background: var(--amaranto); color: #fff; }

/* ══ LUNGOMARE BANNER ══ */
.wrc-banner {display: grid; grid-template-columns: 1fr 1fr; gap: 0;border-radius: 24px; overflow: hidden;max-width: 1100px; margin: 0 auto;box-shadow: 0 16px 56px rgba(0,0,0,.22);}
.wrc-banner__photo { position: relative; min-height: 360px; }
.wrc-banner__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wrc-banner__content {background: var(--amaranto); padding: 52px 44px;display: flex; flex-direction: column; justify-content: center;}
.wrc-banner__eyebrow {font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
.wrc-banner__title { font-size: clamp(1.2rem, 2.5vw, 1.7rem); font-weight: 800; color: #fff; line-height: 1.3; font-family: 'Raleway', Georgia, sans-serif; margin-bottom: 16px; }
/* BUG FIX: font-size unificato a 1.1rem (valore della prima definizione, più leggibile) */
.wrc-banner__desc { font-size: 1.1rem; color: #fff !important; line-height: 1.75; margin-bottom: 18px; }
/* BUG FIX: color corretto — era rgb(106,6,49) uguale allo sfondo amaranto → testo invisibile */
.wrc-banner__quote { border-left: 3px solid var(--gold); padding-left: 16px; font-style: italic; font-size: 1.0rem; color: rgba(255,255,255,.6); margin-bottom: 28px;}

/* ══ SERVICES ══ */
.wrc-services {display: grid; grid-template-columns: repeat(3, 1fr);gap: 24px; max-width: 1100px; margin: 0 auto;}
.wrc-service {background: #fff; border-radius: var(--radius);padding: 36px 28px; box-shadow: 0 4px 20px rgba(0,0,0,.07);display: flex; flex-direction: column; align-items: center; text-align: center;border-top: 4px solid var(--gold);transition: transform .25s, box-shadow .25s;}
.wrc-service:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.12); }
.wrc-service__ico {width: 56px; height: 56px;background: linear-gradient(135deg, var(--amaranto), var(--amaranto2));border-radius: 14px; display: flex; align-items: center; justify-content: center;margin-bottom: 20px; box-shadow: 0 4px 14px rgba(106,6,49,.3);}
.wrc-service__ico svg { color: var(--gold); }
/* BUG FIX: font-size ripristinato a 1.2rem (la seconda copia duplicata lo riduceva a 1rem) */
.wrc-service h4 { font-size: 1.2rem; font-weight: 800; color: var(--dark); margin-bottom: 12px; font-family: 'Raleway', Georgia, sans-serif; }
.wrc-service p { font-size: 1.1rem; color: var(--muted); line-height: 1.75; flex: 1; margin-bottom: 22px; }

/* BUG FIX: .wp-block-template-part spostato PRIMA dei media query
   così il min-height:80px nel @media 900px non viene sovrascritto */
.wp-block-template-part{min-height:60px;}


/* =========================================
   WRRC TRANSPORT QUICK LINKS
   Unique classes to avoid conflicts
========================================= */
#wrrc-transport-links {width: 100%;margin: 40px auto;padding: 0 20px;}
.wrrc-transport-grid {display: flex;justify-content: center;align-items: center;gap: 18px;flex-wrap: wrap;}
.wrrc-transport-btn {display: flex;align-items: center;justify-content: center;gap: 10px;padding: 14px 22px;border-radius: 18px;background: #ffffff;border: 1px solid rgba(0,0,0,0.08);text-decoration: none;font-family: 'Inter', sans-serif;font-size: 15px;font-weight: 600;color: #111111;transition: all 0.25s ease;box-shadow: 0 4px 18px rgba(0,0,0,0.05);min-width: 220px;}
.wrrc-transport-btn:hover {transform: translateY(-3px);box-shadow: 0 10px 25px rgba(0,0,0,0.10);border-color: rgba(0,0,0,0.14);}
.wrrc-transport-icon {font-size: 22px;line-height: 1;}
.wrrc-transport-text {display: flex;flex-direction: column;align-items: flex-start;line-height: 1.2;}
.wrrc-transport-title {font-size: 15px;font-weight: 700;}
.wrrc-transport-subtitle {font-size: 12px;font-weight: 500;opacity: 0.72;}


/* =========================================
   RESPONSIVE
-------------------------------------------------- */
@media(max-width:1024px){
    .quick-actions{grid-template-columns:repeat(2,1fr);}
    .button-grid{grid-template-columns:1fr;}
}
@media(max-width:1100px){
    .block{gap:50px;}
    .feature-grid{grid-template-columns:repeat(2,1fr);}
    .hero h1{font-size:2.8rem;}
}
@media (max-width: 900px) {
    h2{font-size:1.9rem;}
    section{padding:72px 20px;}
    .hero{padding:125px 20px 95px;}
    .hero h1{font-size:2.35rem;}
    .block{grid-template-columns:1fr;gap:28px;}
    .reverse .block-content, .reverse .block-image{order:unset;}
    .block img{height:260px;}
    .block-content{text-align:center;}
    .feature-grid{grid-template-columns:1fr;}
    .wrc-services { grid-template-columns: 1fr; max-width: 480px; }
    .wrc-grid { grid-template-columns: repeat(2, 1fr); }
    /* BUG FIX: .wp-block-template-part min-height era definito DOPO (60px globale)
       e sovrascriveva questo 80px. Spostato il 60px globale prima del media query. 
    .wp-block-template-part{min-height:80px;}*/
}
@media(max-width:768px){
    h2{font-size:1.65rem;}
    section{padding:38px 18px;}
    .hero{padding:90px 18px 75px;}
    .hero h1{font-size:2.2rem;}
    .hero p{font-size:.98rem;}
    .quick-actions{grid-template-columns:1fr;gap:14px;margin-top:-35px;padding:0 18px;}
    .quick-card{padding:22px 20px;}
    .pharmacy-wrapper{grid-template-columns:1fr;gap:22px;}
    .pharmacy-card img{height:210px;}
    .info-box{padding:24px 20px;}
    .wrc-footer-container {flex-direction: column;gap: 40px;}
    .wrc-footer-columns {gap: 24px;justify-content: center;}
    .wrc-footer-newsletter {flex-direction: column;text-align: center;}
    .wrc-footer-newsletter span {max-width: 480px;}
    .wrrc-transport-grid {flex-direction: column;}
    .wrrc-transport-btn {width: 100%;max-width: 380px;justify-content: flex-start;}
	.local-tours-form {padding: 25px 20px;border-radius: 14px;}
    .local-tours-form .wpcf7-checkbox {grid-template-columns: 1fr;}
    .local-tours-form .privacy-label {align-items: flex-start;}
    .local-tours-form input[type="submit"] {padding: 15px;}
	.discover-reggio-section { padding: 60px 15px; }
    .section-heading h2 { font-size: 1.9rem; }
    .discover-card, .discover-card img { height: 300px; min-height: 300px; }

}
@media (max-width: 680px) {
    .wrc-banner { grid-template-columns: 1fr; }
    .wrc-banner__content { padding: 36px 28px; }
    .wrc-hero__inner { grid-template-columns: 1fr; padding: 28px 5% 40px; }
    .wrc-weather { order: -1; align-self: center; width: auto; max-width: 240px; margin: 0 auto 22px; padding: 12px 18px; }
    .wrc-weather__row { gap: 8px; }
    .wrc-weather__temp { font-size: 1.7rem; }
    .wrc-weather__ico { width: 24px; height: 24px; }
    .wrc-weather__cond { font-size: .75rem; }
    .wrc-weather__wind { font-size: .68rem; }
}
@media(max-width:600px){
    section{padding:58px 18px;}
    .hero h1{font-size:2rem;}
    .hero p{font-size:1rem;}
    .block img{height:220px;border-radius:16px;}
    .feature-card{padding:28px 24px;}
    .cta{width:100%;max-width:260px;}
    .wrc-grid { grid-template-columns: 1fr; }
}
@media (max-width:480px){
    .menu-panel{max-width:100%;}
    .menu-main-links a{font-size:18px;}
    .news-ticker{padding:14px;}
    .menu-footer-divider{display:none;}
    .menu-social{margin-top:30px;}
    .menu-social-icons{gap:14px;}
}
@media (max-width:480px){
    /* FOOTER su mobile stretto */
    .wrc-footer-main {padding: 40px 16px;}
    .wrc-footer-container {gap: 32px;}
    .wrc-footer-columns {flex-direction: column;align-items: center;gap: 24px;}
    .wrc-footer-column {width: 100%;text-align: center;}
    .wrc-footer-logos {gap: 14px;}
    .wrc-footer-logos img {height: 46px;}
    .wrc-footer-buttons {flex-direction: column;align-items: center;gap: 12px;}
    .wrc-footer-buttons a {width: 100%;max-width: 260px;text-align: center;}
    .wrc-footer-bottom {padding: 18px 16px;}
}

/*--------------------------------------------
SEZIONE GEMME DEI TOP POST
------------------------*/
.discover-reggio-section { padding: 80px 20px; }
.section-heading { text-align: center; max-width: 850px; margin: 0 auto 50px; }
.second-heading { margin-top: 90px; }
.section-heading h2 { font-size: 2.3rem; color: #7b002c; margin-bottom: 15px; font-weight: 700; }
.section-heading p { color: #666; font-size: 1.05rem; line-height: 1.7; }
.discover-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; }
.discover-card { position: relative; display: block; overflow: hidden; border-radius: 18px; min-height: 340px; text-decoration: none; box-shadow: 0 10px 30px rgba(0,0,0,.08); transition: all .35s ease; }
.discover-card:hover { transform: translateY(-8px); box-shadow: 0 18px 40px rgba(0,0,0,.15); }
.discover-card img { width: 100%; height: 340px; object-fit: cover; transition: transform .5s ease; }
.discover-card:hover img { transform: scale(1.08); }
.card-overlay { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 25px; background: linear-gradient(to top, rgba(0,0,0,.75) 5%, rgba(0,0,0,.35) 45%, rgba(0,0,0,.05) 100%); }
.card-overlay h3 { color: #fff; font-size: 1.35rem; margin: 0; font-weight: 600; line-height: 1.3; }


/* --------------------------------------------------
   ANIMAZIONI
-------------------------------------------------- */
.fade-slide-up,
.fade-slide-left,
.fade-slide-right{opacity:0;transform:translateY(45px);transition:all .8s ease;}
.visible{opacity:1 !important;transform:translateY(0) !important;}

/* --------------------------------------------------
   HERO
-------------------------------------------------- */
.hero{position:relative;padding:105px 22px 85px;overflow:hidden;color:#fff;text-align:center;border-bottom:5px solid var(--accent);background-size:cover;background-position:center;background-repeat:no-repeat;}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.72));}
.hero > *{position:relative;z-index:1;}
.hero-content{position:relative;z-index:1;max-width:820px;margin:auto;}
.hero h1{color:#ffffff;font-size:3rem;margin-bottom:18px;}
.hero p{color:#ffffff;max-width:700px;margin:auto;font-size:1.1rem;}

#hero-pharmacies{background:url('https://welcomereggiocalabria.com/wp-content/uploads/2026/01/Pharmacies-near-you-Welcome-Reggio-Calabria.webp') center/cover no-repeat;}
#hero-pet{background:url('https://welcomereggiocalabria.com/wp-content/uploads/2026/01/Pharmacies-near-you-Welcome-Reggio-Calabria.webp') center/cover no-repeat;}
#hero-rental{background:url('https://travel.welcomereggiocalabria.com/media/car-rental-reggio-calabria-welcome-travel.webp') center/cover no-repeat;}
#hero-fly{background:url('https://travel.welcomereggiocalabria.com/media/best-flight-routes-to-Reggio-Calabria-and-the-Strait-of-Messina.webp') center/cover no-repeat;}

/* --------------------------------------------------
   QUICK ACTIONS
-------------------------------------------------- */
.quick-actions{max-width:1180px;margin:-45px auto 0;position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:0 22px;}
.quick-card{background:#ffffff;border-radius:18px;padding:26px 22px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.08);}
.quick-card h3{color:var(--primary);font-size:1.1rem;margin-bottom:12px;}
.quick-card p{font-size:.94rem;margin-bottom:18px;}

/* --------------------------------------------------
   CTA COLORI
-------------------------------------------------- */
.cta-orange{background:var(--cta-orange);}
.cta-orange:hover{background:#c95000;}
.cta-lightblue{background:var(--cta-lightblue);}
.cta-lightblue:hover{background:#16a085;}
.cta-blue{background:var(--cta-blue);}
.cta-blue:hover{background:#2980b9;}
.cta-red{background:var(--cta-red);}
.cta-red:hover{background:#c0392b;}

/* --------------------------------------------------
   SEZIONE PRINCIPALE
-------------------------------------------------- */
.main-section{max-width:1180px;margin:auto;}

/* --------------------------------------------------
   FARMACIE H24
-------------------------------------------------- */
.pharmacy-wrapper{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:12px;}
.pharmacy-card{background:#ffffff;border-radius:22px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.06);border:1px solid #efefef;}
.pharmacy-card img{width:100%;height:240px;object-fit:cover;display:block;}
.pharmacy-content{padding:26px;}
.pharmacy-content h3{color:var(--primary);margin-bottom:12px;font-size:1.35rem;}
.pharmacy-content p{margin-bottom:20px;font-size:.96rem;}

/* --------------------------------------------------
   GUARDIA MEDICA
-------------------------------------------------- */
.info-box{margin-top:28px;background:var(--light);border-radius:20px;padding:34px;}
.button-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px;}

/* --------------------------------------------------
   WRC COMPONENT SYSTEM
   BUG FIX: rimossa la duplicazione completa del blocco .wrc.
   Unica definizione consolidata con valori corretti.
-------------------------------------------------- */

   https://travel.welcomereggiocalabria.com/fly-to-reggio-calabria
   Sezione lista Aeroporti nazionali ed internazionali
========================================= */
.routes-section {
    padding: 100px 20px;
    background: linear-gradient(to bottom, #f8fafc, #ffffff);
}

.features-intro {
    max-width: 900px;
    margin: 0 auto 60px;
    text-align: center;
}

.section-badge {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(0, 102, 204, 0.1);
    color: #0066cc;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 18px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.features-intro h2 {
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    line-height: 1.1;
    margin-bottom: 20px;
    color: #0f172a;
}

.features-intro p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #475569;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 32px;
    align-items: start;
}

.feature-card {
    background: #ffffff;
    border-radius: 28px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(148, 163, 184, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.12);
}

.card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}

.card-icon {
    font-size: 1.8rem;
    line-height: 1;
}

.feature-card h3 {
    font-size: 1.5rem;
    line-height: 1.3;
    color: #0f172a;
    margin: 0;
}

.feature-card > p {
    font-size: 1rem;
    line-height: 1.8;
    color: #475569;
    margin-bottom: 30px;
}

.routes-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.routes-list li {
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}

.routes-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.routes-list h4 {
    font-size: 1.05rem;
    margin-bottom: 10px;
    color: #111827;
}

.routes-list p {
    margin: 0;
    font-size: 0.96rem;
    line-height: 1.7;
    color: #64748b;
}

@media (max-width: 768px) {
    .routes-section {
        padding: 70px 16px;
    }
    .feature-card {
        padding: 28px;
        border-radius: 22px;
    }
    .features-intro {
        margin-bottom: 40px;
    }
}
body{
--wp--style--root--padding-top: 0px;
--wp--style--root--padding-right: 0pc !important;
--wp--style--root--padding-bottom: 0px;
--wp--style--root--padding-left: 0px !important;
}

/* --------------------------------------------------
   Style Bottoni per articoli Pagine
   CSS responsivo dei bottoni per servizi in generale, da food a drink e servizi in genere
-------------------------------------------------- */


.icon-buttons-food {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    padding: 20px 0;
}

.icon-buttons-food .btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,.1);
    border-radius: 16px;
    text-decoration: none;
    font-size: 28px;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.icon-buttons-food .btn:hover {
    background: #f5f5f5;
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0,0,0,.08);
}

.icon-buttons-food .btn:active {
    transform: translateY(0);
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* responsive: su mobile stretti si rimpiccioliscono ma rimangono su una riga */
@media (max-width: 480px) {
    .icon-buttons-food .btn {
        width: 56px;
        height: 56px;
        font-size: 22px;
        border-radius: 12px;
    }
}

/* ============================================================
   ARTICOLO SINGOLO — layout "contenuto + rail destro"
   Come sul portale originale (welcomereggiocalabria.com): a sinistra
   il contenuto (~66%), a destra la colonna con IN CIMA il box
   "articolo precedente / successivo" e SOTTO ricerca + articoli
   correlati. In mobile (<782px) tutto impilato in colonna unica.

   Struttura WP di riferimento (hash variabili per pagina):
     .wp-block-group (is-layout-constrained)          <- reso GRID
       ├─ .wp-block-columns.alignwide                 <- display:contents
       │    ├─ .wp-block-column  (contenuto, flex-basis:66.66%)
       │    └─ .wp-block-group   (box prec./succ., has-border-color)
       └─ .wp-block-column       (ricerca + correlati / sidebar-widget)
   ============================================================ */
@media (min-width: 782px) {
    /* le colonne WP restano affiancate (è comunque il default nativo) */
    .single-post .wp-block-columns { flex-wrap: nowrap !important; }

    /* gruppo "corpo articolo" -> griglia contenuto | rail destro */
    .single-post main .wp-block-group:has(> .wp-block-columns.alignwide):has(> .wp-block-column) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) clamp(300px, 32%, 380px);
        /* riga 2 = 1fr: assorbe l'altezza extra del contenuto così i due
           box del rail destro restano impaccati in alto */
        grid-template-rows: auto 1fr;
        column-gap: 40px;
        row-gap: 24px;
        align-items: start;
    }
    /* il .wp-block-columns interno viene "sciolto": i suoi figli diventano
       celle della griglia esterna */
    .single-post main .wp-block-group:has(> .wp-block-columns.alignwide):has(> .wp-block-column) > .wp-block-columns.alignwide {
        display: contents;
    }
    /* contenuto -> colonna 1, occupa entrambe le righe */
    .single-post main .wp-block-group:has(> .wp-block-columns.alignwide):has(> .wp-block-column) > .wp-block-columns.alignwide > .wp-block-column {
        grid-column: 1;
        grid-row: 1 / span 2;
        flex-basis: auto !important;
        max-width: 100%;
        min-width: 0;
        margin: 0;
    }
    /* box articolo prec./succ. -> rail destro, riga 1, in cima */
    .single-post main .wp-block-group:has(> .wp-block-columns.alignwide):has(> .wp-block-column) > .wp-block-columns.alignwide > .wp-block-group {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
        margin: 0;
    }
    /* ricerca + articoli correlati -> rail destro, riga 2 */
    .single-post main .wp-block-group:has(> .wp-block-columns.alignwide):has(> .wp-block-column) > .wp-block-column {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        min-width: 0;
        margin: 0;
    }
}

@media (max-width: 781px) {
    /* colonna unica: contenuto -> prec./succ. -> ricerca + correlati */
    .single-post main .wp-block-group:has(> .wp-block-columns.alignwide):has(> .wp-block-column) > .wp-block-columns.alignwide {
        display: block;
    }
    .single-post .wp-block-columns:not(.is-not-stacked-on-mobile) {
        flex-wrap: wrap !important;
    }
    .single-post .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column,
    .single-post .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-group {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }
}

/* ============================================================
   HERO — articoli di ogni tipo (top / breve / tour) + archivi
   categoria e tag.
   - attaccato all'header: la regione è il 2° figlio di
     .wp-site-blocks (dopo l'<header>) e prende `margin-block-start:24px`
     da WP -> azzerato; il wrapper degli articoli "top" ha anche un
     padding-top esplicito -> azzerato.
   - full-bleed 100vw: primo .wp-block-cover della pagina, a
     qualunque profondità (i "top" hanno l'hero dentro .entry-content).
   ============================================================ */
.single-post .wp-site-blocks > .wp-block-group,
.archive .wp-site-blocks > .wp-block-group {
    margin-top: 0 !important;
}
/* articoli "top": gruppo che avvolge le colonne, con padding esplicito */
.single-post .wp-site-blocks > .wp-block-group.is-layout-flow > .wp-block-group.has-global-padding {
    padding-top: 0 !important;
}
/* articoli breve/tour + archivi: <main> senza spazio sopra */
.single-post main,
.archive main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* HERO full-bleed */
.single-post .wp-block-cover:first-child,
.archive .wp-block-cover:first-child {
    margin-top: 0 !important;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}