/*
Theme Name: Lemon Tours
Theme URI: https://lemontours.lk
Author: Digital Solutions Lanka
Author URI: https://dsolk.com
Description: Custom theme for Lemon Tours, a Sri Lankan inbound tour operator. Itineraries, day tours, airport transfers, stays and destinations, with enquiry-based booking.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lemon-tours
Tags: travel, tour-operator, custom-post-types
*/

:root{
  --ink:#17211C;--ink-soft:#2C3B33;--paper:#FBFAF6;--paper-2:#F1EEE4;
  --lemon:#E8C21C;--lemon-deep:#A8871A;--leaf:#3E6B4A;--lagoon:#2C6F79;
  --stone:#8A8578;--line:#DDD8CA;--maxw:1200px;--gut:clamp(20px,5vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Karla",system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;font-weight:400;line-height:1.13;margin:0;letter-spacing:-0.01em}
h1{font-size:clamp(34px,5.4vw,64px)}
h2{font-size:clamp(26px,3.2vw,40px)}
h3{font-size:clamp(18px,1.9vw,22px)}
p{margin:0 0 1em}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--lagoon);outline-offset:3px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:12px;top:12px;z-index:999;background:var(--lemon);color:#2B2205;padding:10px 16px}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.sec{padding-block:clamp(44px,6vw,88px)}
.sec-tight{padding-block:clamp(34px,4.5vw,60px)}
.lede{font-size:clamp(17px,1.5vw,19px);color:var(--ink-soft);max-width:62ch}
.small{font-size:14px;color:var(--stone);line-height:1.6}
.alt-bg{background:var(--paper-2)}

