/* --------------------------------------------------
   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 + BASE SICURA
-------------------------------------------------- */

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

:root :where(.wrc-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;}
.wrc-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);}
/* BUG FIX: min-width:300px ereditato da .cta batteva sempre questo
   max-width:230px (min-width vince sempre su max-width), quindi i bottoni
   "small" non erano mai davvero piu' stretti. */
.small-cta{font-size:.95rem;padding:10px 22px;min-width:0;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-icon 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: none;
}

/* BUG FIX: erano link grigi (#666) su sfondo bianco, poco leggibili.
   Bottone outline: bordo amaranto, nessun riempimento (uno sfondo pieno,
   es. oro, rende difficile leggere il testo scuro sopra). Amaranto su
   bianco supera ampiamente il rapporto di contrasto minimo WCAG AA
   (4.5:1 testo normale): #6a0631 su #fff e' circa 10.6:1.
   !important per blindare il colore da qualunque regola "a{color:...}"
   piu' generica ereditata dai contenuti importati dentro i singoli articoli. */
.section-nav a,
.section-nav a:visited {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent !important;
    color: var(--amaranto) !important;
    border: 1.5px solid var(--amaranto) !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 999px;
    transition: background .2s ease, color .2s ease;
}

.section-nav a:hover,
.section-nav a:focus-visible {
    background: var(--amaranto) !important;
    color: #fff !important;
}
.section-nav a:hover .material-symbols-outlined,
.section-nav a:focus-visible .material-symbols-outlined {
    color: #fff;
}

/* --------------------------------------------------
   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;}
.wrc-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 .wrc-form-checkbox {display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin-top: 12px;}
.local-tours-form .wrc-form-list-item {margin: 0;}
.local-tours-form .wrc-form-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 .wrc-form-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 .wrc-form-not-valid-tip {color: #c62828; font-size: 13px; margin-top: 6px;}
.local-tours-form .wrc-form-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/media/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: .wrc-template-part spostato PRIMA dei media query
   così il min-height:80px nel @media 900px non viene sovrascritto */
.wrc-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: .wrc-template-part min-height era definito DOPO (60px globale)
       e sovrascriveva questo 80px. Spostato il 60px globale prima del media query. 
    .wrc-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 .wrc-form-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/media/Pharmacies-near-you-Welcome-Reggio-Calabria.webp') center/cover no-repeat;}
#hero-pet{background:url('https://welcomereggiocalabria.com/media/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;}
/* BUG FIX: .cta ha min-width:300px, piu' largo delle colonne della griglia
   a 4 (e spesso anche a 2), quindi i bottoni uscivano dalla card. Dentro
   .quick-card il bottone deve poter restringersi alla larghezza reale. */
.quick-card .cta{min-width:0;max-width:100%;}

/* --------------------------------------------------
   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{
--wrc-style-root--padding-top: 0px;
--wrc-style-root--padding-right: 0pc !important;
--wrc-style-root--padding-bottom: 0px;
--wrc-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;
}

/* BUG FIX: sfondo bianco puro rendeva poco visibili le emoji piu' chiare
   (es. 🍸 🍦 e soprattutto 🍽️, quasi bianca): sfondo amaranto piu'
   presente (non solo un velo) + colore amaranto per l'icona, cosi' il
   contrasto non dipende piu' dai colori imprevedibili delle emoji.
   !important necessario: ogni articolo duplica questa regola in un <style>
   locale con lo stesso sfondo bianco, che altrimenti vincerebbe (stessa
   specificita', ma viene dopo nel documento). */
.icon-buttons-food .btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: rgba(106,6,49,.13) !important;
    border: 1px solid rgba(106,6,49,.32) !important;
    border-radius: 16px;
    text-decoration: none;
    color: var(--amaranto) !important;
    font-size: 28px;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.icon-buttons-food .btn .material-symbols-outlined {
    font-size: 30px;
    color: var(--amaranto);
}

.icon-buttons-food .btn:hover {
    background: rgba(106,6,49,.22) !important;
    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):
     .wrc-group (is-layout-constrained)          <- reso GRID
       ├─ .wrc-columns.wrc-alignwide                 <- display:contents
       │    ├─ .wrc-column  (contenuto, flex-basis:66.66%)
       │    └─ .wrc-group   (box prec./succ., has-border-color)
       └─ .wrc-column       (ricerca + correlati / sidebar-widget)
   ============================================================ */
