/* SofiaGoTravel — Lovable "Sofia Private Stays" visual layer.
   Presentation only: content, URLs, SEO, forms and tracking remain builder-owned. */
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/manrope-400.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/manrope-500.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/manrope-600.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/manrope-700.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/playfair-display-500.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/playfair-display-600.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:500;font-display:swap;src:url("/fonts/playfair-display-italic-500.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:600;font-display:swap;src:url("/fonts/playfair-display-italic-600.woff2") format("woff2")}

:root{--lov-ink-deep:oklch(0.16 0.028 262);--lov-ink:oklch(0.215 0.031 261);--lov-bg:oklch(0.973 0.008 86);--lov-parchment:oklch(0.965 0.012 84);--lov-brass:oklch(0.78 0.105 78);--lov-brass-soft:oklch(0.87 0.062 82);--lov-ivory:oklch(0.985 0.006 84);--lov-line:color-mix(in oklch,var(--lov-ink) 14%,transparent);--lov-radius:.25rem;--lov-calm:cubic-bezier(.22,.61,.36,1);--lov-shadow:0 20px 60px color-mix(in oklch,var(--lov-ink-deep) 18%,transparent);--lov-shadow-lift:0 24px 70px color-mix(in oklch,var(--lov-ink-deep) 22%,transparent)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--lov-bg)}
body,body>div,.sgt-v2{margin:0;background:var(--lov-bg)!important;color:var(--lov-ink)!important;font-family:"Manrope",sans-serif!important;line-height:1.65;-webkit-font-smoothing:antialiased}
[style*="font-family: DM Sans"],[style*="font-family:DM Sans"]{font-family:"Manrope",sans-serif!important}
h1,h2,h3,h4,h5,h6,[style*="font-family: Newsreader"],[style*="font-family:Newsreader"],[style*="font-family: Syne"],[style*="font-family:Syne"],[style*="font-family: Lora"],[style*="font-family:Lora"]{font-family:"Playfair Display",Georgia,serif!important;font-weight:500!important;letter-spacing:-.025em!important;line-height:1.08!important;color:inherit}
h1{font-size:clamp(2.75rem,6vw,5.9rem)!important}h2{font-size:clamp(2rem,3.7vw,3.4rem)!important}h3{font-size:clamp(1.35rem,2vw,1.75rem)!important}
p{color:color-mix(in oklch,var(--lov-ink) 78%,transparent)}a{transition:color .25s var(--lov-calm),border-color .25s var(--lov-calm),background .25s var(--lov-calm),transform .55s var(--lov-calm),box-shadow .4s var(--lov-calm)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--lov-brass)!important;outline-offset:3px!important}

/* Dark, glassy editorial header. */
.site-header,body header{min-height:76px;background:color-mix(in oklch,var(--lov-ink-deep) 94%,transparent)!important;color:var(--lov-ivory)!important;border-bottom:1px solid color-mix(in oklch,var(--lov-brass) 28%,transparent)!important;backdrop-filter:blur(18px);box-shadow:0 8px 32px color-mix(in oklch,var(--lov-ink-deep) 16%,transparent)}
.site-header>div,body header>div{min-height:76px;max-width:1320px!important;padding:14px 32px!important}.site-header a,body header a{color:var(--lov-ivory)!important}.site-header>div>a:first-child,body header>div>a:first-child{font-family:"Playfair Display",serif!important;font-size:1.25rem!important;font-weight:600!important;letter-spacing:-.02em!important}.site-header>div>a:first-child span,body header>div>a:first-child span{color:var(--lov-brass)!important}
header nav{gap:clamp(16px,2.4vw,34px)!important;font-size:.76rem!important;font-weight:600!important;letter-spacing:.1em;text-transform:uppercase}header nav a:hover{color:var(--lov-brass-soft)!important}
header nav details>div{background:var(--lov-ink-deep)!important;border:1px solid color-mix(in oklch,var(--lov-brass) 30%,transparent)!important;border-radius:var(--lov-radius)!important;box-shadow:var(--lov-shadow)!important}
header [role="button"]{background:transparent!important;color:var(--lov-brass-soft)!important;border:1px solid var(--lov-brass)!important;border-radius:var(--lov-radius)!important;text-transform:uppercase;letter-spacing:.15em;font-size:.67rem!important;padding:11px 18px!important}header [role="button"]:hover{background:var(--lov-brass)!important;color:var(--lov-ink-deep)!important}