.ph{background:var(--tint,#C9C4B4);background-size:cover;background-position:center;position:relative;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}

/* buttons */
.btn{display:inline-block;font-size:15px;font-weight:500;padding:12px 22px;border-radius:2px;border:1px solid transparent;cursor:pointer;font-family:inherit;text-align:center;transition:background .15s,color .15s,border-color .15s}
.btn-lemon{background:var(--lemon);color:#2B2205}
.btn-lemon:hover{background:#F2CF35}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{border-color:var(--lemon);color:var(--lemon)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:var(--ink-soft)}
.btn-outline{border-color:var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-wide{display:block;width:100%}
.link-more{font-size:15px;font-weight:500;border-bottom:1.5px solid var(--lemon);padding-bottom:2px}

/* header */
.util{background:var(--ink);color:#CFCCC0;font-size:13px}
.util .wrap{display:flex;gap:22px;justify-content:flex-end;align-items:center;padding-block:7px;flex-wrap:wrap}
.util a{display:inline-flex;align-items:center;gap:6px}
.util a:hover{color:var(--lemon)}
.util .dot{width:6px;height:6px;border-radius:50%;background:var(--lemon);display:inline-block}
header.site{background:var(--ink);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.09)}
.admin-bar header.site{top:32px}
@media(max-width:782px){.admin-bar header.site{top:46px}}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px;position:relative}
.brand{display:flex;align-items:center;gap:11px;color:#fff}
.brand .mark{width:34px;height:34px;border-radius:50%;background:var(--lemon);display:grid;place-items:center;flex:none}
.brand .txt b{font-family:"Fraunces",serif;font-weight:500;font-size:20px;display:block;line-height:1.15}
.brand .txt small{display:block;font-size:10.5px;letter-spacing:.22em;color:#98937F;text-transform:uppercase}
.brand img{max-height:42px;width:auto}

nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:26px;align-items:center}
nav.main a{font-size:14.5px;color:#DAD6C9;padding-block:6px;display:block}
nav.main a:hover{color:var(--lemon)}
nav.main li{position:relative}
nav.main .menu-item-has-children>a::after{content:"";display:inline-block;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:7px}
nav.main .sub-menu{display:none;position:absolute;left:-14px;top:100%;background:var(--ink);border:1px solid rgba(255,255,255,.12);min-width:250px;padding:8px 0;flex-direction:column;gap:0;z-index:60}
nav.main li:hover>.sub-menu,nav.main li:focus-within>.sub-menu{display:flex}
nav.main .sub-menu a{padding:9px 18px}
.navtoggle{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;padding:9px 13px;border-radius:2px;font-family:inherit;font-size:14px;cursor:pointer}
@media(max-width:1000px){
  nav.main{display:none}
  .navtoggle{display:block}
  header.site .btn-lemon{display:none}
  nav.main.open{display:block;position:absolute;left:0;right:0;top:100%;background:var(--ink);padding:6px var(--gut) 20px;border-bottom:1px solid rgba(255,255,255,.12);max-height:78vh;overflow:auto}
  nav.main.open ul{flex-direction:column;gap:0;align-items:stretch}
  nav.main.open a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}
  nav.main.open .sub-menu{display:flex;position:static;border:0;background:transparent;padding:0 0 0 16px;min-width:0}
}

/* hero */
.hero{position:relative;background:var(--ink);color:#fff;min-height:min(78vh,640px);display:flex;align-items:flex-end}
.hero .ph{position:absolute;inset:0}
.hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,18,14,.55) 0%,rgba(11,18,14,.18) 38%,rgba(11,18,14,.86) 100%)}
.hero .wrap{position:relative;padding-block:clamp(40px,7vw,72px);width:100%}
.hero h1{max-width:15ch;color:#fff}
.hero .sub{max-width:46ch;color:#E4E1D6;margin-top:18px;font-size:clamp(16px,1.5vw,19px)}
.hero .acts{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.hero .frame{position:absolute;right:var(--gut);bottom:clamp(40px,7vw,72px);max-width:250px;border-left:2px solid var(--lemon);padding-left:14px}
.hero .frame b{display:block;font-family:"Fraunces",serif;font-size:19px;font-weight:500}
.hero .frame p{margin:4px 0 0;font-size:13.5px;color:#CFCBBD;line-height:1.55}
@media(max-width:900px){.hero .frame{display:none}}

/* page hero (inner pages) */
.phero{background:var(--ink);color:#fff;position:relative;min-height:min(58vh,460px);display:flex;align-items:flex-end}
.phero .ph{position:absolute;inset:0}
.phero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,18,14,.5) 0%,rgba(11,18,14,.15) 40%,rgba(11,18,14,.88) 100%)}
.phero .wrap{position:relative;width:100%;padding-block:clamp(32px,5vw,56px)}
.phero h1{color:#fff;max-width:16ch}
.phero.plain{min-height:0;padding-block:clamp(36px,5vw,64px);align-items:center}
.crumb{font-size:13.5px;color:#B9B5A7;margin-bottom:16px}
.crumb a:hover{color:var(--lemon)}
.facts{display:flex;gap:28px;flex-wrap:wrap;margin-top:22px;color:#E4E1D6;font-size:15px}
.facts b{display:block;font-family:"Fraunces",serif;font-size:20px;font-weight:500;color:var(--lemon)}
.facts span{font-size:13px;color:#B9B5A7}

/* trust strip */
.trust{background:var(--ink);border-top:1px solid rgba(255,255,255,.09);color:#CFCCC0}
.trust .row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding-block:20px;text-align:center}
.trust b{display:block;font-family:"Fraunces",serif;font-size:17px;color:var(--lemon);font-weight:500}
.trust span{font-size:12.5px;line-height:1.45;display:block;margin-top:3px}
@media(max-width:760px){.trust .row{grid-template-columns:repeat(2,1fr);gap:16px;text-align:left}}

/* intro + creds */
.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:start}
.creds{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.creds div{background:var(--paper);padding:18px 20px}
.creds b{display:block;font-family:"Fraunces",serif;font-size:26px;font-weight:500;color:var(--leaf)}
.creds span{font-size:13.5px;color:var(--stone);line-height:1.5}
@media(max-width:860px){.intro{grid-template-columns:1fr}}

/* route rail */
.route{background:var(--ink);color:#EDEAE0}
.route h2{color:#fff}
.route .rail{position:relative;margin-top:44px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.route .rail::before{content:"";position:absolute;left:8px;right:8px;top:11px;border-top:2px dashed rgba(232,194,28,.45)}
.step{position:relative;padding-top:38px}
.step::before{content:"";position:absolute;left:0;top:4px;width:17px;height:17px;border-radius:50%;background:var(--lemon);border:4px solid var(--ink)}
.step b{display:block;font-family:"Fraunces",serif;font-size:19px;font-weight:500;color:#fff;margin-bottom:6px}
.step p{font-size:14.5px;color:#B9B5A7;margin:0;line-height:1.6}
@media(max-width:820px){
  .route .rail{grid-template-columns:1fr;gap:0}
  .route .rail::before{left:8px;right:auto;top:8px;bottom:24px;border-top:0;border-left:2px dashed rgba(232,194,28,.45)}
  .step{padding:0 0 26px 38px}
  .step::before{top:3px}
}

/* transfers */
.tgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:center}
table.fares{width:100%;border-collapse:collapse;font-size:15px;background:var(--paper)}
table.fares caption{text-align:left;padding:0 0 10px;font-size:14px;color:var(--stone)}
table.fares th{text-align:left;font-weight:500;font-size:12.5px;letter-spacing:.06em;color:var(--stone);border-bottom:1px solid var(--line);padding:10px 14px}
table.fares td{border-bottom:1px solid var(--line);padding:11px 14px}
table.fares td:last-child,table.fares th:last-child{text-align:right}
table.fares td:last-child{font-weight:500;white-space:nowrap}
table.fares tr:last-child td{border-bottom:0}
@media(max-width:860px){.tgrid{grid-template-columns:1fr}}

/* themes grid */
.themes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}
.theme{position:relative;aspect-ratio:4/5;border-radius:2px;display:flex;align-items:flex-end;color:#fff;padding:16px;overflow:hidden}
.theme::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(10,16,12,.78) 100%);z-index:1}
.theme b{position:relative;z-index:2;font-family:"Fraunces",serif;font-size:18px;font-weight:500;line-height:1.2}
.theme:hover{outline:2px solid var(--lemon);outline-offset:-2px}
@media(max-width:900px){.themes{grid-template-columns:repeat(2,1fr)}}

/* cards */
.head-row{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column}
.card .ph{aspect-ratio:5/4}
.card .body{padding:18px 20px 22px;flex:1;display:flex;flex-direction:column}
.card .days-badge{position:absolute;left:12px;top:12px;background:var(--ink);color:var(--lemon);font-size:12.5px;font-weight:500;padding:4px 10px;border-radius:2px;z-index:2}
.card h3{margin-bottom:7px}
.card p{font-size:14.5px;color:var(--ink-soft);margin-bottom:14px}
.card .meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--stone);border-top:1px solid var(--line);padding-top:12px}
.card .meta b{color:var(--ink);font-weight:500}
@media(max-width:900px){.cards,.cards.two{grid-template-columns:1fr;gap:18px}}

/* map */
.mapsec{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,64px);align-items:center}
.mapbox{position:relative;background:var(--paper-2);border:1px solid var(--line);aspect-ratio:5/4}
.mapbox.tall{aspect-ratio:4/5}
.pin{position:absolute;transform:translate(-50%,-100%);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:2px}
.pin i{width:11px;height:11px;background:var(--lagoon);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:block}
.pin span{background:var(--paper);border:1px solid var(--line);padding:1px 7px;border-radius:2px;white-space:nowrap}
@media(max-width:860px){.mapsec{grid-template-columns:1fr}}

/* day tour list */
.daylist{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px}
.daylist a{background:var(--paper);padding:15px 18px;display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.daylist a:hover{background:var(--paper-2)}
.daylist b{font-weight:500;font-size:15.5px}
.daylist em{font-style:normal;font-size:13px;color:var(--stone);white-space:nowrap}
@media(max-width:900px){.daylist{grid-template-columns:1fr}}

/* band */
.band{background:var(--leaf);color:#fff;text-align:center}
.band h2{color:#fff;max-width:22ch;margin:0 auto 14px}
.band p{color:#D6E4D8;max-width:52ch;margin:0 auto 26px}

/* stays */
.stays{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}
.stay .ph{aspect-ratio:1/1}
.stay b{display:block;font-family:"Fraunces",serif;font-size:17px;font-weight:500;margin-top:11px}
.stay span{font-size:13.5px;color:var(--stone)}
@media(max-width:900px){.stays{grid-template-columns:repeat(2,1fr)}}

/* quotes */
.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}
blockquote{margin:0;background:var(--paper);border:1px solid var(--line);padding:24px}
blockquote p{font-family:"Fraunces",serif;font-size:18px;line-height:1.5;color:var(--ink);margin-bottom:16px}
blockquote cite{font-style:normal;font-size:13.5px;color:var(--stone)}
.stars{color:var(--lemon);font-size:14px;letter-spacing:2px;margin-bottom:12px}
@media(max-width:900px){.qgrid{grid-template-columns:1fr}}

/* posts */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}
.post .ph{aspect-ratio:16/10}
.post time{display:block;font-size:12.5px;color:var(--stone);margin:12px 0 5px}
.post h3{font-size:19px}
@media(max-width:900px){.posts{grid-template-columns:1fr}}

/* seo block */
.seo{background:var(--paper-2);font-size:15px;color:var(--ink-soft)}
.seo .cols{columns:2;column-gap:48px}
.seo h2{font-size:26px;margin-bottom:16px}
@media(max-width:800px){.seo .cols{columns:1}}

/* single itinerary */
.split{display:grid;grid-template-columns:1fr 350px;gap:clamp(28px,4vw,56px);align-items:start}
@media(max-width:960px){.split{grid-template-columns:1fr}}
.gal{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.gal .ph{aspect-ratio:4/3}
.gal .ph:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;min-height:220px}
@media(max-width:760px){.gal{grid-template-columns:repeat(2,1fr)}.gal .ph:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:4/3;min-height:0}}

.book{position:sticky;top:96px;border:1px solid var(--line);background:var(--paper)}
.book .top{background:var(--ink);color:#fff;padding:18px 20px}
.book .top b{font-family:"Fraunces",serif;font-size:30px;font-weight:500;color:var(--lemon);display:block;line-height:1.1}
.book .top span{font-size:13.5px;color:#B9B5A7;display:block}
.book .in{padding:18px 20px 22px}
.book label{display:block;font-size:12.5px;letter-spacing:.06em;color:var(--stone);margin-bottom:5px}
.book input,.book select,.book textarea{width:100%;padding:10px 12px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:15px;border-radius:2px;margin-bottom:14px;color:var(--ink)}
.book .note{font-size:13px;color:var(--stone);line-height:1.55;margin:12px 0 0}
.book .alt{display:block;text-align:center;font-size:14.5px;margin-top:12px;border-bottom:1.5px solid var(--lemon);padding-bottom:2px;width:fit-content;margin-inline:auto}
@media(max-width:960px){.book{position:static}}

.hl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 26px}
.hl li{position:relative;padding-left:24px;font-size:15.5px;line-height:1.6}
.hl li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;background:var(--lemon);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
@media(max-width:620px){.hl{grid-template-columns:1fr}}

.days{border-top:1px solid var(--line);margin-top:28px}
.day{border-bottom:1px solid var(--line)}
.day summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:baseline;padding:20px 0}
.day summary::-webkit-details-marker{display:none}
.day .n{font-family:"Fraunces",serif;font-size:15px;color:var(--lemon-deep);letter-spacing:.04em}
.day .t{font-family:"Fraunces",serif;font-size:20px}
.day .r{font-size:13.5px;color:var(--stone);white-space:nowrap}
.day .content{padding:0 0 24px 82px;max-width:70ch}
.day .content p{font-size:15.5px;color:var(--ink-soft)}
.day .stayline{font-size:14px;color:var(--stone);border-left:2px solid var(--lemon);padding-left:12px;margin-top:14px}
.day[open] .t{color:var(--leaf)}
@media(max-width:620px){
  .day summary{grid-template-columns:44px 1fr;gap:12px}
  .day .r{grid-column:2;font-size:13px}
  .day .content{padding-left:56px}
}

.incl{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);background:var(--paper-2);padding:clamp(24px,3.5vw,40px);border:1px solid var(--line)}
.incl ul{list-style:none;margin:0;padding:0}
.incl li{padding-left:26px;position:relative;margin-bottom:9px;font-size:15.5px;line-height:1.55}
.incl .yes li::before{content:"";position:absolute;left:2px;top:8px;width:11px;height:6px;border-left:2px solid var(--leaf);border-bottom:2px solid var(--leaf);transform:rotate(-45deg)}
.incl .no li::before{content:"";position:absolute;left:3px;top:11px;width:11px;height:2px;background:var(--stone)}
.incl h3{margin-bottom:14px}
@media(max-width:700px){.incl{grid-template-columns:1fr}}

.routebox{display:grid;grid-template-columns:1fr 320px;gap:clamp(24px,4vw,48px);align-items:center}
.legs{list-style:none;margin:0;padding:0}
.legs li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}
.legs em{font-style:normal;color:var(--stone);font-size:14px;white-space:nowrap}
@media(max-width:800px){.routebox{grid-template-columns:1fr}}

.hotels{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}
.hotel .ph{aspect-ratio:4/3}
.hotel b{display:block;font-family:"Fraunces",serif;font-size:17px;font-weight:500;margin-top:10px}
.hotel span{font-size:13.5px;color:var(--stone)}
@media(max-width:820px){.hotels{grid-template-columns:repeat(2,1fr)}}

.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:16px 0;font-family:"Fraunces",serif;font-size:18px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--lemon-deep);font-size:22px;font-family:"Karla",sans-serif}
.faq details[open] summary::after{content:"\2013"}
.faq .a{padding:0 0 18px;max-width:72ch;font-size:15.5px;color:var(--ink-soft)}

/* enquiry form */
.enq{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.enq .full{grid-column:1/-1}
.enq label{display:block;font-size:12.5px;letter-spacing:.06em;color:var(--stone);margin-bottom:5px;text-align:left}
.enq input,.enq select,.enq textarea{width:100%;padding:11px 13px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:15px;border-radius:2px;color:var(--ink)}
.enq textarea{min-height:120px;resize:vertical}
.enq .hp{position:absolute;left:-9999px}
.notice{padding:14px 18px;border-radius:2px;margin-bottom:20px;font-size:15px}
.notice.ok{background:#E7F1E9;border:1px solid var(--leaf);color:#1E4429}
.notice.bad{background:#FBEAEA;border:1px solid #B44;color:#7A2020}
@media(max-width:640px){.enq{grid-template-columns:1fr}}

/* entry content (blog, pages) */
.entry{max-width:72ch}
.entry h2,.entry h3{margin:1.6em 0 .5em}
.entry ul,.entry ol{padding-left:22px}
.entry li{margin-bottom:8px}
.entry blockquote{margin:1.6em 0}
.entry img{margin:1.6em 0}
.entry a{border-bottom:1.5px solid var(--lemon)}
.wp-caption-text{font-size:13.5px;color:var(--stone)}
.alignleft{float:left;margin:0 24px 16px 0}
.alignright{float:right;margin:0 0 16px 24px}
.aligncenter{margin-inline:auto}

/* pagination */
.pager{display:flex;gap:8px;flex-wrap:wrap;margin-top:44px}
.pager .page-numbers{padding:9px 14px;border:1px solid var(--line);font-size:15px}
.pager .current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* footer */
footer.site{background:var(--ink);color:#A9A597;font-size:14px}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:34px;padding-block:52px}
footer.site h4{font-size:12.5px;letter-spacing:.14em;color:var(--lemon);font-family:"Karla",sans-serif;font-weight:600;margin-bottom:14px;text-transform:uppercase}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site li{margin-bottom:8px;line-height:1.5}
footer.site a:hover{color:#fff}
.newsletter{display:flex;gap:8px;margin-top:14px;max-width:320px}
.newsletter input{flex:1;background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;padding:10px 12px;font-family:inherit;font-size:14px;border-radius:2px}
.newsletter input::placeholder{color:#7E7A6D}
.legal{border-top:1px solid rgba(255,255,255,.1);padding-block:16px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}}

/* whatsapp float + mobile bar */
.wa{position:fixed;right:18px;bottom:18px;z-index:60;background:#1F8A4C;color:#fff;border-radius:999px;padding:12px 18px;font-size:14.5px;font-weight:500;display:inline-flex;align-items:center;gap:8px;box-shadow:0 6px 22px rgba(0,0,0,.22)}
.wa:hover{background:#177039}
.mobar{display:none}
@media(max-width:960px){
  .mobar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:61;background:var(--ink);padding:10px 16px;gap:12px;align-items:center;justify-content:space-between}
  .mobar b{color:var(--lemon);font-family:"Fraunces",serif;font-size:19px;font-weight:500;display:block;line-height:1.1}
  .mobar small{display:block;color:#B9B5A7;font-size:12px}
  body.has-mobar{padding-bottom:74px}
  body.has-mobar .wa{bottom:82px}
}
