/* ==========================================================================
   ADSBItalia Seasonal Themes & Festive Stylesheet
   Supports: Halloween, Christmas, New Year, Easter, Summer, Autumn, Winter, Spring
   ========================================================================== */

/* ── Seasonal Top Announcement Bar (Above Header) ── */
.seasonal-top-bar {
  width: 100%;
  position: relative;
  z-index: 100;
  padding: 8px 16px;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  box-sizing: border-box;
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: all 0.3s ease;
}

.seasonal-top-bar-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  max-width: 1200px;
  margin: 0 auto;
}

.seasonal-top-bar .festive-icon {
  font-size: 1.25rem;
  display: inline-block;
  animation: iconWiggle 2.5s ease-in-out infinite;
}

.seasonal-top-bar .festive-icon-right {
  animation-delay: 1.25s;
}

.seasonal-top-bar .festive-text {
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: textShine 3.5s linear infinite;
  white-space: nowrap;
}

@media (max-width: 600px) {
  .seasonal-top-bar {
    padding: 6px 10px;
    font-size: 0.85rem;
  }
  .seasonal-top-bar .festive-text {
    white-space: normal;
  }
}

/* ── Christmas Fairy Lights Garland (Under Header) ── */
.christmas-fairy-lights {
  width: 100%;
  position: relative;
  z-index: 15;
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  padding: 0 10px;
  height: 22px;
  overflow: visible;
  pointer-events: none;
  background: transparent;
}
.christmas-fairy-lights .fairy-wire {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  border-bottom: 1.5px solid rgba(40, 50, 45, 0.7);
  border-radius: 50%;
}
.christmas-fairy-lights .fairy-bulb {
  width: 9px;
  height: 14px;
  border-radius: 50% 50% 45% 45%;
  position: relative;
  animation: bulbGlow 1.6s ease-in-out infinite alternate;
}
.christmas-fairy-lights .bulb-red {
  background: #ff3344;
  box-shadow: 0 0 10px #ff3344, 0 0 18px rgba(255, 51, 68, 0.6);
}
.christmas-fairy-lights .bulb-gold {
  background: #ffd700;
  box-shadow: 0 0 10px #ffd700, 0 0 18px rgba(255, 215, 0, 0.6);
}
.christmas-fairy-lights .bulb-green {
  background: #00e676;
  box-shadow: 0 0 10px #00e676, 0 0 18px rgba(0, 230, 118, 0.6);
}
.christmas-fairy-lights .bulb-blue {
  background: #00d2ff;
  box-shadow: 0 0 10px #00d2ff, 0 0 18px rgba(0, 210, 255, 0.6);
}
.christmas-fairy-lights .bulb-white {
  background: #fff8e7;
  box-shadow: 0 0 10px #ffffff, 0 0 18px rgba(255, 255, 255, 0.6);
}

@keyframes bulbGlow {
  0% { opacity: 0.45; transform: scale(0.9); }
  100% { opacity: 1; transform: scale(1.15); }
}

