/* Minimal Tailwind utilities for mykonos-psaroubeach.com */
/* Only classes actually used — replaces 300KB CDN */

/* Reset */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid}

/* Layout */
.block{display:block}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}
.fixed{position:fixed}
.relative{position:relative}
.absolute{position:absolute}
.overflow-x-auto{overflow-x:auto}

/* Positioning */
.top-0{top:0}
.z-50{z-index:50}

/* Sizing */
.w-full{width:100%}
.h-44{height:11rem}
.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}

/* Flex */
.flex-col{flex-direction:column}
.flex-shrink-0{flex-shrink:0}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}

/* Grid */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Gap */
.gap-2{gap:0.5rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-10{gap:2.5rem}

/* Margin */
.mx-2{margin-left:0.5rem;margin-right:0.5rem}
.mx-auto{margin-left:auto;margin-right:auto}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.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-2{margin-top:0.5rem}
.mt-3{margin-top:0.75rem}
.mt-8{margin-top:2rem}
.mt-10{margin-top:2.5rem}
.mt-12{margin-top:3rem}

/* Padding */
.p-6{padding:1.5rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.pt-3{padding-top:0.75rem}
.pt-6{padding-top:1.5rem}
.pt-28{padding-top:7rem}
.pb-4{padding-bottom:1rem}
.pb-20{padding-bottom:5rem}
.pl-10{padding-left:2.5rem}

/* Space between children */
.space-y-3>:not([hidden])~:not([hidden]){margin-top:0.75rem}
.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}
.space-y-5>:not([hidden])~:not([hidden]){margin-top:1.25rem}
.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.5rem}

/* Typography */
.text-xs{font-size:0.75rem;line-height:1rem}
.text-sm{font-size:0.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-center{text-align:center}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.tracking-wide{letter-spacing:0.025em}
.tracking-widest{letter-spacing:0.1em}

/* Responsive: md (768px+) */
@media(min-width:768px){
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.md\:flex-row{flex-direction:row}
.md\:items-center{align-items:center}
.md\:justify-between{justify-content:space-between}
.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
}

/* Responsive: lg (1024px+) */
@media(min-width:1024px){
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
