@import url("6+.css");

/* =============================================
   RIFUGIO TAZZETTI — CAI
   Tema montagna: verde CAI + blu notte
   ============================================= */

:root {
  --cai-green:       #1a6b2f;
  --cai-green-dark:  #124a21;
  --cai-green-light: #2e8b47;
  --cai-blue:        #1b3a5c;
  --cai-gold:        #c8922a;
  --cai-cream:       #f5f0e8;
  --cnvs-themecolor: #1a6b2f;
  --cnvs-themecolor-rgb: 26, 107, 47;
  --themecolor: #1a6b2f;
}

/* Font */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6,
.heading-block h1, .heading-block h2, .heading-block h3 {
  font-family: 'Playfair Display', Georgia, serif;
}

/* Link e colori base */
a { color: var(--cai-green); }
a:hover { color: var(--cai-green-dark); }
.button, .button:not(.button-border) { background-color: var(--cai-green); border-color: var(--cai-green); }
.button:hover { background-color: var(--cai-green-dark); border-color: var(--cai-green-dark); }

/* =============================================
   PULSANTI FISSI LATERALI DX
   ============================================= */

.floating-btns {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 9999;
}
.floating-btns a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  color: #fff !important;
  font-size: 22px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none !important;
}
.floating-btns a:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(0,0,0,0.35);
  color: #fff !important;
}
.floating-btn-phone     { background-color: var(--cai-blue); }
.floating-btn-whatsapp  { background-color: #25d366; }
.floating-btn-contact   { background-color: var(--cai-green); }
@media (max-width: 480px) {
  .floating-btns { right: 10px; top: auto; bottom: 20px; transform: none; }
}

/* =============================================
   HEADER
   ============================================= */

/* Homepage: header trasparente su slider */
.is-home #header { background: transparent !important; }

/* Header wrap: padding ridotto */
#header-wrap { margin-top: 0; }

/* Logo dimensioni */
#header-wrap #logo img { max-height: 64px; height: auto; }
@media (max-width: 480px) {
  #header-wrap #logo img { max-height: 48px; }
}

/* Menu dark (testo bianco su slider) */
#header.dark .menu-container > .menu-item > .menu-link > div { color: #fff; }
#header.dark .menu-container > .menu-item > .menu-link > div:hover { color: rgba(255,255,255,.75); }
#header.dark .cnvs-hamburger-inner,
#header.dark .cnvs-hamburger-inner::before,
#header.dark .cnvs-hamburger-inner::after { background-color: #fff; }

/* Header scrolled: diventa verde scuro */
#header.sticky-header { background: var(--cai-blue) !important; }
#header.sticky-header .menu-container > .menu-item > .menu-link > div { color: #fff; }

/* Pulsante header */
.tazzetti-btn-outline {
  border: 1px solid rgba(255,255,255,.7);
  color: #fff !important;
  border-radius: 4px;
  padding: 6px 14px;
  font-size: 13px;
  transition: background .2s;
}
.tazzetti-btn-outline:hover {
  background: rgba(255,255,255,.15);
  color: #fff !important;
}

/* =============================================
   SLIDER HERO — Swiper Canvas v7
   ============================================= */

/* Titoli slide in Playfair */
#slider .slider-caption h2 {
  font-family: 'Playfair Display', Georgia, serif;
  text-shadow: 0 2px 16px rgba(0,0,0,.35);
}

/* Pager Swiper */
#slider .swiper-pagination-bullet { background: rgba(255,255,255,.5); }
#slider .swiper-pagination-bullet-active { background: var(--cai-gold); }

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

body { font-family: 'Inter', sans-serif; }

.content-wrap {
  position: relative;
  padding: 0;
  overflow: hidden;
}

/* Pagine interne: spazio sotto l'header */
body:not(.is-home) .content-wrap { padding-top: 10px; }

b, strong { font-weight: 600; }

.heading-block::after { display: none; }

/* Sfondo crema alternativo */
.bg-cai-cream { background-color: var(--cai-cream) !important; }

/* Foto float sx con testo a fianco */
.cb-float-img { display: block; width: 100%; margin-bottom: 1rem; }
@media (min-width: 768px) {
  .cb-float-img { width: 50%; float: left; margin-right: 1.5rem; margin-bottom: 0.5rem; }
}

/* Foto float dx con testo a fianco */
.cb-float-img-right { display: block; width: 100%; margin-bottom: 1rem; }
@media (min-width: 768px) {
  .cb-float-img-right { width: 50%; float: right; margin-left: 1.5rem; margin-bottom: 0.5rem; }
}

/* =============================================
   FOOTER
   ============================================= */

#footer {
  position: relative;
  background: linear-gradient(160deg, var(--cai-blue) 0%, #1a3a5c 60%, #0f2540 100%);
  border-top: 3px solid var(--cai-green);
  font-family: 'Inter', sans-serif;
  color: #fff;
}

#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6 {
  color: #fff !important;
  font-family: 'Playfair Display', Georgia, serif !important;
}

#footer p, #footer small, #footer label { color: rgba(255,255,255,.8) !important; }
#footer a { color: rgba(255,255,255,.75) !important; }
#footer a:hover { color: #fff !important; }

.copyright-links a {
  display: inline-block;
  margin: 0 0.25rem;
  color: #fff;
}

/* =============================================
   UTILITY
   ============================================= */

.solodesktop { display: inline; }
.solomobile  { display: none; }

@media (max-width: 480px) {
  .solodesktop { display: none; }
  .solomobile  { display: inline; }
  .section { padding-bottom: 10px; }
  .offset-1 { margin-left: 0; }
}

/* Social icon */
.si-threads { background-color: #000 !important; }
.si-threads:hover { background-color: #333 !important; }

/* =============================================
   PAGE HEADER INTERNO (pagine interne)
   ============================================= */

.tazzetti-page-header {
  position: relative;
  height: 220px;
  display: flex;
  align-items: center;
  overflow: hidden;
  margin-top: -1px;
}
.tazzetti-page-header-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.tazzetti-page-header-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
}
.tazzetti-page-header-content {
  position: relative;
  z-index: 2;
  padding-top: 60px;
}
.tazzetti-page-header-content h2 {
  color: #fff;
  font-family: 'Playfair Display', Georgia, serif;
  text-shadow: 0 2px 12px rgba(0,0,0,.4);
  margin: 0;
}

.slider-caption h2, .slider-caption .h2 {
	font-size: 2.5rem;
	letter-spacing: 0;
	text-transform: none;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 0;
}