/* Hero: retain the site's image and copy; supply Lovable's blue-hour veil. */
main>div>section:first-child,main>section:first-child,body>div>section:first-of-type{position:relative;isolation:isolate;background-color:var(--lov-ink-deep)!important}
main>div>section:first-child::after,main>section:first-child::after,body>div>section:first-of-type::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,color-mix(in oklch,var(--lov-ink-deep) 72%,transparent) 0%,color-mix(in oklch,var(--lov-ink-deep) 34%,transparent) 43%,color-mix(in oklch,var(--lov-ink-deep) 88%,transparent) 100%)}
main>div>section:first-child>*,main>section:first-child>*,body>div>section:first-of-type>*{position:relative;z-index:1}
main>div>section:first-child h1,main>section:first-child h1,body>div>section:first-of-type h1{max-width:940px;color:var(--lov-ivory)!important;text-wrap:balance;text-shadow:0 8px 36px color-mix(in oklch,var(--lov-ink-deep) 52%,transparent);animation:lov-rise .9s var(--lov-calm) both}
main>div>section:first-child p,main>section:first-child p,body>div>section:first-of-type p{color:color-mix(in oklch,var(--lov-ivory) 82%,transparent)!important;animation:lov-rise .9s .1s var(--lov-calm) both}
@keyframes lov-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Eyebrows and hairlines. */
section [style*="text-transform: uppercase"],section [style*="text-transform:uppercase"],nav[aria-label="Breadcrumb"],small{font-family:"Manrope",sans-serif!important;font-size:.6875rem!important;font-weight:600!important;letter-spacing:.24em!important;text-transform:uppercase}
section>div>div[style*="border-top: 1px"],section>div>div[style*="border-top:1px"]{border-color:transparent!important;background-image:linear-gradient(90deg,var(--lov-brass),transparent);background-repeat:no-repeat;background-size:100% 1px}

/* Search plate. */
[data-sf-grid],form{background:var(--lov-ivory)!important;border:1px solid color-mix(in oklch,var(--lov-brass) 24%,transparent)!important;border-radius:var(--lov-radius)!important;box-shadow:var(--lov-shadow)!important}
[data-sf-grid]{gap:0!important;padding:10px!important;animation:lov-rise .9s .18s var(--lov-calm) both}[data-sf-grid]>*{min-width:0;padding:10px 16px!important;border-right:1px solid var(--lov-line)}[data-sf-grid]>*:last-child{border-right:0}
input,select,textarea,summary{color:var(--lov-ink)!important}input,select,textarea{background:transparent!important;border-color:var(--lov-line)!important;border-radius:var(--lov-radius)!important}
button,[role="button"]{border-radius:var(--lov-radius)!important}[data-sf-grid] button,[data-sf-grid] [role="button"],main a[role="button"]{background:var(--lov-ink-deep)!important;color:var(--lov-ivory)!important;border-color:var(--lov-ink-deep)!important;text-transform:uppercase;letter-spacing:.16em;font-weight:700!important;font-size:.7rem!important}[data-sf-grid] button:hover,[data-sf-grid] [role="button"]:hover,main a[role="button"]:hover{background:var(--lov-brass)!important;color:var(--lov-ink-deep)!important;border-color:var(--lov-brass)!important}

/* Editorial spacing and warm section bands. */
main{background:var(--lov-bg)!important;color:var(--lov-ink)!important}main>section:not(:first-child),main>div>section:not(:first-child){padding-top:clamp(58px,7vw,96px)!important;padding-bottom:clamp(58px,7vw,96px)!important}section{border-color:var(--lov-line)!important}section[style*="background"]{background-color:var(--lov-parchment)!important}

