/* ═══════════════════════════════════════════════════════════════════
   tw-compat.css — shim statico delle utility Tailwind usate da cammino.html
   Sostituisce il runtime cdn.tailwindcss.com (sconsigliato in produzione).
   Copre SOLO le classi effettivamente presenti nella pagina.
   Colori mappati sulla palette v3 "alba umbra".
   ═══════════════════════════════════════════════════════════════════ */

:root{
  --tw-paper:#F2ECDF; --tw-cream:#E8DFCB; --tw-bone:#FAF5E9;
  --tw-forest:#1F3A30; --tw-gold:#B8996F; --tw-gold-light:#D4BE93;
  --tw-ink:#16221C; --tw-sand:#D0C4A6; --tw-stone:#5A5240; --tw-white:#FDFBF6;
}

/* ── Display / position ── */
.block{display:block}.inline-flex{display:inline-flex}.flex{display:flex}
.grid{display:grid}.hidden{display:none}
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}
.inset-0{inset:0}.top-4{top:1rem}.right-4{right:1rem}.left-1\/2{left:50%}
.-bottom-6{bottom:-1.5rem}.-right-6{right:-1.5rem}
.z-10{z-index:10}.z-50{z-index:50}
.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}

/* ── Flex / grid ── */
.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1 0%}
.items-center{align-items:center}.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}.justify-center{justify-content:center}
.justify-start{justify-content:flex-start}
.shrink-0{flex-shrink:0}.min-w-0{min-width:0}
.gap-0{gap:0}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}
.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-16{gap:4rem}
.gap-x-4{column-gap:1rem}.gap-y-1{row-gap:.25rem}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.col-span-2{grid-column:span 2/span 2}
.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}
.order-1{order:1}.order-2{order:2}

/* ── Sizing ── */
.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}
.w-10{width:2.5rem}.w-12{width:3rem}.w-full{width:100%}
.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}
.h-10{height:2.5rem}.h-12{height:3rem}.h-20{height:5rem}.h-full{height:100%}
.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}
.max-w-\[220px\]{max-width:220px}
.max-h-\[50vh\]{max-height:50vh}.max-h-\[90vh\]{max-height:90vh}
.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}
.object-cover{object-fit:cover}

/* ── Spacing ── */
.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}
.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}
.px-10{padding-left:2.5rem;padding-right:2.5rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}
.py-24{padding-top:6rem;padding-bottom:6rem}.py-28{padding-top:7rem;padding-bottom:7rem}
.pb-6{padding-bottom:1.5rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}
.mx-auto{margin-left:auto;margin-right:auto}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}
.mt-1{margin-top:.25rem}.mt-6{margin-top:1.5rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}

/* ── Typography ── */
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}
.font-medium{font-weight:500}.font-semibold{font-weight:600}
.italic{font-style:italic}.uppercase{text-transform:uppercase}
.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}
.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}
.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}
.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}

/* ── Colors: text ── */
.text-forest{color:var(--tw-forest)}.text-gold{color:var(--tw-gold)}
.text-ink{color:var(--tw-ink)}.text-stone{color:var(--tw-stone)}.text-white{color:#fff}
.text-white\/40{color:rgba(255,255,255,.4)}.text-white\/50{color:rgba(255,255,255,.5)}
.text-white\/60{color:rgba(255,255,255,.6)}.text-white\/70{color:rgba(255,255,255,.7)}
.text-white\/80{color:rgba(255,255,255,.8)}.text-white\/90{color:rgba(255,255,255,.9)}
.text-yellow-600{color:#b8860b}.text-orange-600{color:#b06a1e}

/* ── Colors: background ── */
.bg-paper{background-color:var(--tw-paper)}.bg-cream{background-color:var(--tw-cream)}
.bg-forest{background-color:var(--tw-forest)}.bg-gold{background-color:var(--tw-gold)}
.bg-ink{background-color:var(--tw-ink)}.bg-white{background-color:#fff}
.bg-gold\/10{background-color:rgba(184,153,111,.1)}
.bg-forest\/10{background-color:rgba(31,58,48,.1)}
.bg-sand\/50{background-color:rgba(208,196,166,.5)}
.bg-white\/5{background-color:rgba(255,255,255,.05)}
.bg-white\/10{background-color:rgba(255,255,255,.1)}
.bg-ink\/80{background-color:rgba(22,34,28,.8)}

/* ── Borders ── */
.border{border-width:1px;border-style:solid}.border-2{border-width:2px;border-style:solid}
.border-t{border-top-width:1px;border-top-style:solid}
.border-b{border-bottom-width:1px;border-bottom-style:solid}
.border-sand{border-color:var(--tw-sand)}.border-sand\/50{border-color:rgba(208,196,166,.5)}
.border-white\/10{border-color:rgba(255,255,255,.1)}
.border-white\/30{border-color:rgba(255,255,255,.3)}
.rounded-sm{border-radius:.125rem}.rounded-lg{border-radius:.5rem}
.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}

/* ── Effects ── */
.shadow-xl{box-shadow:0 20px 25px -5px rgba(22,34,28,.1),0 8px 10px -6px rgba(22,34,28,.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(22,34,28,.25)}
.backdrop-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.opacity-60{opacity:.6}.cursor-pointer{cursor:pointer}.antialiased{-webkit-font-smoothing:antialiased}
.font-sans{font-family:'Inter',system-ui,sans-serif}

/* ── Transitions ── */
.transition{transition:color .2s,background-color .2s,border-color .2s,opacity .2s,box-shadow .2s,transform .2s}
.transition-all{transition:all .3s}
.transition-colors{transition:color .3s,background-color .3s,border-color .3s}
.transition-transform{transition:transform .3s}

/* ── Hover ── */
.hover\:bg-ink:hover{background-color:var(--tw-ink)}
.hover\:bg-sand:hover{background-color:var(--tw-sand)}
.hover\:bg-white:hover{background-color:#fff}
.hover\:bg-white\/20:hover{background-color:rgba(255,255,255,.2)}
.hover\:text-gold:hover{color:var(--tw-gold)}
.hover\:text-ink:hover{color:var(--tw-ink)}
.hover\:text-white:hover{color:#fff}
.hover\:opacity-90:hover{opacity:.9}

/* ── Responsive: sm (≥640) ── */
@media(min-width:640px){
  .sm\:flex-row{flex-direction:row}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* ── Responsive: md (≥768) ── */
@media(min-width:768px){
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .md\:col-span-1{grid-column:span 1/span 1}
  .md\:gap-4{gap:1rem}
  .md\:aspect-auto{aspect-ratio:auto}
  .md\:order-1{order:1}.md\:order-2{order:2}
  .md\:text-5xl{font-size:3rem;line-height:1}
}
/* ── Responsive: lg (≥1024) ── */
@media(min-width:1024px){
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:p-10{padding:2.5rem}.lg\:p-12{padding:3rem}
  .lg\:py-12{padding-top:3rem;padding-bottom:3rem}
  .lg\:py-32{padding-top:8rem;padding-bottom:8rem}
  .lg\:py-36{padding-top:9rem;padding-bottom:9rem}
  .lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .lg\:text-5xl{font-size:3rem;line-height:1}
  .lg\:text-6xl{font-size:3.75rem;line-height:1}
}