@media (min-width: 782px) {
    /* le colonne WP restano affiancate (è comunque il default nativo) */
    .wrc-single .wrc-columns { flex-wrap: nowrap !important; }

    /* gruppo "corpo articolo" -> griglia contenuto | rail destro */
    .wrc-single main .wrc-group:has(> .wrc-columns.wrc-alignwide):has(> .wrc-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 .wrc-columns interno viene "sciolto": i suoi figli diventano
       celle della griglia esterna */
    .wrc-single main .wrc-group:has(> .wrc-columns.wrc-alignwide):has(> .wrc-column) > .wrc-columns.wrc-alignwide {
        display: contents;
    }
    /* contenuto -> colonna 1, occupa entrambe le righe */
    .wrc-single main .wrc-group:has(> .wrc-columns.wrc-alignwide):has(> .wrc-column) > .wrc-columns.wrc-alignwide > .wrc-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 */
    .wrc-single main .wrc-group:has(> .wrc-columns.wrc-alignwide):has(> .wrc-column) > .wrc-columns.wrc-alignwide > .wrc-group {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
        margin: 0;
    }
    /* ricerca + articoli correlati -> rail destro, riga 2 */
    .wrc-single main .wrc-group:has(> .wrc-columns.wrc-alignwide):has(> .wrc-column) > .wrc-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 */
    .wrc-single main .wrc-group:has(> .wrc-columns.wrc-alignwide):has(> .wrc-column) > .wrc-columns.wrc-alignwide {
        display: block;
    }
    .wrc-single .wrc-columns:not(.wrc-is-not-stacked-on-mobile) {
        flex-wrap: wrap !important;
    }
    .wrc-single .wrc-columns:not(.wrc-is-not-stacked-on-mobile) > .wrc-column,
    .wrc-single .wrc-columns:not(.wrc-is-not-stacked-on-mobile) > .wrc-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
     .wrc-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 .wrc-cover della pagina, a
     qualunque profondità (i "top" hanno l'hero dentro .wrc-entry-content).
   ============================================================ */
.wrc-single .wrc-site-blocks > .wrc-group,
.wrc-archive .wrc-site-blocks > .wrc-group {
    margin-top: 0 !important;
}
/* articoli "top": gruppo che avvolge le colonne, con padding esplicito */
.wrc-single .wrc-site-blocks > .wrc-group.wrc-is-layout-flow > .wrc-group.wrc-has-global-padding {
    padding-top: 0 !important;
}
/* articoli breve/tour + archivi: <main> senza spazio sopra */
.wrc-single main,
.wrc-archive main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

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

/* pagine statiche (page-template, es. Local Tours Experiences, Pet Travel
   Services): stesso trattamento "hero attaccata all'header" di sopra. Il
   wrapper aggiunto da views/page.php (.wrc-group.wrc-has-global-padding)
   ha un padding esplicito su tutti i lati -> azzerato solo in alto; l'hero
   (sia il .wrc-cover "grezzo" WP sia la .hero custom delle pagine
   riscritte) resta invece full-bleed 100vw come per articoli/archivi. */
.wrc-page .wrc-site-blocks > .wrc-group {
    margin-top: 0 !important;
}
.wrc-page .wrc-site-blocks > .wrc-group.wrc-has-global-padding {
    padding-top: 0 !important;
}
.wrc-page .wrc-entry-content > .wrc-cover:first-child,
.wrc-page .wrc-entry-content > .hero:first-child {
    margin-top: 0 !important;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* ============================================================
   ARTICOLI - BREADCRUMB CATEGORIE (.wrc-taxonomy-category)
   Era testo #75939b (basso contrasto), con posizione/dimensione diverse
   a seconda del template WP di esportazione (da qui la difformita' tra
   articoli, es. bergamotto vs bronzi). Uniformato in ogni articolo con
   badge oro/amaranto ad alto contrasto, stesso stile di .wrc-card__cat
   usato nelle card di Explore Reggio Calabria.
   ============================================================ */
.wrc-taxonomy-category{
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 0;
    color: inherit !important;
}
.wrc-taxonomy-category .wrc-post-terms__separator{
    display: none;
}
/* 2026-09-25: da pill oro/amaranto (troppo evidente, competeva con l'hero)
   a breadcrumb testuale discreto: testo amaranto piccolo, separatore ›. */
.wrc-taxonomy-category a{
    display: inline-flex;
    align-items: center;
    background: none !important;
    color: var(--amaranto) !important;
    font-weight: 700 !important;
    font-size: 11.5px !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 4px 0;
    text-decoration: none !important;
    opacity: .85;
    transition: opacity .2s ease;
}
.wrc-taxonomy-category a + span + a::before,
.wrc-taxonomy-category a + a::before{
    content: "\203A";
    display: inline-block;
    margin: 0 9px;
    font-size: 14px;
    font-weight: 400;
    color: #9a8a90;
    opacity: .9;
}
.wrc-taxonomy-category a:hover,
.wrc-taxonomy-category a:focus-visible{
    opacity: 1;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* ============================================================
   ARTICOLI - BOTTONI "OUTLINE" (Call Now, Send Email, Train/Hydrofoil
   Tickets, ecc.)
   Erano bordo/testo #cacaca 1px, quasi invisibili sulla card scura
   semi-trasparente (background-color:#2b2b2b82) in cui sono sempre
   inseriti. Bordo e testo portati sull'oro del brand (stessa famiglia
   di colore delle altre CTA piene gia' presenti negli stessi articoli,
   es. "Buy Ticket"/"Get Direction"), sfondo trasparente mantenuto.
   ============================================================ */
.wrc-button__link.wrc-has-transparent-background-color.wrc-has-border-color{
    border-color: var(--gold) !important;
    border-width: 2px !important;
    color: var(--gold) !important;
    font-weight: 700 !important;
    background: transparent !important;
}
.wrc-button__link.wrc-has-transparent-background-color.wrc-has-border-color:hover{
    background: rgba(252,185,0,.14) !important;
    color: #ffe066 !important;
    border-color: #ffe066 !important;
}
/* ============================================================
   ARTICOLI — link testuali nel corpo del testo
   Erano grigi (#82868b / #abb8c3, colori dell'export WP) e non si
   distinguevano dal testo: ora blu classico + sottolineatura.
   Solo link "nudi" (senza classe) dentro paragrafi/liste/tabelle; esclusi
   hero (sfondo scuro), menu di sezione/nav, bottoni-pillola "More info/Review" (p.wrc-has-border-color),
   paginazione e widget esterni (hanno una classe).
   !important: ogni articolo porta regole .wrc-elements-N a{color:...} inline.
   ============================================================ */
.wrc-single .wrc-entry-content :is(p, li, td, dd, blockquote, figcaption):not(.wrc-has-border-color) a:not([class]):not(.wrc-cover *):not(.section-nav *):not(nav *) {
    color: #0645ad !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    text-decoration-color: rgba(6,69,173,.45) !important;
    transition: color .15s ease, text-decoration-color .15s ease;
}
.wrc-single .wrc-entry-content :is(p, li, td, dd, blockquote, figcaption):not(.wrc-has-border-color) a:not([class]):not(.wrc-cover *):not(.section-nav *):not(nav *):hover,
.wrc-single .wrc-entry-content :is(p, li, td, dd, blockquote, figcaption):not(.wrc-has-border-color) a:not([class]):not(.wrc-cover *):not(.section-nav *):not(nav *):focus-visible {
    color: #0b3d91 !important;
    text-decoration-color: currentColor !important;
}

/* ============================================================
   HERO ARTICOLI "PUNTI D'INTERESSE" — logica grafica di Explore
   Markup iniettato da views/single.php per gli articoli di All Attractions
   e sottocategorie:
   - .wrc-hero-stop: numero di tappa (wrc_pois.metro_posizione) sopra il
     titolo, stesso cerchio amaranto + bordo chiaro delle card di Explore;
   - .wrc-hero-back: "Back to Explore" a cavallo del bordo inferiore
     dell'immagine, come il "Mark as visited" delle card di Explore.
   ============================================================ */
.wrc-hero-stop {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    margin: 0 0 12px;
    border-radius: 50%;
    background: var(--amaranto);
    border: 2px solid #f0d0da;
    color: #fff;
    font-size: .85rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: 0 3px 10px rgba(0,0,0,.35);
}
/* hero standard: titolo in un gruppo flex orizzontale -> numero sopra, centrato */
.wrc-cover .wrc-is-nowrap:has(> .wrc-hero-stop) {
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.wrc-cover .wrc-is-nowrap > .wrc-hero-stop { margin: 0; }

.wrc-cover:has(> .wrc-hero-back) {
    overflow: visible !important;   /* il bottone sporge sotto l'immagine */
    margin-bottom: 40px !important;
}
.wrc-hero-back,
.wrc-hero-back:visited {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 5;
    transform: translate(-50%, 50%);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 9px 20px 9px 16px;
    border-radius: 999px;
    border: 2px solid var(--amaranto);
    background: #1a1a1a;
    color: #fff !important;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(0,0,0,.35);
    transition: background .2s ease;
}
.wrc-hero-back:hover,
.wrc-hero-back:focus-visible {
    background: var(--amaranto);
}
.wrc-hero-back:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
@media (max-width: 600px) {
    .wrc-hero-stop { width: 34px; height: 34px; font-size: .78rem; margin-bottom: 10px; }
    .wrc-cover .wrc-is-nowrap:has(> .wrc-hero-stop) { gap: 10px; }
    .wrc-hero-back { min-height: 42px; padding: 10px 20px 10px 16px; }
}

/* ============================================================
   MAPPA POI NEGLI ARTICOLI — iframe di dba.welcomereggiocalabria.com/map/embed
   (fonte unica dei punti d'interesse, tabella wrc_pois).
   ============================================================ */
.wrc-poi-map {
    display: block;
    width: calc(100% - 20px);
    height: 500px;
    margin: 16px 10px 0;
    border: 0;
    border-radius: 16px;
    background: #e9eef0;
    box-shadow: 0 6px 20px rgba(0,0,0,.08);
}
#map { scroll-margin-top: 76px; }  /* bottone "Map" del menu di sezione: sotto l'header fisso */
@media (max-width: 600px) {
    .wrc-poi-map { height: 420px; border-radius: 12px; }
}

/* ============================================================
   TORNA SU — bottone fisso in basso a destra, creato da global/script.js
   su tutte le pagine. Compare dopo ~1 schermata di scroll; l'anello oro
   mostra l'avanzamento di lettura della pagina.
   z-index sotto overlay/pannello menu (2000) e lightbox WP.
   ============================================================ */
.wrc-totop {
    position: fixed;
    right: calc(18px + env(safe-area-inset-right, 0px));
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    z-index: 1500;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--amaranto);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0,0,0,.25);
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px) scale(.9);
    transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s, background .2s ease;
    -webkit-tap-highlight-color: transparent;
}
.wrc-totop.is-visible {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity .25s ease, transform .25s ease, visibility 0s, background .2s ease;
}
.wrc-totop:hover { background: #4f0425; }
.wrc-totop:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.wrc-totop__ring {
    position: absolute;
    inset: 0;
    transform: rotate(-90deg);
    pointer-events: none;
}
.wrc-totop__ring circle {
    fill: none;
    stroke-width: 3;
}
.wrc-totop__track { stroke: rgba(255,255,255,.18); }
.wrc-totop__bar {
    stroke: var(--gold);
    stroke-linecap: round;
    transition: stroke-dashoffset .1s linear;
}
.wrc-totop__icon { position: relative; }
body.menu-open .wrc-totop { opacity: 0; visibility: hidden; }
@media (max-width: 600px) {
    .wrc-totop {
        width: 46px;
        height: 46px;
        right: calc(14px + env(safe-area-inset-right, 0px));
        bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    }
}
@media (prefers-reduced-motion: reduce) {
    .wrc-totop, .wrc-totop.is-visible { transition: opacity .01s, visibility 0s; transform: none; }
}

/* ============================================================
   MOBILE REFINEMENTS — hero di pagine/articoli/archivi + layout
   Blocco volutamente in FONDO al file: diverse regole responsive piu'
   sopra (.hero, .hero h1, .quick-actions, .feature-grid, .features-intro)
   erano scritte PRIMA delle rispettive regole base e quindi perdevano la
   cascata (stessa specificita', vince l'ultima): su mobile il titolo di
   Pharmacies restava a 3rem e le quick-card restavano 4 in fila fuori
   schermo. Qui le regole mobile vengono dopo tutto e vincono sempre.
   I prefissi .wrc-page/.wrc-single/.wrc-archive alzano la specificita'
   quanto basta a battere anche gli <style> inline delle singole pagine;
   !important solo dove l'export WP mette font-size/min-height inline.
   Desktop (>900px) invariato.
   ============================================================ */

/* frecce di scroll del menu di sezione: esistono solo su mobile (vedi sotto) */
.section-nav__arrow { display: none; }

/* Hero .hero dopo uno <style> iniziale (es. What to see): non e' :first-child,
   quindi perdeva il trattamento "attaccato all'header" e restava uno spazio
   bianco di 24px sopra l'immagine. */
.wrc-page .wrc-entry-content > style:first-child + .hero {
    margin-top: 0 !important;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

@media (max-width: 900px) {
    .wrc-page .hero { padding: 80px 20px 64px; }
    .wrc-page .hero h1 { font-size: 2.3rem; }
}

@media (max-width: 781px) {
    /* --- hero articoli "standard" + archivi categoria/tag --- */
    .wrc-single .wrc-cover.wrc-is-light,
    .wrc-archive .wrc-cover.wrc-is-light {
        min-height: 240px !important;
    }

    /* --- hero articoli "top" (titolo + estratto + box orari) --- */
    .wrc-single .wrc-cover.wrc-alignfull {
        padding: 26px 16px 24px;
    }
    .wrc-single .wrc-cover.wrc-alignfull .wrc-columns {
        gap: 20px;
    }
    .wrc-single .wrc-cover.wrc-alignfull .container-excerpt > p {
        font-size: 1rem;
        line-height: 1.55;
        margin-bottom: 14px;
    }
    .wrc-single .wrc-cover.wrc-alignfull .wrc-column.wrc-has-background {
        padding: 18px 18px 20px !important;
    }
    .wrc-single .wrc-cover.wrc-alignfull .wrc-column.wrc-has-background h3 {
        font-size: 1rem !important;
        margin-bottom: 8px;
    }
    .wrc-single .wrc-cover.wrc-alignfull .wrc-column.wrc-has-background ul {
        margin: 0 0 14px;
        padding-left: 1.1em;
    }

    /* --- hero cover delle pagine (Local Tours Experiences) --- */
    .wrc-page .wrc-entry-content > .wrc-cover.wrc-alignfull:first-child {
        min-height: 0 !important;
        padding: 56px 20px 48px;
    }
    .wrc-page .wrc-entry-content > .wrc-cover.wrc-alignfull:first-child :is(h1, h2) {
        font-size: 2.2rem !important;
        line-height: 1.15;
        margin: 8px 0 14px;
    }

    /* --- pagine a sezioni (Pharmacies, Pet, What to see) --- */
    .wrc-page .wrc-entry-content:has(> .hero) > section:not(.hero) {
        margin-block-start: 0 !important; /* niente gap WP da 24px tra sezioni */
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
    .features-intro { margin-bottom: 32px; }
    .features-intro h2 { font-size: 1.75rem; }
    .features-intro p { font-size: 1rem; line-height: 1.65; }
    .features-intro + .features { margin-top: 36px; }
    .feature-grid { grid-template-columns: 1fr; gap: 16px; }
    .feature-card { padding: 24px 22px; border-radius: 20px; }
    .feature-card h3 { font-size: 1.2rem; margin-bottom: 8px; }
    .feature-card > p { font-size: .95rem; line-height: 1.6; margin-bottom: 4px; }

    /* blocchi farmacia: la variante .alt diventa una fascia a tutta
       larghezza, cosi' le due foto hanno la stessa larghezza
       (.wrc-page per battere pages/pharmacies-...css, caricato dopo) */
    .wrc-page .pharmacy-block-wrap.alt {
        margin: 0 -18px;
        padding: 32px 18px;
        border-radius: 0;
    }
    .wrc-page .pharmacy-block-wrap .block { gap: 24px; }
    /* fascia .alt in fondo alla sezione: niente striscia bianca prima
       della sezione successiva (anch'essa su sfondo chiaro) */
    .wrc-page .pharmacy-section:has(> .pharmacy-block-wrap.alt:last-child) { padding-bottom: 0 !important; }
    .small-cta { max-width: 320px; }
    .block-content h3 { font-size: 1.4rem; }
    .block-content p { font-size: 1rem; line-height: 1.6; }
}

@media (max-width: 680px) {
    /* --- hero home --- */
    .wrc-hero { min-height: 0; }
    .wrc-hero__inner { padding: 24px 20px 32px; }
    .wrc-hero__eyebrow { font-size: .68rem; padding: 4px 12px; margin-bottom: 10px; }
    .wrc-hero__title { font-size: 1.9rem; margin-bottom: 10px; }
    .wrc-hero__desc { font-size: .95rem; line-height: 1.55; margin-bottom: 20px; }
    .wrc-hero__cta { padding: 12px 26px; font-size: .9rem; }
    .wrc-weather { margin-bottom: 16px; padding: 10px 16px; }
}

@media (max-width: 600px) {
    /* --- menu di sezione negli articoli: una sola riga scorrevole ---
       5 pillole andavano su 3-4 righe (~170px prima del contenuto).
       Indizi di scroll (global/script.js aggiunge le classi):
       - sfumatura solo sul lato dove c'e' altro contenuto (.can-prev/.can-next)
       - freccia tonda amaranto su quel lato, tappabile
       - una "spinta" animata una sola volta quando la riga entra in vista */
    .section-nav {
        position: relative;
        margin: 12px -16px;
    }
    .section-nav ul {
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 4px 16px;
        scroll-padding-inline: 16px;
    }
    .section-nav ul::-webkit-scrollbar { display: none; }
    .section-nav.can-next ul {
        -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 64px), transparent 100%);
                mask-image: linear-gradient(to right, #000 calc(100% - 64px), transparent 100%);
    }
    .section-nav.can-prev ul {
        -webkit-mask-image: linear-gradient(to right, transparent 0, #000 64px);
                mask-image: linear-gradient(to right, transparent 0, #000 64px);
    }
    .section-nav.can-prev.can-next ul {
        -webkit-mask-image: linear-gradient(to right, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
                mask-image: linear-gradient(to right, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
    }
    .section-nav li {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }
    .section-nav a,
    .section-nav a:visited {
        white-space: nowrap;
        font-size: 13.5px;
        padding: 7px 14px;
    }
    .section-nav__arrow {
        position: absolute;
        top: 50%;
        z-index: 2;
        width: 32px;
        height: 32px;
        margin-top: -16px;
        border: 0;
        border-radius: 50%;
        background: var(--amaranto);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        box-shadow: 0 3px 10px rgba(106,6,49,.35);
        cursor: pointer;
        opacity: 0;
        pointer-events: none;
        transition: opacity .25s ease, transform .25s ease;
    }
    .section-nav__arrow--prev { left: 8px; transform: translateX(-4px); }
    .section-nav__arrow--next { right: 8px; transform: translateX(4px); }
    .section-nav.can-prev .section-nav__arrow--prev,
    .section-nav.can-next .section-nav__arrow--next {
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }
    .section-nav.can-next:not(.was-scrolled) .section-nav__arrow--next {
        animation: wrc-nav-pulse 1.6s ease-in-out 3;
    }
    @keyframes wrc-nav-pulse {
        0%, 100% { transform: translateX(0); }
        50%      { transform: translateX(4px); }
    }
    @media (prefers-reduced-motion: reduce) {
        .section-nav.can-next:not(.was-scrolled) .section-nav__arrow--next { animation: none; }
    }

    /* --- hero .hero (Pharmacies, Pet, What to see) --- */
    .wrc-page .hero {
        padding: 52px 18px 44px;
        border-bottom-width: 4px;
    }
    .wrc-page .hero h1 {
        font-size: 1.75rem;
        line-height: 1.18;
        margin-bottom: 12px;
        overflow-wrap: break-word;
        hyphens: auto;
    }
    .wrc-page .hero p {
        font-size: .98rem;
        line-height: 1.55;
    }
    .wrc-page .hero .cta {
        min-width: 0;
        max-width: 280px;
        margin-top: 16px;
        padding: 11px 22px;
        font-size: 1rem;
    }

    /* --- titoli hero articoli (standard + top) e archivi --- */
    .wrc-single .wrc-cover h1.wrc-post-title,
    .wrc-archive .wrc-cover h1 {
        font-size: 1.5rem !important;
        line-height: 1.22 !important;
    }
    .wrc-single .wrc-cover.wrc-is-light,
    .wrc-archive .wrc-cover.wrc-is-light {
        min-height: 200px !important;
    }
    .wrc-single .wrc-cover.wrc-alignfull .container-excerpt > p {
        font-size: .95rem;
    }
    .wrc-single .wrc-cover.wrc-alignfull .wrc-button__link {
        padding: 10px 20px;
        font-size: .95rem;
    }

    /* --- hero cover pagine --- */
    .wrc-page .wrc-entry-content > .wrc-cover.wrc-alignfull:first-child {
        padding: 44px 18px 38px;
    }
    .wrc-page .wrc-entry-content > .wrc-cover.wrc-alignfull:first-child :is(h1, h2) {
        font-size: 1.85rem !important;
    }
    .wrc-page .wrc-entry-content > .wrc-cover.wrc-alignfull:first-child p {
        font-size: .95rem !important;
        line-height: 1.55;
    }

    /* --- quick actions (Pharmacies): griglia 2x2 compatta invece di
       4 colonne fuori schermo --- */
    .quick-actions {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        margin-top: -26px;
        padding: 0 14px;
    }
    .quick-card {
        display: flex;
        flex-direction: column;
        padding: 16px 12px 14px;
        border-radius: 16px;
    }
    .quick-card h3 { font-size: 1rem; margin-bottom: 6px; }
    .quick-card p { font-size: .85rem; line-height: 1.4; margin-bottom: 10px; }
    .quick-card .cta {
        width: 100%;
        margin-top: auto;
        padding: 10px 8px;
        font-size: .88rem;
        white-space: nowrap;
    }

    .features-intro h2 { font-size: 1.55rem; }
    .wrc-page .wrc-entry-content:has(> .hero) > section:not(.hero) {
        padding-top: 42px;
        padding-bottom: 42px;
    }
    .wrc-page .pharmacy-block-wrap { padding: 16px 0; }
    .block { gap: 22px; }

    /* la quick-actions sale sull'hero: piu' spazio sotto il testo */
    .wrc-page .hero:has(+ .quick-actions) { padding-bottom: 64px; }

    /* home: sezioni meno distanziate */
    .wrc-section { padding: 52px 20px; }
}
/* focus programmatico del "torna su" sul contenitore principale: niente contorno */
main[tabindex="-1"]:focus, .wrc-site-blocks[tabindex="-1"]:focus { outline: none; }

/* ---- Footer: social e layout mobile ---- */
.wrc-social-label {display: none;}
.wrc-footer-bottom .wrc-social {display: flex;justify-content: center;align-items: center;gap: 12px;margin: 0 0 10px;}
.wrc-footer-bottom .wrc-social a {display: flex;align-items: center;justify-content: center;width: 40px;height: 40px;margin: 0;padding: 0;border-radius: 50%;background: rgba(0,0,0,.08);transition: background .2s ease;box-sizing: border-box;}
.wrc-footer-bottom .wrc-social a:hover,
.wrc-footer-bottom .wrc-social a:focus-visible {background: rgba(0,0,0,.18);}
.wrc-footer-bottom .wrc-social img {width: 22px;height: 22px;margin: 0;display: block;}

@media (max-width: 640px) {
  .wrc-footer-newsletter {padding: 12px 16px;gap: 10px;}
  .wrc-footer-newsletter span {font-size: 14px;line-height: 1.4;}
  .wrc-footer-newsletter-button {width: 100%;max-width: 260px;min-height: 40px;box-sizing: border-box;text-align: center;padding: 10px 18px;}

  .wrc-footer-main {padding: 26px 16px 20px;}
  .wrc-footer-container {gap: 22px;}
  .wrc-footer-logo {width: 60px;margin-bottom: 10px;}
  .wrc-footer-title {font-size: 18px;margin-bottom: 6px;}
  .wrc-footer-description {font-size: 14px;line-height: 1.5;margin-bottom: 12px;}

  .wrc-footer-buttons {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;width: 100%;max-width: 320px;margin: 0 auto;}
  .wrc-footer-buttons a {width: auto;max-width: none;min-height: 40px;padding: 8px 10px;font-size: 14px;display: flex;align-items: center;justify-content: center;}

  .wrc-footer-right {gap: 0;align-items: stretch;}
  .wrc-footer-columns {display: grid;grid-template-columns: 1fr 1fr;gap: 18px 16px;width: 100%;text-align: center;}
  .wrc-footer-column {width: auto;text-align: center;}
  .wrc-footer-column h4 {font-size: 15px;margin: 0 auto 6px;padding-bottom: 6px;border-bottom: 2px solid #f4b400;display: block;width: fit-content;}
  .wrc-footer-column ul li {margin-bottom: 0;}
  .wrc-footer-column ul li a {display: block;padding: 6px 0;min-height: 36px;line-height: 24px;font-size: 14px;box-sizing: border-box;}

  .wrc-footer-logos {margin-top: 18px;gap: 10px;}
  .wrc-footer-logos img {height: 34px;}
  .wrc-footer-policies {margin-top: 8px;line-height: 2;font-size: 13px;}
  .wrc-footer-policies a {display: inline-block;padding: 2px 4px;}

  .wrc-footer-bottom {padding: 16px 16px 18px;}
  .wrc-footer-bottom p {font-size: 12px;margin: 2px 0;}
  .wrc-social-label {display: block;font-size: 11px;letter-spacing: .12em;text-transform: uppercase;opacity: .8;margin-bottom: 8px;}
}

/* ---- Footer: titoli colonne allineati e link più compatti (tutti i dispositivi) ---- */
.wrc-footer-columns {align-items: flex-start;}
.wrc-footer-column {align-self: flex-start;}
.wrc-footer-column h4 {margin-top: 0;line-height: 1.3;}
.wrc-footer-column ul li {margin-bottom: 4px;line-height: 1.35;}
@media (max-width: 640px) {
  .wrc-footer-columns {align-items: start;}
  .wrc-footer-column ul li a {padding: 3px 0;min-height: 0;line-height: 1.35;}
}

/* ============================================================
   EXPLORE NEARLY ATTRACTIONS — "Things to do near the:" + lista tag
   Mobile first, gusto anni '40–'60: carta crema, cornice doppia,
   serif, numerazione in tondo amaranto/oro, filetti a tratteggio.
   ============================================================ */
.wrc-near-title {
  margin: 18px auto 12px;
  text-align: center;
  font-family: 'Mulish', 'Raleway', Arial, sans-serif;
  font-weight: 800;
  font-size: 1.1rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6a0631;
}
.wrc-near-title::before,
.wrc-near-title::after {
  content: "\2726";            /* ✦ */
  display: inline-block;
  margin: 0 .55em;
  font-style: normal;
  font-size: .8em;
  color: #f4b400;
}
.wrc-near-list {
  list-style: none;
  margin: 0 auto 8px;
  padding: 6px 14px;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  align-self: stretch;
  background: #fbf3df;                      /* carta crema */
  border: 1px solid #c9a24a;
  border-radius: 6px;
  box-shadow: inset 0 0 0 4px #fbf3df, inset 0 0 0 5px #c9a24a, 0 4px 12px rgba(106,6,49,.12);
  text-align: left;
}
.wrc-near-list li {
  margin: 0;
  padding: 0;
  border-bottom: 1px dashed rgba(106,6,49,.35);
}
.wrc-near-list li:last-child { border-bottom: 0; }
.wrc-near-list li a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  gap: 12px;
  min-height: 48px;                          /* area tappabile */
  padding: 10px 6px;
  font-family: 'Mulish', 'Inter', Arial, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.3;
  color: #3b0a1e;
  text-decoration: none;
  transition: color .2s ease, padding-left .2s ease;
}
.wrc-near-list li a::before {
  content: 'location_on';
  flex: 0 0 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #6a0631;
  color: #f4b400;
  font-family: 'Material Symbols Outlined';font-weight: 400;font-size: 18px;line-height: 1;font-feature-settings: 'liga';text-transform: none;letter-spacing: normal;white-space: nowrap;-webkit-font-smoothing: antialiased;
  box-shadow: 0 0 0 2px #fbf3df, 0 0 0 3px #c9a24a;
}
.wrc-near-list li a::after {
  content: "\203A";                          /* › */
  margin-left: auto;
  color: #c9a24a;
  font-size: 1.4rem;
  line-height: 1;
}
.wrc-near-list li a:hover,
.wrc-near-list li a:focus-visible { color: #6a0631; padding-left: 10px; outline: none; }
@media (min-width: 700px) {
  .wrc-near-title { font-size: 1.25rem; }
  .wrc-near-list { max-width: none; padding: 8px 22px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; }
  .wrc-near-list li:nth-last-child(2):nth-child(odd) { border-bottom: 0; }
}

/* Spazio tra il contenuto della pagina e la barra newsletter del footer */
.wrc-footer-newsletter {margin-top: 56px;}
@media (max-width: 640px) {.wrc-footer-newsletter {margin-top: 40px;}}