/* Hotel, neighbourhood, guide and journal cards. */
#hotels a,[data-ttd-item],main article,main a[style*="overflow: hidden"],main a[style*="overflow:hidden"],[data-hp-grid]>a{background:var(--lov-ivory)!important;border:1px solid var(--lov-line)!important;border-radius:var(--lov-radius)!important;box-shadow:0 10px 34px color-mix(in oklch,var(--lov-ink-deep) 7%,transparent)!important;overflow:hidden;transition:transform .55s var(--lov-calm),border-color .35s var(--lov-calm),box-shadow .45s var(--lov-calm)}
#hotels a:hover,[data-ttd-item]:hover,main article:hover,main a[style*="overflow: hidden"]:hover,main a[style*="overflow:hidden"]:hover,[data-hp-grid]>a:hover{transform:translateY(-5px);border-color:var(--lov-brass-soft)!important;box-shadow:var(--lov-shadow-lift)!important}
#hotels img,[data-ttd-item] img,main article img,main a img,[data-hp-grid] img{filter:saturate(.88) contrast(1.04);transition:transform .75s var(--lov-calm),filter .5s var(--lov-calm);border-radius:0!important}#hotels a:hover img,[data-ttd-item]:hover img,main article:hover img,main a:hover img,[data-hp-grid]>a:hover img{transform:scale(1.045);filter:saturate(1) contrast(1.04)}
#hotels h2,#hotels h3,[data-hp-grid] strong,main article h2,main article h3{font-family:"Playfair Display",serif!important;font-weight:500!important;color:var(--lov-ink)!important}#hotels [style*="font-size: 22px"],#hotels [style*="font-size:22px"]{color:var(--lov-ink)!important;font-variant-numeric:tabular-nums;font-weight:700!important}
[data-ttd-area],main a[style*="border: 1px solid"],main a[style*="border:1px solid"]{border-radius:var(--lov-radius)!important}

/* Long-form editorial pages. */
article,main [style*="max-width: 720px"],main [style*="max-width:720px"]{line-height:1.78}article h2,main [style*="max-width: 720px"] h2{margin-top:2.5em!important}blockquote{font-family:"Playfair Display",serif!important;font-size:clamp(1.5rem,3vw,2.25rem)!important;font-style:italic;line-height:1.35!important;border-left:1px solid var(--lov-brass)!important;color:var(--lov-ink)!important}

footer,.site-footer{background:var(--lov-ink-deep)!important;color:var(--lov-ivory)!important;border-top:1px solid color-mix(in oklch,var(--lov-brass) 28%,transparent)!important;padding-top:72px!important}footer>div{max-width:1320px!important;margin-inline:auto!important;padding-inline:32px!important}footer p,footer a{color:color-mix(in oklch,var(--lov-ivory) 72%,transparent)!important}footer a:hover{color:var(--lov-brass-soft)!important}footer h2,footer h3,footer h4{color:var(--lov-ivory)!important}

