/* Villa Yelpazesi public theme v42
   Palette: Mediterranean teal, sea blue, warm sand, soft coral. */
:root {
    --vy-teal-950: #0b2f3a;
    --vy-teal-900: #103f4b;
    --vy-teal-800: #0f5e63;
    --vy-teal-700: #0f766e;
    --vy-teal-600: #159985;
    --vy-mint-50: #eefaf6;
    --vy-sea-50: #eff8ff;
    --vy-sand-50: #fbf7ef;
    --vy-sand-100: #f6ead8;
    --vy-coral-500: #f97316;
    --vy-coral-600: #ea580c;
    --vy-ink: #102a43;
    --vy-muted: #64748b;
    --vy-radius-xl: 24px;
    --vy-radius-2xl: 34px;
    --vy-shadow-card: 0 18px 55px rgba(16, 42, 67, .10);
    --vy-shadow-hero: 0 28px 90px rgba(16, 42, 67, .22);
}

html {
    scroll-behavior: smooth;
}

body.public-home,
body.public-property,
body.public-request {
    background:
        radial-gradient(circle at 7% 8%, rgba(21, 153, 133, .10), transparent 27rem),
        radial-gradient(circle at 94% 14%, rgba(249, 115, 22, .10), transparent 24rem),
        linear-gradient(180deg, #fffaf2 0%, #f7f1e8 48%, #ffffff 100%) !important;
    color: var(--vy-ink) !important;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.public-home .hero-pattern {
    background-image:
        radial-gradient(circle at 15% 16%, rgba(255, 255, 255, .20), transparent 18rem),
        radial-gradient(circle at 92% 12%, rgba(249, 115, 22, .30), transparent 20rem),
        linear-gradient(135deg, rgba(11, 47, 58, .96), rgba(15, 94, 99, .88) 47%, rgba(16, 42, 67, .75)) !important;
}

.public-home > .bg-ink,
.public-home footer.bg-ink,
.public-property .bg-slate-950,
.public-property footer.bg-slate-950 {
    background: linear-gradient(135deg, var(--vy-teal-950), var(--vy-teal-800)) !important;
}

.public-home header,
.public-property header {
    background: rgba(255, 252, 246, .90) !important;
    border-color: rgba(15, 94, 99, .10) !important;
    box-shadow: 0 10px 40px rgba(16, 42, 67, .08) !important;
}

.public-home header a,
.public-property header a {
    text-decoration: none;
}

.public-brand-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
}

.public-brand-logo img {
    height: 46px;
    width: auto;
    max-width: 190px;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(16, 42, 67, .12));
}

.public-home .bg-brand-600,
.public-home .hover\:bg-brand-700:hover,
.public-property .bg-emerald-600,
.public-property .hover\:bg-emerald-700:hover,
.public-request .bg-slate-900,
.public-request .hover\:bg-slate-800:hover {
    background-color: var(--vy-teal-700) !important;
}

.public-home .text-brand-600,
.public-home .text-brand-700,
.public-property .text-emerald-600,
.public-property .text-emerald-700,
.public-request .text-emerald-600,
.public-request .text-emerald-700 {
    color: var(--vy-teal-700) !important;
}

.public-home .bg-brand-50,
.public-property .bg-emerald-50,
.public-request .bg-emerald-50 {
    background-color: var(--vy-mint-50) !important;
}

.public-home .ring-brand-100,
.public-home .border-brand-200,
.public-property .ring-emerald-200,
.public-request .ring-emerald-200 {
    --tw-ring-color: rgba(21, 153, 133, .22) !important;
    border-color: rgba(21, 153, 133, .24) !important;
}

.public-home form,
.public-property aside,
.public-request section {
    border: 1px solid rgba(255, 255, 255, .78);
    box-shadow: var(--vy-shadow-hero) !important;
}

.public-home form {
    background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,250,242,.94)) !important;
}

.public-home #villalar article,
.public-property .rounded-3xl.bg-white,
.public-property .rounded-\[2rem\].bg-white,
.public-request section {
    border: 1px solid rgba(15, 94, 99, .10) !important;
    box-shadow: var(--vy-shadow-card) !important;
}

.public-home #villalar article {
    border-radius: var(--vy-radius-2xl) !important;
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.public-home #villalar article:hover {
    transform: translateY(-5px);
    border-color: rgba(21, 153, 133, .30) !important;
    box-shadow: 0 26px 75px rgba(16, 42, 67, .16) !important;
}

.public-home #villalar article img,
.public-property #propertyMainImage {
    transition: transform .55s ease, filter .55s ease;
}

.public-home #villalar article:hover img,
.public-property #mainGalleryButton:hover #propertyMainImage {
    transform: scale(1.035);
    filter: saturate(1.08) contrast(1.03);
}

.public-home [class*="bg-slate-50"],
.public-property [class*="bg-slate-50"],
.public-request [class*="bg-slate-50"] {
    background-color: #fbf7ef !important;
}

.public-home input,
.public-property input,
.public-property textarea {
    color: var(--vy-ink) !important;
}

.public-home input:focus,
.public-property input:focus,
.public-property textarea:focus {
    --tw-ring-color: rgba(21, 153, 133, .35) !important;
    border-color: rgba(21, 153, 133, .45) !important;
}

.public-property aside {
    background:
        radial-gradient(circle at 92% 3%, rgba(249, 115, 22, .23), transparent 14rem),
        linear-gradient(135deg, var(--vy-teal-950), var(--vy-teal-800)) !important;
}

.public-property .flatpickr-calendar {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 22px 65px rgba(16, 42, 67, .18);
}

.public-property .flatpickr-day.selected,
.public-property .flatpickr-day.startRange,
.public-property .flatpickr-day.endRange,
.public-property .flatpickr-day.selected:hover {
    background: var(--vy-teal-700) !important;
    border-color: var(--vy-teal-700) !important;
}

.public-property .flatpickr-day.today {
    border-color: var(--vy-coral-500) !important;
}

.public-property .flatpickr-day.flatpickr-disabled,
.public-property .flatpickr-day.flatpickr-disabled:hover {
    color: rgba(148, 163, 184, .78) !important;
    background: #f1f5f9 !important;
    text-decoration: line-through;
}

.public-request main {
    background:
        linear-gradient(135deg, rgba(11, 47, 58, .92), rgba(15, 94, 99, .80)),
        radial-gradient(circle at 10% 10%, rgba(249, 115, 22, .22), transparent 24rem);
}

.public-request section {
    background: rgba(255, 252, 246, .96) !important;
    backdrop-filter: blur(16px);
}

.public-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    padding: .55rem .85rem;
    color: rgba(255,255,255,.88);
    font-size: .82rem;
    font-weight: 700;
}

@media (max-width: 640px) {
    .public-brand-logo img {
        height: 38px;
        max-width: 156px;
    }

    .public-home h1 {
        letter-spacing: -0.04em;
    }
}
