/* SofiaGoTravel — Vitosha Gold shared presentation layer.
 * Visual-only: content, links, forms, SEO and attribution remain builder-owned. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root{
  --sg-ink:#14110E;--sg-ink-soft:#3A342C;--sg-stone:#8A8175;
  --sg-mist:#E8E2D8;--sg-linen:#F6F1E8;--sg-ivory:#FBF8F2;
  --sg-white:#FFFCF7;--sg-brass:#B08D57;--sg-brass-deep:#8C6A35;
  --sg-brass-soft:#D4C2A0;--sg-night:#1C1915;--sg-night-2:#2A241C;
  --sg-pine:#2E3B32;--sg-wine:#6E2F2A;--sg-good:#2F5D46;
  --sg-warn:#8A5A22;--sg-focus:#B08D57;
  --sg-overlay:rgba(20,17,14,.46);--sg-scrim:rgba(20,17,14,.52);
  --sg-veil-hero:linear-gradient(180deg,rgba(20,17,14,.18) 0%,rgba(20,17,14,.55) 62%,rgba(20,17,14,.72) 100%);
  --sg-veil-card:linear-gradient(180deg,transparent 42%,rgba(20,17,14,.66) 100%);
  --sg-sheen:linear-gradient(90deg,transparent,rgba(176,141,87,.35),transparent);
  --t-kicker:11px;--t-hero:clamp(44px,6vw,72px);--t-h1:clamp(32px,4vw,48px);
  --t-h2:clamp(26px,3vw,34px);--t-h3:22px;--t-h4:17px;--t-body:16px;
  --t-body-sm:14px;--t-meta:12px;--t-price:22px;--t-price-sm:13px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;
  --space-6:24px;--space-8:32px;--space-12:48px;--space-18:72px;--space-24:96px;
}

html{scroll-behavior:smooth;background:var(--sg-linen)}
body,body>div{background:var(--sg-linen)!important;color:var(--sg-ink)!important;font-family:"IBM Plex Sans","Neue Haas Grotesk","Helvetica Neue",Arial,sans-serif!important;font-size:16px;line-height:1.6}
h1,h2,h3,h4,[style*="font-family: Newsreader"],[style*="font-family:Newsreader"]{font-family:"Cormorant Garamond","Times New Roman",serif!important;color:inherit}
h1{font-size:var(--t-h1)!important;font-weight:600!important;letter-spacing:-.015em!important;line-height:1.12!important}
h2{font-size:var(--t-h2)!important;line-height:1.18!important}
h3{font-size:var(--t-h3)!important;line-height:1.25!important}
h4{font-size:var(--t-h4)!important;line-height:1.3!important}
h2,h3,h4{font-weight:500!important;letter-spacing:-.01em!important}
p{color:var(--sg-ink-soft)}
small,time,[style*="letter-spacing: 0.12em"],[style*="letter-spacing:.12em"]{font-variant-numeric:tabular-nums}
a{transition:color .22s cubic-bezier(.22,1,.36,1),border-color .22s cubic-bezier(.22,1,.36,1),background .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--sg-focus)!important;outline-offset:2px!important}

header{min-height:72px;background:rgba(28,25,21,.94)!important;color:var(--sg-linen)!important;border-bottom:1px solid rgba(212,194,160,.28)!important;backdrop-filter:blur(10px)}
header>div{min-height:72px;max-width:1280px!important;margin-inline:auto;padding:12px 24px!important}
header a{color:var(--sg-linen)!important}
header a:hover{color:var(--sg-brass-soft)!important}
header nav{gap:28px!important;font-size:var(--t-body-sm)!important;font-weight:500;letter-spacing:0}
header nav a:hover{text-decoration:underline;text-decoration-color:var(--sg-brass);text-decoration-thickness:1px;text-underline-offset:4px}
header nav details>div{background:var(--sg-night-2)!important;border:1px solid rgba(212,194,160,.3)!important;border-radius:2px!important;box-shadow:0 18px 45px rgba(20,17,14,.22)!important}
header [role="button"]{background:var(--sg-brass)!important;color:var(--sg-night)!important;border-color:var(--sg-brass)!important;border-radius:2px!important;text-transform:uppercase;letter-spacing:.12em;font-size:12px!important}
header [role="button"]:hover{background:var(--sg-brass-deep)!important;border-color:var(--sg-brass-deep)!important;color:var(--sg-white)!important}

main>section:first-child,body>div>section:first-of-type{position:relative;isolation:isolate}
main>section:first-child::after,body>div>section:first-of-type::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--sg-veil-hero);pointer-events:none}
main>section:first-child h1,body>div>section:first-of-type h1{font-size:var(--t-hero)!important;max-width:920px;color:var(--sg-ivory)!important;letter-spacing:-.02em!important;line-height:1.02!important;text-wrap:balance}
main>section:first-child p,body>div>section:first-of-type p{color:var(--sg-mist)!important}

form,[data-sf-grid]{background:var(--sg-white)!important;border:1px solid var(--sg-mist)!important;border-radius:2px!important;box-shadow:0 18px 50px rgba(20,17,14,.14)!important}
[data-sf-grid]{gap:0!important;padding:8px!important}
[data-sf-grid]>*{border-right:1px solid var(--sg-mist);padding-left:14px!important;padding-right:14px!important}
[data-sf-grid]>*:last-child{border-right:0}
input,select,textarea,summary{color:var(--sg-ink)!important}
input,select,textarea{border-color:var(--sg-mist)!important;background:var(--sg-white)!important;border-radius:2px!important}
button,[role="button"]{border-radius:2px!important}
[data-sf-grid] button,[data-sf-grid] [role="button"]{background:var(--sg-brass)!important;color:var(--sg-night)!important;border-color:var(--sg-brass)!important;text-transform:uppercase;letter-spacing:.12em;font-weight:600!important}
[data-sf-grid] button:hover,[data-sf-grid] [role="button"]:hover{background:var(--sg-brass-deep)!important;color:var(--sg-white)!important}

section{border-color:var(--sg-mist)!important}
main>section:not(:first-child){padding-top:clamp(48px,6vw,72px)!important;padding-bottom:clamp(48px,6vw,72px)!important}
section>div{max-width:1280px;margin-inline:auto}
[data-sf-grid]~*,section [style*="text-transform: uppercase"],section [style*="text-transform:uppercase"]{letter-spacing:.16em!important}

/* Cards: hotel, area, journal and things-to-do anchors share the same quiet frame. */
#hotels a,[data-ttd-item],main a[style*="flex-direction: column"][style*="overflow: hidden"],main a[style*="flex-direction:column"][style*="overflow:hidden"],main article{background:var(--sg-ivory)!important;border:1px solid var(--sg-mist)!important;border-radius:2px!important;box-shadow:none!important;overflow:hidden}
#hotels a:hover,[data-ttd-item]:hover,main a[style*="flex-direction: column"][style*="overflow: hidden"]:hover,main article:hover{border-color:var(--sg-brass-soft)!important;box-shadow:0 12px 32px rgba(20,17,14,.08)!important;transform:translateY(-2px)}
#hotels a{transition:transform .28s cubic-bezier(.22,1,.36,1),border-color .28s cubic-bezier(.22,1,.36,1),box-shadow .28s cubic-bezier(.22,1,.36,1)}
#hotels a h2,#hotels a h3,#hotels a [style*="font-weight: 700"]{font-family:"Cormorant Garamond","Times New Roman",serif!important;font-size:var(--t-h3)!important;font-weight:500!important;line-height:1.25!important;color:var(--sg-ink)!important}
#hotels img,[data-ttd-item] img,main article img{transition:transform .32s cubic-bezier(.22,1,.36,1);border-radius:0!important}
#hotels a:hover img,[data-ttd-item]:hover img,main article:hover img{transform:scale(1.03)}
#hotels [style*="font-size: 22px"],#hotels [style*="font-size:22px"]{font-family:"IBM Plex Sans",sans-serif!important;color:var(--sg-brass-deep)!important;font-variant-numeric:tabular-nums;font-weight:600!important}
[data-ttd-area],main a[style*="border: 1px solid"]{border-radius:2px!important}