/* Christmas Top Bar */
html[data-theme="christmas"] .seasonal-top-bar {
  background: linear-gradient(90deg, rgba(230, 57, 70, 0.92), rgba(15, 30, 24, 0.95) 50%, rgba(42, 157, 143, 0.92));
  border-bottom: 1.5px solid rgba(255, 215, 0, 0.5);
  box-shadow: 0 4px 18px rgba(230, 57, 70, 0.35);
}
html[data-theme="christmas"] .seasonal-top-bar .festive-text {
  background-image: linear-gradient(90deg, #ffffff, #ffe5e8, #ffd700, #ffffff);
}

/* New Year Top Bar */
html[data-theme="newyear"] .seasonal-top-bar {
  background: linear-gradient(90deg, rgba(255, 215, 0, 0.9), rgba(10, 18, 32, 0.95) 50%, rgba(0, 210, 255, 0.9));
  border-bottom: 1.5px solid rgba(255, 215, 0, 0.65);
  box-shadow: 0 4px 20px rgba(255, 215, 0, 0.4);
}
html[data-theme="newyear"] .seasonal-top-bar .festive-text {
  background-image: linear-gradient(90deg, #ffd700, #ffffff, #a5f3fc, #ffd700);
}

/* Easter Top Bar */
html[data-theme="easter"] .seasonal-top-bar {
  background: linear-gradient(90deg, rgba(6, 214, 160, 0.9), rgba(15, 26, 24, 0.95) 50%, rgba(255, 182, 193, 0.9));
  border-bottom: 1.5px solid rgba(6, 214, 160, 0.6);
  box-shadow: 0 4px 18px rgba(6, 214, 160, 0.35);
}
html[data-theme="easter"] .seasonal-top-bar .festive-text {
  background-image: linear-gradient(90deg, #a7f3d0, #ffffff, #fed7aa, #a7f3d0);
}

/* Summer Top Bar */
html[data-theme="summer"] .seasonal-top-bar {
  background: linear-gradient(90deg, rgba(255, 183, 3, 0.92), rgba(20, 26, 36, 0.95) 50%, rgba(251, 133, 0, 0.92));
  border-bottom: 1.5px solid rgba(255, 183, 3, 0.65);
  box-shadow: 0 4px 18px rgba(251, 133, 0, 0.35);
}
html[data-theme="summer"] .seasonal-top-bar .festive-text {
  background-image: linear-gradient(90deg, #ffea80, #ffffff, #ffd166, #ffea80);
}

/* Halloween Top Bar */
html[data-theme="halloween"] .seasonal-top-bar {
  background: linear-gradient(90deg, rgba(255, 117, 24, 0.92), rgba(18, 12, 26, 0.95) 50%, rgba(157, 78, 221, 0.92));
  border-bottom: 1.5px solid rgba(255, 117, 24, 0.6);
  box-shadow: 0 4px 18px rgba(255, 117, 24, 0.35);
}
html[data-theme="halloween"] .seasonal-top-bar .festive-text {
  background-image: linear-gradient(90deg, #ffa94d, #ffffff, #d8b4fe, #ffa94d);
}

@keyframes textShine {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}
@keyframes iconWiggle {
  0%, 100% { transform: rotate(0deg) scale(1); }
  25% { transform: rotate(-10deg) scale(1.12); }
  75% { transform: rotate(10deg) scale(1.12); }
}

/* ── 1. HALLOWEEN THEME ── */
html[data-theme="halloween"] {
  --primary: #ff7518 !important;
  --primary2: #e05e07 !important;
  --theme-accent: #ff7518 !important;
  --theme-secondary: #9d4edd !important;
  --theme-glow: rgba(255, 117, 24, 0.4) !important;
  --border: rgba(255, 117, 24, 0.28) !important;
}

html[data-theme="halloween"] header.header {
  position: sticky;
}
html[data-theme="halloween"] header.header::before {
  content: '🕸️';
  position: absolute;
  top: 8px;
  left: 12px;
  font-size: 1.5rem;
  opacity: 0.85;
  pointer-events: none;
}
html[data-theme="halloween"] header.header::after {
  content: '🕸️';
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 1.5rem;
  transform: scaleX(-1);
  opacity: 0.85;
  pointer-events: none;
}

html[data-theme="halloween"] body {
  background: 
    radial-gradient(circle at top right, rgba(255, 117, 24, 0.18), transparent 35%), 
    radial-gradient(circle at left 35%, rgba(157, 78, 221, 0.16), transparent 30%), 
    radial-gradient(circle at bottom right, rgba(255, 90, 0, 0.12), transparent 32%),
    #0a080f !important;
}

html[data-theme="halloween"] .site-header,
html[data-theme="halloween"] header {
  border-bottom: 2px solid rgba(255, 117, 24, 0.35) !important;
  box-shadow: 0 4px 20px rgba(255, 117, 24, 0.12) !important;
}

html[data-theme="halloween"] .btn-primary,
html[data-theme="halloween"] .button:not(.button-secondary) {
  background: linear-gradient(135deg, #ff7518, #d94e00) !important;
  color: #fff !important;
  box-shadow: 0 4px 18px rgba(255, 117, 24, 0.4) !important;
  border-color: #ff8533 !important;
}

html[data-theme="halloween"] .card {
  border-color: rgba(255, 117, 24, 0.26) !important;
  box-shadow: 0 10px 32px rgba(255, 117, 24, 0.1) !important;
}

html[data-theme="halloween"] .tag,
html[data-theme="halloween"] .pill {
  border-color: rgba(255, 117, 24, 0.4) !important;
  background: rgba(255, 117, 24, 0.12) !important;
  color: #ffaa66 !important;
}

/* ── 2. CHRISTMAS (NATALE) THEME ── */
html[data-theme="christmas"] {
  --primary: #e63946 !important;
  --primary2: #c52230 !important;
  --theme-accent: #e63946 !important;
  --theme-secondary: #2a9d8f !important;
  --theme-glow: rgba(230, 57, 70, 0.4) !important;
  --border: rgba(230, 57, 70, 0.3) !important;
}

html[data-theme="christmas"] header.header::before {
  content: '🌿';
  position: absolute;
  top: 8px;
  left: 14px;
  font-size: 1.4rem;
  opacity: 0.9;
  pointer-events: none;
}
html[data-theme="christmas"] header.header::after {
  content: '🌿';
  position: absolute;
  top: 8px;
  right: 14px;
  font-size: 1.4rem;
  transform: scaleX(-1);
  opacity: 0.9;
  pointer-events: none;
}

html[data-theme="christmas"] body {
  background: 
    radial-gradient(circle at top right, rgba(230, 57, 70, 0.22), transparent 36%), 
    radial-gradient(circle at left 30%, rgba(42, 157, 143, 0.18), transparent 32%), 
    radial-gradient(circle at bottom right, rgba(255, 215, 0, 0.1), transparent 30%),
    #060c0a !important;
}

html[data-theme="christmas"] .site-header,
html[data-theme="christmas"] header {
  border-bottom: 2px solid rgba(230, 57, 70, 0.45) !important;
  box-shadow: 0 4px 22px rgba(230, 57, 70, 0.18), inset 0 -1px 0 rgba(42, 157, 143, 0.3) !important;
}

html[data-theme="christmas"] .btn-primary,
html[data-theme="christmas"] .button:not(.button-secondary) {
  background: linear-gradient(135deg, #e63946, #c52230) !important;
  color: #fff !important;
  box-shadow: 0 4px 20px rgba(230, 57, 70, 0.45) !important;
  border-color: #ff7582 !important;
}

html[data-theme="christmas"] .card {
  border: 1px solid rgba(230, 57, 70, 0.28) !important;
  border-top: 2px solid rgba(42, 157, 143, 0.6) !important;
  box-shadow: 0 10px 32px rgba(230, 57, 70, 0.12) !important;
}

html[data-theme="christmas"] .tag,
html[data-theme="christmas"] .pill {
  border-color: rgba(230, 57, 70, 0.45) !important;
  color: #ff8892 !important;
  background: rgba(230, 57, 70, 0.12) !important;
}

/* ── 3. NEW YEAR (CAPODANNO) THEME ── */
html[data-theme="newyear"] {
  --primary: #ffd700 !important;
  --primary2: #d4af37 !important;
  --theme-accent: #ffd700 !important;
  --theme-secondary: #00d2ff !important;
  --theme-glow: rgba(255, 215, 0, 0.45) !important;
  --border: rgba(255, 215, 0, 0.3) !important;
}

html[data-theme="newyear"] header.header::before {
  content: '✨';
  position: absolute;
  top: 8px;
  left: 14px;
  font-size: 1.4rem;
  opacity: 0.9;
  animation: iconWiggle 3s ease-in-out infinite;
  pointer-events: none;
}
html[data-theme="newyear"] header.header::after {
  content: '✨';
  position: absolute;
  top: 8px;
  right: 14px;
  font-size: 1.4rem;
  opacity: 0.9;
  animation: iconWiggle 3s ease-in-out infinite 1.5s;
  pointer-events: none;
}

html[data-theme="newyear"] body {
  background: 
    radial-gradient(circle at top right, rgba(255, 215, 0, 0.2), transparent 38%), 
    radial-gradient(circle at left 35%, rgba(0, 210, 255, 0.16), transparent 32%), 
    radial-gradient(circle at bottom right, rgba(255, 180, 0, 0.1), transparent 30%),
    #060a12 !important;
}

html[data-theme="newyear"] .site-header,
html[data-theme="newyear"] header {
  border-bottom: 2px solid rgba(255, 215, 0, 0.45) !important;
  box-shadow: 0 4px 24px rgba(255, 215, 0, 0.18) !important;
}

html[data-theme="newyear"] .btn-primary,
html[data-theme="newyear"] .button:not(.button-secondary) {
  background: linear-gradient(135deg, #ffd700, #d4af37) !important;
  color: #060a12 !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 22px rgba(255, 215, 0, 0.5) !important;
  border-color: #fff !important;
}

html[data-theme="newyear"] .card {
  border: 1px solid rgba(255, 215, 0, 0.28) !important;
  box-shadow: 0 10px 32px rgba(255, 215, 0, 0.1) !important;
}

html[data-theme="newyear"] .tag,
html[data-theme="newyear"] .pill {
  border-color: rgba(255, 215, 0, 0.5) !important;
  color: #ffe066 !important;
  background: rgba(255, 215, 0, 0.12) !important;
}

/* ── 4. EASTER (PASQUA) THEME ── */
html[data-theme="easter"] {
  --primary: #06d6a0 !important;
  --primary2: #04b385 !important;
  --theme-accent: #06d6a0 !important;
  --theme-secondary: #ff9f1c !important;
  --theme-glow: rgba(6, 214, 160, 0.4) !important;
  --border: rgba(6, 214, 160, 0.28) !important;
}

html[data-theme="easter"] header.header::before {
  content: '🌸';
  position: absolute;
  top: 8px;
  left: 14px;
  font-size: 1.4rem;
  opacity: 0.9;
  pointer-events: none;
}
html[data-theme="easter"] header.header::after {
  content: '🌸';
  position: absolute;
  top: 8px;
  right: 14px;
  font-size: 1.4rem;
  transform: scaleX(-1);
  opacity: 0.9;
  pointer-events: none;
}

html[data-theme="easter"] body {
  background: 
    radial-gradient(circle at top right, rgba(6, 214, 160, 0.2), transparent 36%), 
    radial-gradient(circle at left 35%, rgba(255, 182, 193, 0.18), transparent 30%), 
    radial-gradient(circle at bottom right, rgba(255, 225, 120, 0.12), transparent 32%),
    #050e0c !important;
}

html[data-theme="easter"] .site-header,
html[data-theme="easter"] header {
  border-bottom: 2px solid rgba(6, 214, 160, 0.4) !important;
  box-shadow: 0 4px 20px rgba(6, 214, 160, 0.15) !important;
}

html[data-theme="easter"] .btn-primary,
html[data-theme="easter"] .button:not(.button-secondary) {
  background: linear-gradient(135deg, #06d6a0, #04b385) !important;
  color: #fff !important;
  box-shadow: 0 4px 18px rgba(6, 214, 160, 0.4) !important;
  border-color: #a7f3d0 !important;
}

html[data-theme="easter"] .card {
  border-color: rgba(6, 214, 160, 0.25) !important;
  border-top: 2px solid rgba(255, 182, 193, 0.5) !important;
}

html[data-theme="easter"] .tag,
html[data-theme="easter"] .pill {
  border-color: rgba(6, 214, 160, 0.4) !important;
  color: #6ee7b7 !important;
  background: rgba(6, 214, 160, 0.1) !important;
}

/* ── 5. SUMMER (FERRAGOSTO / ESTATE) THEME ── */
html[data-theme="summer"] {
  --primary: #ffb703 !important;
  --primary2: #fb8500 !important;
  --theme-accent: #ffb703 !important;
  --theme-secondary: #00b4d8 !important;
  --theme-glow: rgba(255, 183, 3, 0.45) !important;
  --border: rgba(251, 133, 0, 0.3) !important;
}

html[data-theme="summer"] header.header::before {
  content: '☀️';
  position: absolute;
  top: 8px;
  left: 14px;
  font-size: 1.4rem;
  opacity: 0.95;
  pointer-events: none;
}
html[data-theme="summer"] header.header::after {
  content: '🌊';
  position: absolute;
  top: 8px;
  right: 14px;
  font-size: 1.4rem;
  opacity: 0.95;
  pointer-events: none;
}

html[data-theme="summer"] body {
  background: 
    radial-gradient(circle at top right, rgba(255, 183, 3, 0.22), transparent 38%), 
    radial-gradient(circle at left 35%, rgba(0, 180, 216, 0.18), transparent 32%), 
    radial-gradient(circle at bottom right, rgba(251, 133, 0, 0.14), transparent 32%),
    #0a0e14 !important;
}

html[data-theme="summer"] .site-header,
html[data-theme="summer"] header {
  border-bottom: 2px solid rgba(251, 133, 0, 0.45) !important;
  box-shadow: 0 4px 22px rgba(251, 133, 0, 0.2) !important;
}

html[data-theme="summer"] .btn-primary,
html[data-theme="summer"] .button:not(.button-secondary) {
  background: linear-gradient(135deg, #ffb703, #fb8500) !important;
  color: #050a10 !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 20px rgba(251, 133, 0, 0.45) !important;
  border-color: #fff !important;
}

html[data-theme="summer"] .card {
  border-color: rgba(251, 133, 0, 0.28) !important;
  box-shadow: 0 10px 32px rgba(251, 133, 0, 0.1) !important;
}

html[data-theme="summer"] .tag,
html[data-theme="summer"] .pill {
  border-color: rgba(251, 133, 0, 0.45) !important;
  color: #ffc947 !important;
  background: rgba(251, 133, 0, 0.12) !important;
}

/* ── 6. AUTUMN THEME ── */
html[data-theme="autumn"] {
  --primary: #e76f51 !important;
  --theme-accent: #e76f51 !important;
  --theme-glow: rgba(231, 111, 81, 0.4) !important;
}
html[data-theme="autumn"] body {
  background: radial-gradient(circle at top right, rgba(231, 111, 81, 0.2), transparent 35%), #0a090a !important;
}
html[data-theme="autumn"] .btn-primary {
  background: linear-gradient(135deg, #e76f51, #d47a24) !important;
}

/* ── 7. WINTER THEME ── */
html[data-theme="winter"] {
  --primary: #38bdf8 !important;
  --theme-accent: #38bdf8 !important;
  --theme-glow: rgba(56, 189, 248, 0.4) !important;
}
html[data-theme="winter"] body {
  background: radial-gradient(circle at top right, rgba(56, 189, 248, 0.2), transparent 35%), #060b12 !important;
}
html[data-theme="winter"] .btn-primary {
  background: linear-gradient(135deg, #38bdf8, #0284c7) !important;
}

/* ── 8. SPRING THEME ── */
html[data-theme="spring"] {
  --primary: #f472b6 !important;
  --theme-accent: #f472b6 !important;
  --theme-glow: rgba(244, 114, 182, 0.4) !important;
}
html[data-theme="spring"] body {
  background: radial-gradient(circle at top right, rgba(244, 114, 182, 0.2), transparent 35%), #0e0910 !important;
}
html[data-theme="spring"] .btn-primary {
  background: linear-gradient(135deg, #f472b6, #db2777) !important;
}

/* Seasonal Particle Canvas */
#seasonal-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 1;
  opacity: 0.88;
}

/* ==========================================================================
   BLOG & DATA SERVICES SECTIONS THEME INTEGRATION
   ========================================================================== */

/* Blog Global Variable Overrides */
html[data-theme="christmas"] {
  --primary: #e63946 !important;
  --primary-hover: #ff4d5a !important;
  --primary-glow: rgba(230, 57, 70, 0.35) !important;
  --accent: #2a9d8f !important;
  --border-focus: #e63946 !important;
}
html[data-theme="christmas"] .subnav-pill.active,
html[data-theme="christmas"] .widget-cat-link.active {
  background: linear-gradient(135deg, #e63946, #b71c1c) !important;
  color: #fff !important;
  border-color: #ffd700 !important;
  box-shadow: 0 4px 14px rgba(230, 57, 70, 0.4) !important;
}
html[data-theme="christmas"] #reading-progress {
  background: linear-gradient(90deg, #e63946, #ffd700) !important;
  box-shadow: 0 0 10px #e63946 !important;
}

html[data-theme="newyear"] {
  --primary: #ffd700 !important;
  --primary-hover: #ffe44d !important;
  --primary-glow: rgba(255, 215, 0, 0.4) !important;
  --accent: #00d2ff !important;
  --border-focus: #ffd700 !important;
}
html[data-theme="newyear"] .subnav-pill.active,
html[data-theme="newyear"] .widget-cat-link.active {
  background: linear-gradient(135deg, #ffd700, #b8860b) !important;
  color: #0b1118 !important;
  border-color: #fff !important;
  box-shadow: 0 4px 14px rgba(255, 215, 0, 0.45) !important;
}
html[data-theme="newyear"] #reading-progress {
  background: linear-gradient(90deg, #ffd700, #00d2ff) !important;
  box-shadow: 0 0 10px #ffd700 !important;
}

html[data-theme="easter"] {
  --primary: #06d6a0 !important;
  --primary-hover: #2ee5b3 !important;
  --primary-glow: rgba(6, 214, 160, 0.35) !important;
  --accent: #f472b6 !important;
  --border-focus: #06d6a0 !important;
}
html[data-theme="easter"] .subnav-pill.active,
html[data-theme="easter"] .widget-cat-link.active {
  background: linear-gradient(135deg, #06d6a0, #059669) !important;
  color: #fff !important;
  border-color: #fbcfe8 !important;
  box-shadow: 0 4px 14px rgba(6, 214, 160, 0.4) !important;
}
html[data-theme="easter"] #reading-progress {
  background: linear-gradient(90deg, #06d6a0, #f472b6) !important;
  box-shadow: 0 0 10px #06d6a0 !important;
}

html[data-theme="summer"] {
  --primary: #ffb703 !important;
  --primary-hover: #ffc947 !important;
  --primary-glow: rgba(255, 183, 3, 0.4) !important;
  --accent: #fb8500 !important;
  --border-focus: #ffb703 !important;
}
html[data-theme="summer"] .subnav-pill.active,
html[data-theme="summer"] .widget-cat-link.active {
  background: linear-gradient(135deg, #ffb703, #fb8500) !important;
  color: #080e15 !important;
  border-color: #fff !important;
  box-shadow: 0 4px 14px rgba(251, 133, 0, 0.45) !important;
}
html[data-theme="summer"] #reading-progress {
  background: linear-gradient(90deg, #ffb703, #fb8500) !important;
  box-shadow: 0 0 10px #ffb703 !important;
}

html[data-theme="halloween"] {
  --primary: #ff7518 !important;
  --primary-hover: #ff9142 !important;
  --primary-glow: rgba(255, 117, 24, 0.4) !important;
  --accent: #9d4edd !important;
  --border-focus: #ff7518 !important;
}
html[data-theme="halloween"] .subnav-pill.active,
html[data-theme="halloween"] .widget-cat-link.active {
  background: linear-gradient(135deg, #ff7518, #d45b00) !important;
  color: #fff !important;
  border-color: #9d4edd !important;
  box-shadow: 0 4px 14px rgba(255, 117, 24, 0.45) !important;
}
html[data-theme="halloween"] #reading-progress {
  background: linear-gradient(90deg, #ff7518, #9d4edd) !important;
  box-shadow: 0 0 10px #ff7518 !important;
}

/* Ensure data-access and all site pages have brand image contained cleanly */
.brand img {
  width: 295px !important;
  max-width: 60vw !important;
  height: auto !important;
}
