/* XactlyLIT premium typography for the owner portal + customer booking/proposal pages (v8.9.25).
   Fonts only + booking buttons; portal layout and colors are untouched. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cormorant-garamond-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-latin-600-italic.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jost-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jost-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jost-latin-600-normal.woff2) format('woff2')}

:root{
  --pt-display:'Cormorant Garamond',Garamond,Georgia,'Times New Roman',serif;
  --pt-body:'Jost','Avenir Next','Segoe UI',system-ui,sans-serif;
  --pt-gold-hi:#f7e6b5;--pt-gold:#e2bf72;--pt-gold-mid:#c99a45;--pt-gold-lo:#9c7128;--pt-gold-edge:#6e4f1a;
  --pt-ink:#1c1406;--pt-cream:#f4ead2;--pt-text:#eef0f2;--pt-muted:#a7afb8;
  --pt-panel-hi:#1a212a;--pt-panel-lo:#0d1117;--pt-hair:rgba(226,191,114,.22);--pt-hair-strong:rgba(226,191,114,.55);
}

:root{--pt-display:'Cormorant Garamond',Garamond,Georgia,'Times New Roman',serif;--pt-body:'Jost','Avenir Next','Segoe UI',system-ui,sans-serif;--pt-gold-hi:#f7e6b5;--pt-gold:#e2bf72;--pt-gold-mid:#c99a45;--pt-gold-lo:#9c7128;--pt-gold-edge:#6e4f1a;--pt-ink:#1c1406;--pt-cream:#f4ead2}
body,input,select,textarea,button,.btn,label{font-family:var(--pt-body)!important}
/* One body typeface everywhere: text elements inherit Jost unless they are display headings */
body :where(p,li,a,span,small,td,th,dd,dt,strong,b,em,i,div,section,article,aside,nav,header,footer,main,form,fieldset,legend,summary,details,figcaption,blockquote,label,button,input,select,textarea,option){font-family:inherit!important}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,.booking-shell h1,.booking-shell h2,.pp-preview h1,.pp-preview h2{font-family:var(--pt-display)!important;font-weight:600;letter-spacing:0}
.eyebrow{font-family:var(--pt-body)!important;font-weight:500!important;letter-spacing:.22em!important}
.money,.price,.pp-price,.booking-shell .total{font-family:var(--pt-display)!important;font-weight:600}

/* Customer booking / reservation pages: raised gold and onyx buttons */
.booking-shell .btn.gold,.booking-shell .btn.primary{font-weight:600!important;text-transform:uppercase;letter-spacing:.16em;color:var(--pt-ink)!important;text-shadow:0 1px 0 rgba(255,246,220,.55);
  background:linear-gradient(180deg,var(--pt-gold-hi) 0%,var(--pt-gold) 46%,var(--pt-gold-mid) 54%,#b8862f 100%)!important;border:1px solid var(--pt-gold-lo)!important;border-radius:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -2px 0 rgba(110,79,26,.35),0 1px 0 var(--pt-gold-edge),0 3px 0 #4a3510,0 12px 26px -8px rgba(0,0,0,.75),0 0 28px -6px rgba(226,191,114,.35)!important;transition:transform .14s ease,box-shadow .14s ease}
.booking-shell .btn.gold:hover,.booking-shell .btn.primary:hover{transform:translateY(-1px);filter:brightness(1.06)}
.booking-shell .btn.gold:active,.booking-shell .btn.primary:active{transform:translateY(2px);box-shadow:inset 0 2px 5px rgba(90,60,15,.45),0 1px 0 var(--pt-gold-edge)!important}
.booking-shell .btn:not(.gold):not(.primary){font-weight:500!important;text-transform:uppercase;letter-spacing:.14em;color:var(--pt-cream)!important;
  background:linear-gradient(180deg,#232b36 0%,#141a22 55%,#0e1319 100%)!important;border:1px solid rgba(226,191,114,.42)!important;border-radius:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 2px 0 #05080c,0 10px 22px -10px rgba(0,0,0,.85)!important}
/* Fix: booking error state rendered light text on the cream page background */
body:has(.booking-shell){background:#0a0c10!important}