/* Long-form editorial rhythm. */
article,main [style*="max-width: 720px"],main [style*="max-width:720px"]{line-height:1.68}
article h2,main [style*="max-width: 720px"] h2{margin-top:48px!important}
blockquote{font-family:"Cormorant Garamond","Times New Roman",serif!important;font-size:28px!important;line-height:1.3!important;border-left:2px solid var(--sg-brass)!important;color:var(--sg-ink)!important}

footer{background:var(--sg-night)!important;color:var(--sg-linen)!important;border-top:1px solid rgba(212,194,160,.28)!important;padding-top:var(--space-18)!important}
footer>div{max-width:1280px!important;margin-inline:auto!important;padding-inline:24px!important}
footer p,footer a{color:var(--sg-mist)!important}
footer a:hover{color:var(--sg-brass-soft)!important}
footer h2,footer h3,footer h4{color:var(--sg-ivory)!important}

@media(max-width:760px){
  header,header>div{min-height:60px}
  header>div{padding:8px 16px!important}
  [data-sf-grid]{padding:10px!important}
  [data-sf-grid]>*{border-right:0;border-bottom:1px solid var(--sg-mist);padding:10px 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(38px,12vw,52px)!important}
  main>section:not(:first-child){padding-top:48px!important;padding-bottom:48px!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}}
