/* Tema "zampa": regole del tema, caricate dopo assets/site.css solo quando il sito usa questo tema.
   Le poche regole comuni ripetute qui servono a mantenere l'ordine originale tra stile comune e tema. */
[data-theme="zampa"] {
  --bg: #fff7ec; --surface: #ffffff; --text: #5a5470; --muted: #8a84a0; --line: #f1e3cf; --heading: #2b2b40;
  --header-bg: #ffffff; --header-text: #2b2b40;
  --footer-bg: #2b2b40; --footer-text: #fff7ec; --footer-muted: #b9b4d0;
  --alt-bg: #fff0d4; --dark-bg: #2b2b40;
  --coral: #ff6b4a; --coral-d: #e2502f; --teal: #2ec4b6; --sun: #ffc23c; --lilac: #9b8cff; --ink: #2b2b40;
  --radius: 26px; --container: 1200px; --sec-pad: clamp(64px, 8vw, 116px);
  --paw: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='16.2' rx='5.2' ry='4.4'/%3E%3Cellipse cx='5.3' cy='10' rx='2.3' ry='2.9'/%3E%3Cellipse cx='9.4' cy='5.6' rx='2.3' ry='2.9'/%3E%3Cellipse cx='14.6' cy='5.6' rx='2.3' ry='2.9'/%3E%3Cellipse cx='18.7' cy='10' rx='2.3' ry='2.9'/%3E%3C/svg%3E");
}
body[data-theme="zampa"] { font-size: 1.04rem; line-height: 1.72; background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; }
[data-theme="zampa"] ::selection { background: var(--sun); color: var(--ink); }
[data-theme="zampa"] .site-header { background: #ffffff; border-bottom: 0; box-shadow: 0 10px 30px -22px rgba(43, 43, 64, .35); }
[data-theme="zampa"] .header-inner { min-height: 84px; }
[data-theme="zampa"] .brand-name { font-family: var(--font-head); font-weight: 700; font-size: 1.55rem; color: var(--ink); letter-spacing: -.01em; }
[data-theme="zampa"] .brand-name::before { content: ""; display: inline-block; width: .95em; height: .95em; margin-right: .3em; vertical-align: -.1em; background: var(--coral); -webkit-mask: var(--paw) center / contain no-repeat; mask: var(--paw) center / contain no-repeat; transform: rotate(-14deg); }
[data-theme="zampa"] .brand-tagline { color: var(--muted); font-weight: 500; font-size: .76rem; }
[data-theme="zampa"] .site-nav a { font-weight: 600; font-size: .98rem; color: var(--ink); border-radius: 999px; padding: 9px 16px; transition: background .2s, color .2s, transform .2s; }
[data-theme="zampa"] .site-nav a:hover { background: #ffe8df; color: var(--coral-d); transform: translateY(-2px); }
[data-theme="zampa"] .site-nav a[aria-current="page"] { background: var(--coral); color: #ffffff; box-shadow: none; border-radius: 999px; }
@media (max-width: 859px) {
  [data-theme="zampa"] .site-nav a { border-radius: 16px; }
  [data-theme="zampa"] .site-nav li + li { border-top: 0; }
}
[data-theme="zampa"] .nav-toggle { border: 2px solid var(--ink); border-radius: 999px; color: var(--ink); }
[data-theme="zampa"] .topbar { background: var(--teal); }
[data-theme="zampa"] .topbar-text { color: #ffffff; font-weight: 600; }
[data-theme="zampa"] .topbar-btn { border-color: #ffffff; color: #ffffff; border-radius: 999px; }
[data-theme="zampa"] .topbar-btn:hover { background: #ffffff; color: var(--teal); }
[data-theme="zampa"] .button, [data-theme="zampa"] .bk-submit, [data-theme="zampa"] .header-cta {
  border-radius: 999px; background: var(--coral); color: #ffffff; border: 0; font-weight: 700; letter-spacing: .01em;
  padding: 16px 32px; box-shadow: 0 6px 0 var(--coral-d); transition: transform .18s cubic-bezier(.3, 1.6, .5, 1), box-shadow .18s; }
[data-theme="zampa"] .header-cta { padding: 12px 22px; box-shadow: 0 4px 0 var(--coral-d); }
[data-theme="zampa"] .button:hover, [data-theme="zampa"] .bk-submit:hover, [data-theme="zampa"] .header-cta:hover { transform: translateY(-3px) rotate(-1.5deg); box-shadow: 0 9px 0 var(--coral-d); }
[data-theme="zampa"] .button:active, [data-theme="zampa"] .header-cta:active { transform: translateY(4px); box-shadow: 0 2px 0 var(--coral-d); }
[data-theme="zampa"] .button-outline { background: #ffffff; color: var(--ink); box-shadow: 0 6px 0 var(--ink), inset 0 0 0 2px var(--ink); }
[data-theme="zampa"] .button-outline:hover { box-shadow: 0 9px 0 var(--ink), inset 0 0 0 2px var(--ink); }
[data-theme="zampa"] .hero .button-light, [data-theme="zampa"] .cta .button-light { background: var(--coral); color: #ffffff; }
[data-theme="zampa"] .sec-bg-dark .button, [data-theme="zampa"] .cta .button { background: var(--sun); color: var(--ink); box-shadow: 0 6px 0 #d99a12; }
[data-theme="zampa"] .sec-bg-dark .button:hover, [data-theme="zampa"] .cta .button:hover { box-shadow: 0 9px 0 #d99a12; }
[data-theme="zampa"] .sec-title, [data-theme="zampa"] .page-title, [data-theme="zampa"] .cta-title, [data-theme="zampa"] .hero-title, [data-theme="zampa"] .prose h2, [data-theme="zampa"] .prose h3, [data-theme="zampa"] .feature-title, [data-theme="zampa"] .xcard-title, [data-theme="zampa"] .offer-title, [data-theme="zampa"] .plist-title { font-family: var(--font-head); font-weight: 700; color: var(--heading); letter-spacing: -.02em; }
[data-theme="zampa"] .sec-title { font-size: clamp(2rem, 4.4vw, 3.1rem); line-height: 1.12; }
[data-theme="zampa"] .sec-title::after { content: ""; display: block; width: 110px; height: 14px; margin-top: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 14'%3E%3Cpath d='M3 9 Q 16 2 29 8 T 55 8 T 81 8 T 107 7' fill='none' stroke='%23ffc23c' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") left center / contain no-repeat; }
[data-theme="zampa"] .sec-head.center .sec-title::after, [data-theme="zampa"] .center .sec-title::after { margin-inline: auto; }
[data-theme="zampa"] .sec-kicker { display: inline-flex; align-items: center; gap: 8px; font-family: inherit; font-style: normal; font-weight: 700; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--coral-d); background: #ffe3d9; padding: 7px 16px 7px 12px; border-radius: 999px; }
[data-theme="zampa"] .sec-kicker::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--paw) center / contain no-repeat; mask: var(--paw) center / contain no-repeat; transform: rotate(-14deg); }
[data-theme="zampa"] .sec-bg-dark .sec-kicker { background: rgba(255, 255, 255, .12); color: var(--sun); }
[data-theme="zampa"] .sec-lead { color: var(--muted); }
[data-theme="zampa"] .prose a { color: var(--coral-d); text-decoration-color: var(--sun); text-decoration-thickness: 3px; text-underline-offset: 4px; }
[data-theme="zampa"] .prose ul { list-style: none; padding-left: 0; }
[data-theme="zampa"] .prose ul li { position: relative; padding-left: 32px; margin-bottom: .6em; }
[data-theme="zampa"] .prose ul li::before { content: ""; position: absolute; left: 0; top: .2em; width: 20px; height: 20px; background: var(--teal); -webkit-mask: var(--paw) center / contain no-repeat; mask: var(--paw) center / contain no-repeat; transform: rotate(-14deg); }
[data-theme="zampa"] .prose ul li:nth-child(3n+2)::before { background: var(--coral); }
[data-theme="zampa"] .prose ul li:nth-child(3n)::before { background: var(--sun); }
[data-theme="zampa"] .sec-bg-alt { position: relative; background-color: var(--alt-bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%23ffc23c' fill-opacity='.16'%3E%3Cg transform='translate(18 20) rotate(-18 12 12)'%3E%3Cellipse cx='12' cy='16.2' rx='5.2' ry='4.4'/%3E%3Cellipse cx='5.3' cy='10' rx='2.3' ry='2.9'/%3E%3Cellipse cx='9.4' cy='5.6' rx='2.3' ry='2.9'/%3E%3Cellipse cx='14.6' cy='5.6' rx='2.3' ry='2.9'/%3E%3Cellipse cx='18.7' cy='10' rx='2.3' ry='2.9'/%3E%3C/g%3E%3Cg transform='translate(74 72) rotate(16 12 12)'%3E%3Cellipse cx='12' cy='16.2' rx='5.2' ry='4.4'/%3E%3Cellipse cx='5.3' cy='10' rx='2.3' ry='2.9'/%3E%3Cellipse cx='9.4' cy='5.6' rx='2.3' ry='2.9'/%3E%3Cellipse cx='14.6' cy='5.6' rx='2.3' ry='2.9'/%3E%3Cellipse cx='18.7' cy='10' rx='2.3' ry='2.9'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
[data-theme="zampa"] .sec-bg-alt::before, [data-theme="zampa"] .sec-bg-alt::after, [data-theme="zampa"] .sec-bg-dark::before, [data-theme="zampa"] .sec-bg-dark::after { content: ""; position: absolute; left: 0; right: 0; height: 28px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0 28 C 200 0 400 0 600 14 S 1000 28 1200 6 L1200 28 Z' fill='%23fff0d4'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
[data-theme="zampa"] .sec-bg-alt::before, [data-theme="zampa"] .sec-bg-dark::before { top: -27px; }
[data-theme="zampa"] .sec-bg-alt::after, [data-theme="zampa"] .sec-bg-dark::after { bottom: -27px; transform: scaleY(-1); }
[data-theme="zampa"] .sec-bg-dark { position: relative; background: var(--ink); color: #e9e6f5;
  background-image: radial-gradient(circle at 12% 20%, rgba(255, 194, 60, .16) 0 60px, transparent 61px), radial-gradient(circle at 88% 80%, rgba(46, 196, 182, .18) 0 90px, transparent 91px); }
[data-theme="zampa"] .sec-bg-dark::before, [data-theme="zampa"] .sec-bg-dark::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0 28 C 200 0 400 0 600 14 S 1000 28 1200 6 L1200 28 Z' fill='%232b2b40'/%3E%3C/svg%3E"); }
[data-theme="zampa"] .sec-bg-dark .sec-title, [data-theme="zampa"] .sec-bg-dark .feature-title { color: #ffffff; }
[data-theme="zampa"] .sec-bg-alt + .sec-bg-alt::before, [data-theme="zampa"] .sec-bg-dark + .sec-bg-dark::before { display: none; }
[data-theme="zampa"] .hero { background: var(--bg); color: var(--ink); overflow: hidden; }
[data-theme="zampa"] .hero-media::after { display: none; }
[data-theme="zampa"] .hero-title { color: var(--ink); font-size: clamp(2.4rem, 5.6vw, 4.6rem); line-height: 1.04; }
[data-theme="zampa"] .hero-sub { color: var(--text); font-size: clamp(1.05rem, 1.6vw, 1.25rem); max-width: 46ch; }
[data-theme="zampa"] .hero-kicker { display: inline-flex; align-items: center; gap: 8px; background: var(--sun); color: var(--ink); font-family: inherit; font-style: normal; font-weight: 700; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; padding: 8px 16px; border-radius: 999px; opacity: 1; transform: rotate(-2deg); }
[data-theme="zampa"] .hero-kicker::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--paw) center / contain no-repeat; mask: var(--paw) center / contain no-repeat; }
[data-theme="zampa"] .hero::before { content: ""; position: absolute; z-index: 0; left: -40px; bottom: 40px; width: 120px; height: 120px; background: var(--teal); opacity: .18; -webkit-mask: var(--paw) center / contain no-repeat; mask: var(--paw) center / contain no-repeat; transform: rotate(-20deg); animation: zampa-bob 5s ease-in-out infinite; }
[data-theme="zampa"] .hero-noimg { background: var(--bg); color: var(--ink); }
@media (min-width: 900px) {
  [data-theme="zampa"] .hero-media { inset: 40px 3vw 40px 47%; border-radius: 58% 42% 52% 48% / 46% 56% 44% 54%; box-shadow: 0 40px 80px -50px rgba(43, 43, 64, .55); animation: zampa-blob 12s ease-in-out infinite; }
  [data-theme="zampa"] .hero-inner { justify-content: center; padding-top: 60px; padding-bottom: 60px; }
  [data-theme="zampa"] .hero-text { max-width: 44%; }
  [data-theme="zampa"] .hero-full { min-height: calc(100svh - 84px); max-height: 860px; }
  [data-theme="zampa"] .hero-medium { min-height: 520px; }
  [data-theme="zampa"] .hero-small { min-height: 400px; }
  [data-theme="zampa"] .hero-small .hero-title, [data-theme="zampa"] .hero-medium .hero-title { font-size: clamp(2.2rem, 4.4vw, 3.6rem); }
}
@media (max-width: 899px) {
  [data-theme="zampa"] .hero { flex-direction: column; min-height: 0; }
  [data-theme="zampa"] .hero-media { position: relative; inset: auto; margin: 22px 16px 0; aspect-ratio: 4 / 3; border-radius: 58% 42% 52% 48% / 46% 56% 44% 54%; animation: zampa-blob 12s ease-in-out infinite; }
  [data-theme="zampa"] .hero-inner { padding-top: 22px; padding-bottom: 48px; }
  [data-theme="zampa"] .hero-noimg .hero-inner { padding-top: 48px; }
}
[data-theme="zampa"] .intro-text { font-family: var(--font-head); font-weight: 500; font-size: clamp(1.25rem, 2.3vw, 1.7rem); line-height: 1.5; color: var(--ink); max-width: 880px; }
[data-theme="zampa"] .intro-text em { font-style: normal; background: linear-gradient(transparent 58%, rgba(255, 194, 60, .6) 58%); padding: 0 .1em; }
[data-theme="zampa"] .intro-sign { color: var(--coral-d); font-weight: 600; }
[data-theme="zampa"] .feature { background: #ffffff; border-radius: var(--radius); padding: 34px 28px 30px; box-shadow: 0 18px 40px -30px rgba(43, 43, 64, .35); border: 2px solid transparent; transition: transform .3s cubic-bezier(.3, 1.5, .5, 1), border-color .3s; }
[data-theme="zampa"] .feature:hover { transform: translateY(-8px) rotate(-1deg); border-color: var(--sun); }
[data-theme="zampa"] .feature-icon { width: 64px; height: 64px; padding: 15px; border-radius: 22px; background: #ffe3d9; color: var(--coral-d); stroke-width: 1.8; margin-bottom: 20px; transition: transform .4s cubic-bezier(.3, 1.6, .5, 1); }
[data-theme="zampa"] .feature:nth-child(4n+2) .feature-icon { background: #d7f5f1; color: #14958a; }
[data-theme="zampa"] .feature:nth-child(4n+3) .feature-icon { background: #fff0c9; color: #c68a00; }
[data-theme="zampa"] .feature:nth-child(4n+4) .feature-icon { background: #ebe7ff; color: #6a59e6; }
[data-theme="zampa"] .feature:hover .feature-icon { transform: rotate(-10deg) scale(1.08); }
[data-theme="zampa"] .feature-title { font-size: 1.25rem; margin-bottom: .35em; }
[data-theme="zampa"] .feature-text { color: var(--muted); }
[data-theme="zampa"] .sec-bg-dark .feature { background: rgba(255, 255, 255, .06); box-shadow: none; }
[data-theme="zampa"] .sec-bg-dark .feature-text { color: #c9c5dd; }
@media (max-width: 560px) {
  [data-theme="zampa"] .feature-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  [data-theme="zampa"] .feature { padding: 22px 16px; }
  [data-theme="zampa"] .feature-icon { width: 52px; height: 52px; padding: 12px; border-radius: 18px; }
  [data-theme="zampa"] .feature-title { font-size: 1.05rem; }
  [data-theme="zampa"] .feature-text { font-size: .9rem; }
}
[data-theme="zampa"] .xcard { background: #ffffff; border-radius: var(--radius); padding: 12px 12px 22px; box-shadow: 0 18px 40px -30px rgba(43, 43, 64, .4); transition: transform .35s cubic-bezier(.3, 1.5, .5, 1); text-align: center; }
[data-theme="zampa"] .xcard:nth-child(odd):hover { transform: translateY(-8px) rotate(-2deg); }
[data-theme="zampa"] .xcard:nth-child(even):hover { transform: translateY(-8px) rotate(2deg); }
[data-theme="zampa"] .xcard-media { border-radius: calc(var(--radius) - 8px); overflow: hidden; margin-bottom: 16px; }
[data-theme="zampa"] .xcard-media img { aspect-ratio: 1 / 1; object-fit: cover; transition: transform .6s; }
[data-theme="zampa"] .xcard:hover .xcard-media img { transform: scale(1.06); }
[data-theme="zampa"] .xcard-title { font-size: 1.25rem; margin: 0 8px .2em; }
[data-theme="zampa"] .xcard-title a { color: inherit; text-decoration: none; }
[data-theme="zampa"] .xcard-text { color: var(--muted); margin: 0 10px; font-size: .95rem; }
@media (max-width: 679px) {
  [data-theme="zampa"] .card-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  [data-theme="zampa"] .xcard { padding: 8px 8px 16px; border-radius: 20px; }
  [data-theme="zampa"] .xcard-title { font-size: 1.02rem; }
  [data-theme="zampa"] .xcard-text { font-size: .85rem; }
}
@media (min-width: 1040px) {
  [data-theme="zampa"] .card-grid:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, 1fr); gap: 20px; }
  [data-theme="zampa"] .card-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, 1fr); }
}
[data-theme="zampa"] .ti .ti-media { position: relative; }
[data-theme="zampa"] .ti .ti-media img, [data-theme="zampa"] .ti .ti-media .img-ph { border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; aspect-ratio: 1 / 1; object-fit: cover; }
[data-theme="zampa"] .ti .ti-media::after { content: ""; position: absolute; right: 4%; top: 4%; width: 74px; height: 74px; border-radius: 50%; background: var(--sun) var(--paw) center / 44% no-repeat; box-shadow: 0 6px 0 #d99a12; animation: zampa-bob 5s ease-in-out infinite; }
[data-theme="zampa"] .ti-right .ti-media::after { right: auto; left: 4%; background-color: var(--teal); box-shadow: 0 6px 0 #1d9b8f; }
[data-theme="zampa"] .offer { position: relative; background: #ffffff; border-radius: var(--radius); border: 2px dashed #ffc9b8; padding: 12px; overflow: visible; transition: transform .3s cubic-bezier(.3, 1.5, .5, 1); }
[data-theme="zampa"] .offer:hover { transform: translateY(-6px) rotate(-1deg); }
[data-theme="zampa"] .offer-media { border-radius: calc(var(--radius) - 8px); overflow: hidden; }
[data-theme="zampa"] .offer-media img { aspect-ratio: 4 / 3; object-fit: cover; }
[data-theme="zampa"] .offer-body { padding: 16px 10px 8px; }
[data-theme="zampa"] .offer-title { font-size: 1.3rem; }
[data-theme="zampa"] .offer-price { position: absolute; top: -14px; right: -10px; z-index: 2; background: var(--coral); color: #ffffff; font-weight: 700; font-size: 1.05rem; padding: 12px 16px; border-radius: 999px; transform: rotate(8deg); box-shadow: 0 5px 0 var(--coral-d); white-space: nowrap; }
[data-theme="zampa"] .offer:nth-child(3n+2) .offer-price { background: var(--teal); box-shadow: 0 5px 0 #1d9b8f; }
[data-theme="zampa"] .offer:nth-child(3n) .offer-price { background: var(--sun); color: var(--ink); box-shadow: 0 5px 0 #d99a12; }
[data-theme="zampa"] .offer .link-more { color: var(--coral-d); }
[data-theme="zampa"] .number dd { font-family: var(--font-head); font-weight: 700; font-size: clamp(2.6rem, 6vw, 4.2rem); line-height: 1; color: var(--coral); }
[data-theme="zampa"] .number:nth-child(4n+2) dd { color: var(--teal); }
[data-theme="zampa"] .number:nth-child(4n+3) dd { color: #e5a400; }
[data-theme="zampa"] .number:nth-child(4n+4) dd { color: var(--lilac); }
[data-theme="zampa"] .number dt { font-weight: 600; color: var(--muted); }
[data-theme="zampa"] .sec-bg-dark .number dt { color: #c9c5dd; }
[data-theme="zampa"] .review { position: relative; background: #ffffff; border-radius: var(--radius); border: 0; padding: 30px 28px 26px; box-shadow: 0 18px 40px -30px rgba(43, 43, 64, .4); margin-bottom: 18px; }
[data-theme="zampa"] .review::after { content: ""; position: absolute; left: 38px; bottom: -16px; border: 9px solid transparent; border-top: 14px solid #ffffff; border-left: 14px solid #ffffff; }
[data-theme="zampa"] .review-stars { color: var(--sun); letter-spacing: .1em; }
[data-theme="zampa"] .review-text { color: var(--ink); font-size: 1.04rem; }
[data-theme="zampa"] .review-author { font-weight: 700; color: var(--coral-d); }
[data-theme="zampa"] .faq-item { background: #ffffff; border: 0; border-radius: 22px; margin-bottom: 12px; padding: 4px 22px; box-shadow: 0 12px 30px -26px rgba(43, 43, 64, .45); }
[data-theme="zampa"] .faq-item summary { font-weight: 700; color: var(--ink); padding: 16px 0; }
[data-theme="zampa"] .faq-item[open] { box-shadow: 0 0 0 2px var(--sun), 0 12px 30px -26px rgba(43, 43, 64, .45); }
[data-theme="zampa"] .plist-title { color: var(--coral-d); }
[data-theme="zampa"] .plist-name { font-weight: 700; color: var(--ink); }
[data-theme="zampa"] .plist-price { font-weight: 700; color: var(--ink); background: #fff0c9; padding: 2px 12px; border-radius: 999px; }
[data-theme="zampa"] .plist-dots { border-color: #f1d9b5; border-bottom-style: dotted; border-bottom-width: 3px; }
[data-theme="zampa"] .plist-badge { background: var(--teal); color: #ffffff; border-radius: 999px; }
[data-theme="zampa"] .plist-desc { color: var(--muted); }
[data-theme="zampa"] .cta { background: var(--coral); border-radius: 40px; margin-inline: auto; max-width: min(1200px, calc(100% - 32px)); overflow: hidden; position: relative; }
[data-theme="zampa"] .cta::before, [data-theme="zampa"] .cta::after { content: ""; position: absolute; width: 180px; height: 180px; background: #ffffff; opacity: .14; -webkit-mask: var(--paw) center / contain no-repeat; mask: var(--paw) center / contain no-repeat; }
[data-theme="zampa"] .cta::before { left: -30px; top: -20px; transform: rotate(-24deg); }
[data-theme="zampa"] .cta::after { right: -20px; bottom: -40px; transform: rotate(18deg); }
[data-theme="zampa"] .cta-title { color: #ffffff; }
[data-theme="zampa"] .cta-inner p { color: rgba(255, 255, 255, .92); }
[data-theme="zampa"] .cta-media { display: none; }
[data-theme="zampa"] .gallery-item, [data-theme="zampa"] .gallery-item img { border-radius: 22px; }
[data-theme="zampa"] input, [data-theme="zampa"] select, [data-theme="zampa"] textarea { border-radius: 16px; border: 2px solid #f1e3cf; background: #ffffff; }
[data-theme="zampa"] input:focus, [data-theme="zampa"] select:focus, [data-theme="zampa"] textarea:focus { border-color: var(--teal); outline: 3px solid rgba(46, 196, 182, .2); }
[data-theme="zampa"] .form-card, [data-theme="zampa"] .contact-form { background: #ffffff; border-radius: var(--radius); box-shadow: 0 18px 40px -30px rgba(43, 43, 64, .4); }
[data-theme="zampa"] .loc-map, [data-theme="zampa"] .map-ph { border-radius: var(--radius); overflow: hidden; }
[data-theme="zampa"] .blog-card { border: 0; box-shadow: 0 18px 40px -30px rgba(43, 43, 64, .4); }
[data-theme="zampa"] .site-footer { position: relative; margin-top: 60px; }
[data-theme="zampa"] .site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: -27px; height: 28px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0 28 C 200 0 400 0 600 14 S 1000 28 1200 6 L1200 28 Z' fill='%232b2b40'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
[data-theme="zampa"] .wa-float { box-shadow: 0 6px 0 #1a9e4b; }
[data-theme="zampa"] .to-top { border-radius: 50%; }
@media (prefers-reduced-motion: reduce) {
  [data-theme="zampa"] .hero-media, [data-theme="zampa"] .hero::before, [data-theme="zampa"] .ti .ti-media::after { animation: none; }
}
[data-theme="zampa"] .sec-cta { padding-top: clamp(56px, 7vw, 96px); padding-bottom: clamp(16px, 3vw, 32px); }
[data-theme="zampa"] .hero-media img { object-position: 60% center; }
@media (max-width: 560px) {
  [data-theme="zampa"] .header-cta { display: none; }
  [data-theme="zampa"] .brand-name { font-size: 1.3rem; overflow-wrap: normal; white-space: nowrap; }
}
@media (min-width: 900px) {
  [data-theme="zampa"] .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}
.forno-ticker-track span { flex: 0 0 auto; padding: 18px 0; font-weight: 700; font-size: clamp(1rem, 2vw, 1.35rem); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.cols-center .col { text-align: center; }
.cols-middle .col { justify-content: center; }
.col-text > :first-child { margin-top: 0; }
.col-text > :last-child { margin-bottom: 0; }
.col-code iframe { width: 100%; max-width: 100%; border: 0; border-radius: var(--radius, 12px); }
.col-code iframe[src*="youtube"], .col-code iframe[src*="vimeo"] { aspect-ratio: 16 / 9; height: auto; }
.cols-boxed .col { background: var(--surface, #fff); border: 1px solid var(--line, #e5e5e5); border-radius: var(--radius, 12px); padding: clamp(22px, 3vw, 34px); }
.cols-boxed .col-media { margin: calc(clamp(22px, 3vw, 34px) * -1) calc(clamp(22px, 3vw, 34px) * -1) 20px; border-radius: var(--radius, 12px) var(--radius, 12px) 0 0; }
.sec-bg-dark .cols-boxed .col { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .14); }
.gallery-wrap-full > .gallery { padding: 0 clamp(8px, 1.4vw, 20px); }
.slider-zoom .slide { transform: scale(1.18); transition: opacity 1.1s ease, transform 1.5s cubic-bezier(.2, .6, .2, 1), visibility 0s linear 1.1s; }
.slider-zoom .slide.is-active { transform: none; transition: opacity 1.1s ease, transform 1.5s cubic-bezier(.2, .6, .2, 1), visibility 0s; }
.slider-zoom .slide.is-prev { transform: scale(.94); }
.slider-blur .slide { filter: blur(22px); transform: scale(1.04); transition: opacity 1.1s ease, filter 1.1s ease, transform 1.1s ease, visibility 0s linear 1.1s; }
.slider-blur .slide.is-active { filter: none; transform: none; transition: opacity 1.1s ease, filter 1.1s ease, transform 1.1s ease, visibility 0s; }
.slider-wipe .slide, .slider-circle .slide, .slider-mosaic .slide, .slider-blinds .slide { opacity: 1; }
.slider-wipe .slide { clip-path: inset(0 0 0 100%); transition: clip-path 1.1s cubic-bezier(.65, 0, .35, 1), visibility 0s linear 1.1s; }
.slider-wipe .slide.is-active { transition: clip-path 1.1s cubic-bezier(.65, 0, .35, 1), visibility 0s; }
.slider-wipe .slide.is-prev { transition: visibility 0s linear 1.1s; }
.slider-circle .slide { clip-path: circle(0% at 50% 50%); transition: clip-path 1.3s cubic-bezier(.6, 0, .3, 1), visibility 0s linear 1.3s; }
.slider-circle .slide.is-active { transition: clip-path 1.3s cubic-bezier(.6, 0, .3, 1), visibility 0s; }
.slider-circle .slide.is-prev { transition: visibility 0s linear 1.3s; }
.slider-mosaic .slide, .slider-blinds .slide { transition: visibility 0s linear 1.6s; }
.slider-mosaic .slide.is-active, .slider-blinds .slide.is-active { transition: visibility 0s; }
.fx-tile > div { position: absolute; background-size: cover; background-position: center; }
.fx-blinds .fx-tile { transform-origin: left center; animation-name: fx-blind-in; animation-duration: .7s; }
.go-back .fx-blinds .fx-tile { transform-origin: right center; }
