/* Farang partner directory addition: scoped to fp-* to avoid changing any legacy site elements. */
.fp-section,.fp-directory{--fp-gold:#d6b46a;--fp-ivory:#f5ebd5;--fp-muted:#c5b9a7;--fp-border:rgba(214,180,106,.3);--fp-surface:#161412;--fp-black:#090807;color:var(--fp-ivory);background:#090807;isolation:isolate}
.fp-section{padding:clamp(54px,7vw,92px) 0!important;position:relative;overflow:hidden;border-top:1px solid rgba(214,180,106,.16);border-bottom:1px solid rgba(214,180,106,.18);background:radial-gradient(ellipse 60% 60% at 86% 3%,rgba(155,102,37,.15),transparent 78%),#090807!important}
.fp-section:before{content:"";pointer-events:none;position:absolute;right:-80px;top:-140px;width:min(60vw,750px);height:360px;border:1px solid rgba(214,180,106,.08);border-radius:50%;transform:rotate(-20deg)}
.fp-section .wrap{max-width:1140px;margin:0 auto;padding:0 20px;position:relative;z-index:1}
.fp-kicker{text-transform:uppercase;letter-spacing:.29em;font-weight:800;color:var(--fp-gold);font:800 11px/1.5 Manrope,Arial,sans-serif}
.fp-head{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:8px 0 28px}
.fp-section h2,.fp-directory h1,.fp-directory h2{font-family:"Playfair Display",Georgia,serif!important;color:var(--fp-ivory)!important;font-weight:600!important}
.fp-section h2{font-size:clamp(32px,4vw,51px)!important;line-height:1.08;margin:8px 0!important}
.fp-deck{max-width:650px;color:var(--fp-muted)!important;line-height:1.7;font-size:15px}
.fp-link{font:700 12px/1.3 Manrope,sans-serif;letter-spacing:.08em;color:#f3d992!important;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--fp-border);padding-bottom:5px}
.fp-link:hover{border-bottom-color:#f3d992}
.fp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fp-card{min-width:0;position:relative;background:linear-gradient(152deg,#24201b,#0b0a09 65%);border:1px solid var(--fp-border);border-radius:10px;overflow:hidden;box-shadow:0 14px 45px rgba(0,0,0,.22),0 1px 0 rgba(255,255,255,.03) inset}
.fp-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#725020,#e5c987,#93713c)}
.fp-card .fp-art{min-height:156px;position:relative;overflow:hidden;padding:27px 26px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(70% 80% at 72% 22%,rgba(186,122,37,.26),transparent 75%),linear-gradient(135deg,#1e1914,#060606)}
.fp-card[data-kind="spa"] .fp-art{background:linear-gradient(90deg,rgba(12,9,6,.76),rgba(12,9,6,.38))}
.fp-card[data-kind="kart"] .fp-art{background:repeating-linear-gradient(145deg,transparent 0,transparent 22px,rgba(218,170,79,.018) 22px,rgba(218,170,79,.018) 24px),radial-gradient(80% 85% at 78% 16%,rgba(192,103,27,.30),transparent 75%),linear-gradient(135deg,#1a1611,#080806)}
.fp-card[data-kind="stay"] .fp-art{background-image:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.50)),url('/lagoon/img/room1.jpg');background-size:cover;background-position:center}
.fp-card .fp-art:after{content:"";position:absolute;right:-60px;top:-80px;width:250px;height:250px;border:1px solid rgba(248,213,139,.17);border-radius:50%;box-shadow:0 0 0 37px rgba(204,165,89,.035),0 0 0 75px rgba(204,165,89,.022)}
.fp-card .fp-art b{font:700 12px/1.2 Manrope,sans-serif;letter-spacing:.18em;color:#e8cc8a;text-transform:uppercase;position:relative;z-index:1}
.fp-card .fp-art .fp-monogram{font:600 clamp(24px,3vw,42px)/1.05 "Playfair Display",Georgia,serif;color:#f3e4b9;position:relative;z-index:1;max-width:88%}
.fp-card .fp-body{padding:25px 26px 23px;display:grid;gap:14px}
.fp-card h3{font:600 clamp(23px,2.7vw,29px)/1.2 "Playfair Display",Georgia,serif!important;color:var(--fp-ivory)!important}
.fp-card p{margin:0;color:#d5cbb8!important;font-size:14px;line-height:1.66}
.fp-offer{padding:12px 14px;border-left:2px solid #d6b46a;background:rgba(207,167,90,.085);display:grid;gap:5px}
.fp-offer strong{font-size:17px;color:#f7deb0;line-height:1.35}
.fp-offer span{font-size:12.5px;color:#cfc0a2;line-height:1.5}
.fp-chip{display:inline-flex;align-items:center;padding:4px 9px;margin-right:4px;font-weight:800;font-size:12px;letter-spacing:.07em;color:#140d03;background:#dbc084;border-radius:3px;white-space:nowrap}
.fp-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.fp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;flex:1 1 180px;padding:11px 15px;text-align:center;border-radius:999px;text-decoration:none;font:800 13px/1.3 Manrope,Arial,sans-serif!important;letter-spacing:.02em;transition:transform .15s,border-color .15s}
.fp-btn:hover{transform:translateY(-2px)}
.fp-btn-primary{color:#130f07!important;background:linear-gradient(105deg,#b99044,#f2daa0 48%,#bc944c)}
.fp-btn-outline{color:#f5e1b3!important;border:1px solid rgba(224,185,107,.5)}
.fp-small{font-size:12px!important;color:#a9a095!important;line-height:1.55}
.fp-directory{min-height:100vh;padding:0 0 80px!important}
.fp-directory .fp-intro{padding:clamp(60px,9vw,108px) 0 52px;background:linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.5)),url('/assets/img/farang-P1.webp') center/cover}
.fp-directory .fp-intro h1{font-size:clamp(40px,7vw,78px);margin:14px 0!important;max-width:830px;line-height:1.04}
.fp-directory .fp-intro p{max-width:690px;color:#ebe0cf!important;line-height:1.7}
.fp-directory .fp-body-content{max-width:1140px;margin:auto;padding:44px 20px}
.fp-category-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:38px}
.fp-category-nav a{border:1px solid rgba(214,180,106,.35);padding:9px 16px;color:#f1e1c7;text-decoration:none;border-radius:999px;font-size:13px}
.fp-category-nav a:hover{background:rgba(214,180,106,.12)}
.fp-directory .fp-group{margin:0 0 48px;scroll-margin-top:90px}
.fp-directory .fp-group h2{font-size:clamp(26px,4vw,38px);margin-bottom:18px!important}
.fp-directory .fp-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.fp-note{border-top:1px solid rgba(214,180,106,.20);padding-top:25px;color:#b4ab9f;line-height:1.65;font-size:13px}
@media(max-width:740px){.fp-grid{grid-template-columns:1fr}.fp-card .fp-art{min-height:135px}.fp-head{align-items:start}.fp-section h2{font-size:33px!important}.fp-card .fp-body{padding:22px 20px}.fp-card .fp-art{padding:23px 20px}}
@media(prefers-reduced-motion:reduce){.fp-btn{transition:none}.fp-btn:hover{transform:none}}
.fp-offer .fp-chip,.fp-card .fp-chip{color:#140d03!important;-webkit-text-fill-color:#140d03}
@media(max-width:760px){header .topnav a.pill{display:none!important}header .wrap{flex-wrap:nowrap!important}.topnav{gap:16px}}@media(max-width:350px){.wm b{font-size:16px}.topnav{gap:12px}.topnav a{font-size:11px;letter-spacing:.1em}}
/* ---- partner banners: real-source imagery + subtle motion (v4) ---- */
.fp-card .fp-art{background:#080706!important;min-height:210px;isolation:isolate}
.fp-card .fp-art:after{z-index:0}
.fp-photo{position:absolute;inset:0;z-index:0;background-size:cover;background-repeat:no-repeat;transform:scale(1.02);animation:fpz 22s ease-in-out infinite alternate;will-change:transform}
.fp-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,7,.88) 0%,rgba(7,7,7,.55) 38%,rgba(7,7,7,.12) 72%,rgba(7,7,7,0) 100%),linear-gradient(180deg,rgba(7,7,7,0) 55%,rgba(7,7,7,.55) 100%)}
@keyframes fpz{from{transform:scale(1.02)}to{transform:scale(1.09) translateX(-1.2%)}}
.fp-card[data-kind="spa"] .fp-photo{background-image:url('/assets/img/farang-PB-spa.webp');background-position:58% 40%}
.fp-card[data-kind="kart"] .fp-photo{background-image:url('/assets/img/farang-PB-kart.webp');background-position:62% 55%}
.fp-card[data-kind="stay"] .fp-photo{background-image:url('/lagoon/img/room1.jpg');background-position:center 60%}
.fp-card .fp-art b,.fp-card .fp-art .fp-monogram{text-shadow:0 2px 14px rgba(0,0,0,.85)}
.fp-card{transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .45s,box-shadow .45s}
.fp-card:hover{transform:translateY(-4px);border-color:rgba(229,201,135,.55);box-shadow:0 22px 60px rgba(0,0,0,.45),0 0 0 1px rgba(229,201,135,.12)}
.fp-card:hover .fp-photo{animation-play-state:paused}
#partners .fp-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.fp-directory .fp-grid{grid-template-columns:1fr}
.fp-directory .fp-card .fp-art{min-height:300px}
@media(max-width:740px){.fp-card .fp-art,.fp-directory .fp-card .fp-art{min-height:190px}}
@media(prefers-reduced-motion:reduce){.fp-photo{animation:none!important;transform:none!important}.fp-card,.fp-card:hover{transition:none;transform:none}}