@media(max-width:760px){.site-header,body header,.site-header>div,body header>div{min-height:62px}.site-header>div,body header>div{padding:9px 18px!important}[data-sf-grid]{padding:10px!important}[data-sf-grid]>*{border-right:0;border-bottom:1px solid var(--lov-line);padding:11px 8px!important}[data-sf-grid]>*:last-child{border-bottom:0}main>section:first-child h1,body>div>section:first-of-type h1{font-size:clamp(2.65rem,13vw,4.2rem)!important}main>section:not(:first-child),main>div>section:not(:first-child){padding-top:52px!important;padding-bottom:52px!important}footer>div{padding-inline:18px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Final Lovable fidelity pass: structure stays builder-owned; these rules only
   strengthen the editorial hierarchy across every existing page recipe. */
.sgt-v2 main>section:first-child,.sgt-v2 main>div>section:first-child{min-height:min(780px,82vh);display:flex;align-items:flex-end}
.sgt-v2 main>section:first-child>div,.sgt-v2 main>div>section:first-child>div{width:min(100%,1320px);margin-inline:auto;padding-bottom:clamp(48px,8vh,92px)!important}
.sgt-v2 main>section:first-child img{filter:saturate(.76) contrast(1.08) brightness(.82)}
.sgt-v2 main>section:first-child h1 span{font-family:"Playfair Display",Georgia,serif!important;font-style:italic!important;font-weight:500!important;color:var(--lov-brass-soft)!important;letter-spacing:-.02em!important}
.sgt-v2 main>section:first-child [style*="border-radius"]{border-radius:var(--lov-radius)!important}
.sgt-v2 main section>div{max-width:1320px}
.sgt-v2 main section h2::after{content:"";display:block;width:76px;height:1px;margin-top:20px;background:linear-gradient(90deg,var(--lov-brass),transparent)}
.sgt-v2 main section h2[style*="text-align:center"]::after{margin-inline:auto}
.sgt-v2 main [style*="display:grid"]{column-gap:clamp(18px,2.5vw,34px)!important;row-gap:clamp(24px,3vw,42px)!important}
.sgt-v2 main [style*="box-shadow"]{box-shadow:0 12px 38px color-mix(in oklch,var(--lov-ink-deep) 8%,transparent)!important}
.sgt-v2 main img{background:color-mix(in oklch,var(--lov-parchment) 88%,var(--lov-ink));}
.sgt-v2 main a:not([role="button"]):hover{color:color-mix(in oklch,var(--lov-brass) 72%,var(--lov-ink))!important}
.sgt-v2 footer::before{content:"";display:block;width:min(100% - 64px,1320px);height:1px;margin:-36px auto 56px;background:linear-gradient(90deg,transparent,var(--lov-brass),transparent);opacity:.55}
@media(max-width:760px){.sgt-v2 main>section:first-child,.sgt-v2 main>div>section:first-child{min-height:680px}.sgt-v2 main>section:first-child>div,.sgt-v2 main>div>section:first-child>div{padding-bottom:42px!important}.sgt-v2 main [style*="display:grid"]{row-gap:22px!important}.sgt-v2 footer::before{width:calc(100% - 36px)}}

/* Component finish: mirror the reference's quiet private-stays rhythm without
   changing builder structure or injecting a single character of copy. */
.sgt-v2 .site-header{position:sticky!important;top:0!important;z-index:90!important}
.sgt-v2 .site-header::after{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,var(--lov-brass),transparent);opacity:.42}
.sgt-v2 .site-header nav a{position:relative}
.sgt-v2 .site-header nav>a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--lov-brass);transition:right .35s var(--lov-calm)}
.sgt-v2 .site-header nav>a:hover::after{right:0}
.sgt-v2 main>section:first-child::before,.sgt-v2 main>div>section:first-child::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 68% 38%,transparent 0 28%,color-mix(in oklch,var(--lov-ink-deep) 28%,transparent) 76%)}
.sgt-v2 main>section:first-child h1,.sgt-v2 main>div>section:first-child h1{max-width:12ch!important}
.sgt-v2 [data-sf-grid] label,.sgt-v2 [data-sf-grid] [style*="font-size: 12px"],.sgt-v2 [data-sf-grid] [style*="font-size:12px"]{font-size:.625rem!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:color-mix(in oklch,var(--lov-ink) 62%,transparent)!important}
.sgt-v2 [data-sf-grid] input,.sgt-v2 [data-sf-grid] select{font-family:"Manrope",sans-serif!important;font-size:.86rem!important;border:0!important;box-shadow:none!important;padding-inline:0!important}
.sgt-v2 #hotels>div>div,.sgt-v2 [data-hp-grid]{align-items:stretch}
.sgt-v2 #hotels a,.sgt-v2 [data-hp-grid]>a,.sgt-v2 [data-ttd-item],.sgt-v2 main article{position:relative}
.sgt-v2 #hotels a::after,.sgt-v2 [data-hp-grid]>a::after,.sgt-v2 [data-ttd-item]::after{content:"";position:absolute;inset:auto 20px 0;height:1px;background:linear-gradient(90deg,var(--lov-brass),transparent);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--lov-calm)}
.sgt-v2 #hotels a:hover::after,.sgt-v2 [data-hp-grid]>a:hover::after,.sgt-v2 [data-ttd-item]:hover::after{transform:scaleX(1)}
.sgt-v2 #hotels a img,.sgt-v2 [data-hp-grid]>a img,.sgt-v2 [data-ttd-item] img{aspect-ratio:4/3;object-fit:cover}
.sgt-v2 #areas img,.sgt-v2 #stories img,.sgt-v2 #explore img{min-height:260px;object-fit:cover}
.sgt-v2 details{border-color:var(--lov-line)!important;border-radius:var(--lov-radius)!important}
.sgt-v2 details[open]{background:var(--lov-ivory)!important;box-shadow:0 12px 36px color-mix(in oklch,var(--lov-ink-deep) 6%,transparent)}
.sgt-v2 footer a{font-size:.78rem;letter-spacing:.025em}
.sgt-v2 footer strong,.sgt-v2 footer [style*="font-weight: 800"],.sgt-v2 footer [style*="font-weight:800"]{font-family:"Playfair Display",Georgia,serif!important;font-weight:500!important;letter-spacing:-.015em!important}
@media(max-width:960px){.sgt-v2 .site-header nav{gap:14px!important}.sgt-v2 [data-sf-grid]{grid-template-columns:1fr 1fr!important}.sgt-v2 [data-sf-grid]>*{border-bottom:1px solid var(--lov-line)}}
@media(max-width:760px){.sgt-v2 .site-header nav{letter-spacing:.06em}.sgt-v2 [data-sf-grid]{grid-template-columns:1fr!important}.sgt-v2 main>section:first-child h1,.sgt-v2 main>div>section:first-child h1{max-width:10ch!important}.sgt-v2 #areas img,.sgt-v2 #stories img,.sgt-v2 #explore img{min-height:220px}}

/* 2026-08-16 mobile + palette lock. Static, visual-only overrides. */
html,body,#dc-root{max-width:100%!important;overflow-x:hidden!important;overflow-x:clip!important}
body header,body .site-header{background:var(--lov-ink-deep)!important;color:var(--lov-ivory)!important;border-bottom-color:color-mix(in oklch,var(--lov-brass) 38%,transparent)!important}
body header>div,body .site-header>div{background:transparent!important}
body header a,body header nav a,body header [data-lang-link]{color:var(--lov-ivory)!important}
body header [data-lang-link][style*="background"]{background:transparent!important;border-color:var(--lov-brass)!important}
body header [data-lang-link]:hover,body header [data-lang-link][style*="rgb(143, 53, 28)"]{background:var(--lov-brass)!important;color:var(--lov-ink-deep)!important}
body header>div>a:first-child span:first-child{background:var(--lov-brass)!important;color:var(--lov-ink-deep)!important}

@media(max-width:768px){
  body header>div,body .site-header>div{width:100%!important;max-width:100%!important;padding:10px 16px!important;gap:10px 14px!important;flex-wrap:wrap!important}
  body header nav,body .site-header nav{order:3!important;display:flex!important;flex:1 1 100%!important;width:100%!important;max-width:100%!important;gap:8px 16px!important;flex-wrap:wrap!important;overflow:visible!important;white-space:normal!important;letter-spacing:.05em!important;line-height:1.35!important}
  body header nav a,body header nav summary{display:inline-flex!important;align-items:center!important;min-height:44px!important;white-space:normal!important}
  body header nav details{max-width:100%!important}
  body header nav details>div{left:0!important;right:auto!important;max-width:calc(100vw - 32px)!important}
  body header [role="button"],body header [data-lang-link]{min-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
  main>section:first-of-type h1,main>div>section:first-of-type h1,body>div>section:first-of-type h1{font-size:clamp(2.1rem,10vw,3.4rem)!important;line-height:1.02!important;max-width:100%!important;overflow-wrap:anywhere!important}
  main>section:first-of-type [style*="repeat(4, 1fr)"],main>div>section:first-of-type [style*="repeat(4, 1fr)"],body>div>section:first-of-type [style*="repeat(4, 1fr)"],main>section:first-of-type [style*="grid-template-columns: repeat(4"],main>div>section:first-of-type [style*="grid-template-columns: repeat(4"],[data-stats-grid]{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;max-width:100%!important}
  [data-sf-grid]{display:grid!important;grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;gap:0!important;padding:10px!important}
  [data-sf-grid]>*{width:100%!important;max-width:100%!important;min-width:0!important;min-height:44px!important;margin:0!important;padding:10px 8px!important;border-right:0!important;border-bottom:1px solid var(--lov-line)!important}
  [data-sf-grid]>*:last-child{border-bottom:0!important}
  [data-sf-grid] input,[data-sf-grid] select,[data-sf-grid] textarea,[data-sf-grid] summary,[data-sf-grid] button,[data-sf-grid] a[role="button"]{width:100%!important;max-width:100%!important;min-height:44px!important;font-size:16px!important}
  [data-sf-grid] details[data-sf-guests]>div{position:static!important;width:100%!important;max-width:100%!important;margin-top:10px!important}
  img,video,iframe{max-width:100%!important}
}

@media(max-width:480px){
  body header>div,body .site-header>div{padding:8px 12px!important;gap:8px 10px!important}
  body header nav,body .site-header nav{gap:4px 12px!important;font-size:.68rem!important}
  body header>div>a:first-child,body .site-header>div>a:first-child{font-size:1.05rem!important}
  body header [role="button"]{padding:9px 12px!important}
  main>section:first-of-type h1,main>div>section:first-of-type h1,body>div>section:first-of-type h1{font-size:clamp(1.9rem,9.5vw,2.75rem)!important;line-height:1.04!important}
  main>section:first-of-type [style*="repeat(4, 1fr)"],main>div>section:first-of-type [style*="repeat(4, 1fr)"],body>div>section:first-of-type [style*="repeat(4, 1fr)"],main>section:first-of-type [style*="grid-template-columns: repeat(4"],main>div>section:first-of-type [style*="grid-template-columns: repeat(4"],[data-stats-grid]{grid-template-columns:1fr!important}
  [data-sf-grid]{padding:8px!important}
}
