/*
Theme Name: LHAG Hoi An Guide
Theme URI: https://lhaghotels.com/
Author: Little Hoi An Group
Description: Editorial travel guide theme inspired by the heritage, food and everyday life of Hoi An.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: lhag-guide
*/

@font-face{font-family:Cardo;src:url('assets/fonts/cardo.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Cardo;src:url('assets/fonts/cardo-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-Light.woff2') format('woff2');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-SemiBold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:EditorsNote;src:url('assets/fonts/SVN-EditorsNote-Light.woff2') format('woff2'),url('assets/fonts/SVN-EditorsNote-Light.woff') format('woff');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:EditorsNote;src:url('assets/fonts/SVN-EditorsNote-LightItalic.woff2') format('woff2'),url('assets/fonts/SVN-EditorsNote-LightItalic.woff') format('woff');font-style:italic;font-weight:300;font-display:swap}

:root{--paper:#f3eee4;--ink:#211f1c;--red:#7b1b20;--muted:#6e685f;--line:#c9c1b5;--heading:EditorsNote,Cardo,Georgia,'Times New Roman',serif;--serif:Cardo,Georgia,'Times New Roman',serif;--sans:Montserrat,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-shell{overflow:hidden}
.site-header{height:84px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;z-index:10}
.brand{display:inline-flex;flex-direction:column;align-items:center;color:var(--red);letter-spacing:.03em;text-align:center}
.brand>img{display:block}
.header-logo{width:86px;height:58px;max-width:none;object-fit:contain}
.brand-mark{width:34px;height:34px;margin-bottom:1px}
.brand-name{font-family:var(--serif);font-size:12px;font-weight:700;line-height:1}
.brand-sub{font-family:var(--sans);font-size:5px;letter-spacing:.18em;text-transform:uppercase;margin-top:3px}
.menu-toggle{display:none;position:absolute;right:22px;top:27px;border:0;background:none;padding:8px;color:var(--red)}
.menu-toggle span{display:block;width:23px;height:1px;background:currentColor;margin:5px}
.menu-toggle .screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;background:transparent;overflow:hidden}
.mobile-menu{display:none}
.mobile-menu__logo img{display:block;width:112px;height:auto}
.hero{min-height:520px;display:grid;place-items:end center;position:relative;background:var(--ink) center/cover no-repeat;color:#fff;text-align:center;padding:60px 20px 92px}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 18%,rgba(0,0,0,.62) 100%)}
.hero-content{position:relative;z-index:1;max-width:960px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.21em;text-transform:uppercase;margin:0 0 18px}
.hero h1{font:300 clamp(43px,5vw,67px)/1.03 var(--heading);letter-spacing:-.03em;margin:0;text-wrap:balance}
.hero h1 em{font-style:italic}
.category-bar{min-height:54px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:var(--paper);position:relative;z-index:5}
.category-bar-inner{display:flex;align-items:center;justify-content:center;gap:35px;max-width:1160px;width:100%;padding:0 24px}
.category-label{color:var(--red);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.category-nav ul{list-style:none;display:flex;gap:0;margin:0;padding:0;align-items:center}
.category-nav li{display:flex;align-items:center}
.category-nav li+li::before{content:'·';color:#8a8278;margin:0 18px}
.category-nav a{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.category-nav a:hover{color:var(--red)}
.category-nav .current-cat a{color:var(--red);font-weight:700}
.container{width:min(1110px,calc(100% - 56px));margin-inline:auto}
.home .container,.category .container{width:calc(100% - 144px);max-width:none}
.home-intro{text-align:center;padding:33px 0 53px}
.home-intro .eyebrow{color:var(--muted);margin-bottom:14px}
.home-intro h2{font:300 clamp(39px,4.6vw,63px)/1 var(--heading);margin:0;letter-spacing:-.035em}
.home-intro h2 em{display:block}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:43px;margin-bottom:72px}
.story-card{min-width:0;display:flex;flex-direction:column}
.story-card-image{display:block;aspect-ratio:345/414;overflow:hidden;background:#ded6c9;margin-bottom:30px}
.story-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.story-card:hover img{transform:scale(1.025)}
.story-card h3{font:300 23px/1.1 var(--heading);text-transform:none;margin:0 0 18px;letter-spacing:-.02em}
.story-card p{font-size:12px;line-height:1.48;margin:0 0 20px}
.home .story-card>p,.home .feature-copy>p:not(.eyebrow){font:300 18px/1.48 var(--heading);letter-spacing:.006em}
.text-link{align-self:flex-start;margin-top:auto;font:300 17px/1 var(--heading);border-bottom:1px solid;padding-bottom:3px}
.feature-list{clear:both;padding-top:165px;padding-bottom:206px}
.feature{display:grid;grid-template-columns:32% 68%;align-items:center;margin-bottom:108px}
.feature:nth-child(even){grid-template-columns:68% 32%}
.feature:nth-child(even) .feature-copy{order:2}
.feature:nth-child(even) .feature-media{order:1}
.feature.feature--no-image{grid-template-columns:1fr;margin-bottom:70px}
.feature--no-image .feature-copy,.feature:nth-child(even).feature--no-image .feature-copy{max-width:720px;padding:45px 0;order:1}
.feature-copy{padding:45px 40px 45px 0}
.feature:nth-child(even) .feature-copy{padding:45px 0 45px 40px}
.feature-copy .eyebrow{font-size:10px;color:var(--muted);margin-bottom:22px}
.feature-copy h2{font:300 clamp(38px,4vw,59px)/.99 var(--heading);letter-spacing:-.04em;margin:0 0 18px}
.feature-copy h2 em{font-style:italic}
.feature-copy p{font-size:12px;line-height:1.45;margin:0 0 27px}
.button{display:inline-flex;align-items:center;justify-content:center;min-width:138px;min-height:43px;padding:10px 22px;background:#050505;color:#fff;font:300 17px/1 var(--heading);transition:background .2s,color .2s}
.button:hover{background:var(--red)}
.feature-media{height:560px;overflow:hidden;background:#d8d0c4}
.feature-media img{width:100%;height:100%;object-fit:cover}

/* Single post and page */
.single-hero{min-height:520px;padding-bottom:55px}
.single-hero .breadcrumbs{font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:18px}
.single-hero .breadcrumbs span{margin:0 12px;opacity:.7}
.single-hero h1{max-width:930px;font-size:clamp(43px,5vw,68px)}
.article-wrap{width:min(760px,calc(100% - 44px));margin:0 auto;padding:155px 0 105px}
.article-content{font-family:var(--sans);font-size:14px;line-height:1.75;letter-spacing:.012em;text-align:center}
.article-content>p:first-child{font-weight:500}
.article-content p{margin:0 0 26px}
.article-content h2,.article-content h3{font-family:var(--heading);font-weight:300;letter-spacing:-.03em;line-height:1.04;margin:42px -110px 24px}
.article-content h2{font-size:43px}
.article-content h3{font-size:31px}
.article-content figure{margin:48px -210px}
.article-content figure img{width:100%}
.article-content blockquote{font:italic 27px/1.25 var(--serif);margin:42px -70px;padding:25px 45px;border-block:1px solid var(--line)}
.post-pages,.post-tags{margin-top:30px}
.post-nav{width:min(760px,calc(100% - 44px));margin:0 auto 145px;display:grid;grid-template-columns:1fr 1fr;gap:35px}
.post-nav a{background:#050505;color:#fff;min-height:66px;display:flex;align-items:center;justify-content:center;padding:13px 30px;text-align:center;font:300 17px/1.15 var(--heading)}
.post-nav a:hover{background:var(--red)}
.related-posts{width:calc(100% - 144px);margin:0 auto;padding:0 0 190px}
.related-posts__header{text-align:center;margin-bottom:58px}
.related-posts__header .eyebrow{color:var(--muted);margin-bottom:14px}
.related-posts__header h2{margin:0;font:300 clamp(43px,4.5vw,64px)/1 var(--heading);letter-spacing:-.035em}
.related-posts__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:43px}
.related-posts .story-card h3{font-size:28px}
.related-posts .story-card>p{font:300 18px/1.48 var(--heading);letter-spacing:.006em}
.page-main{width:min(900px,calc(100% - 44px));margin:0 auto;padding:100px 0 180px}
.page-title,.archive-title{font:300 clamp(42px,6vw,72px)/1 var(--heading);margin:0 0 45px;text-align:center}
.archive-title em{font-style:italic}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:75px 0 170px}
.archive-title{padding-top:85px}
.archive-title.category-heading{margin-bottom:15px}
.archive-breadcrumb{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.archive-breadcrumb a{transition:color .2s ease}
.archive-breadcrumb a:hover{color:var(--red)}
.archive-breadcrumb span[aria-current="page"]{color:var(--red)}
.archive-grid .story-card h2{font:300 24px/1.05 var(--heading);margin:0 0 14px}
.empty-state{text-align:center;padding:160px 20px 250px}

.footer-image{height:550px;background:center/cover no-repeat}
.footer-lhag{--footer-bg:#7b1b20;--footer-text:#fff8ee;--footer-line:rgba(255,248,238,.18);width:100%;overflow:hidden;background:var(--footer-bg);color:var(--footer-text);font-family:var(--sans)}
.footer-lhag a{color:inherit;text-decoration:none}
.footer-lhag__top{min-height:300px;padding:56px 72px 66px;display:grid;grid-template-columns:minmax(280px,1fr) minmax(620px,44vw);column-gap:80px;align-items:start}
.footer-lhag__brand{padding-top:2px}
.footer-lhag__brand img{display:block;width:120px;max-width:100%;height:auto}
.footer-lhag__columns{display:grid;grid-template-columns:1fr 1fr 1.45fr;gap:42px;align-items:start}
.footer-lhag__col,.footer-lhag__contact{text-align:left}
.footer-lhag__col h4{margin:0 0 12px;color:var(--footer-text);font:300 21px/1.15 var(--heading)}
.footer-lhag__col ul{list-style:none;margin:0;padding:0}
.footer-lhag__col li,.footer-lhag__contact p{margin:0 0 7px;color:rgba(255,248,238,.95);font-size:13px;line-height:1.5;font-weight:400}
.footer-lhag__col a,.footer-lhag__legal a{position:relative;display:inline-block;transition:opacity .3s ease,transform .3s ease}
.footer-lhag__col a::after,.footer-lhag__legal a::after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:rgba(255,248,238,.82);transform:scaleX(0);transform-origin:right;transition:transform .38s cubic-bezier(.22,.72,.22,1)}
.footer-lhag__col a:hover,.footer-lhag__legal a:hover{opacity:.78}
.footer-lhag__col a:hover::after,.footer-lhag__legal a:hover::after{transform:scaleX(1);transform-origin:left}
.footer-lhag__bottom{min-height:90px;border-top:1px solid var(--footer-line);padding:22px 72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px}
.footer-lhag__copyright,.footer-lhag__legal a{color:rgba(255,248,238,.96);font-size:11px;line-height:1.4;font-weight:400}
.footer-lhag__social{display:flex;align-items:center;justify-content:center;gap:18px}
.footer-lhag__social a{width:42px;height:42px;border:1px solid rgba(255,248,238,.26);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:rgba(255,248,238,.92);transition:border-color .35s ease,background .35s ease,transform .35s ease,color .35s ease}
.footer-lhag__social svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.footer-lhag__social a:hover{transform:translateY(-2px);border-color:rgba(255,248,238,.65);background:rgba(255,248,238,.06);color:#fff}
.footer-lhag__legal{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:22px;text-align:right}
.footer-lhag__legal a{white-space:nowrap}

@media(max-width:1200px){
  .footer-lhag__top{grid-template-columns:34% 1fr;column-gap:52px}
  .footer-lhag__columns{gap:30px}
  .footer-lhag__bottom{grid-template-columns:1fr;justify-items:center;text-align:center;gap:18px}
  .footer-lhag__legal{justify-content:center;text-align:center}
}

@media(max-width:900px){
  .footer-lhag__top{min-height:auto;padding:54px 28px 46px;grid-template-columns:1fr;gap:42px;text-align:center}
  .footer-lhag__brand{display:flex;justify-content:center}
  .footer-lhag__brand img{width:190px}
  .footer-lhag__columns{grid-template-columns:1fr 1fr;gap:34px 28px;text-align:left}
  .footer-lhag__contact{grid-column:1/-1;padding-top:10px}
  .footer-lhag__bottom{padding:24px 24px 30px}
  .footer-lhag__legal{justify-content:center;text-align:center}
}

@media(max-width:520px){
  .footer-lhag__top{padding:46px 20px 38px}
  .footer-lhag__brand img{width:165px}
  .footer-lhag__columns{gap:28px 22px}
  .footer-lhag__col h4{font-size:20px;margin-bottom:10px}
  .footer-lhag__col li,.footer-lhag__contact p{font-size:12px;line-height:1.55}
  .footer-lhag__copyright,.footer-lhag__legal a{font-size:10px;letter-spacing:.03em}
  .footer-lhag__legal{gap:10px 16px}
  .footer-lhag__social a{width:38px;height:38px}
  .footer-lhag__social svg{width:15px;height:15px}
}

/* Refined scroll reveal */
.js.reveal-ready .reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.js.reveal-ready .reveal.is-visible{opacity:1;transform:translate3d(0,0,0);will-change:auto}
.js.reveal-ready .reveal.reveal-soft{transform:translate3d(0,18px,0)}
.js.reveal-ready .reveal.reveal-soft.is-visible{transform:translate3d(0,0,0)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js.reveal-ready .reveal{opacity:1;transform:none;transition:none}
  .mobile-menu,.mobile-menu__nav li{transition:none!important}
}

@media(max-width:900px){
  .home .container,.category .container{width:calc(100% - 56px)}.category-bar-inner{justify-content:flex-start;overflow-x:auto}.category-nav ul{padding-right:20px}.story-grid{gap:22px}.feature{grid-template-columns:40% 60%}.feature:nth-child(even){grid-template-columns:60% 40%}.feature-media{height:440px}.feature-copy h2{font-size:39px}.article-content figure{margin-inline:-80px}
  .related-posts{width:calc(100% - 56px)}
}
@media(max-width:680px){
  body{font-size:15px}.site-header{height:70px}.brand-mark{width:30px;height:30px}.menu-toggle{display:block;top:19px;right:16px;z-index:10001;cursor:pointer}.menu-open .menu-toggle{opacity:0;pointer-events:none}.hero,.single-hero{min-height:460px;padding:45px 22px 66px}.hero h1{font-size:43px}.eyebrow{font-size:10px}.category-bar{display:none}.category-label{display:none}.category-bar-inner{padding:0 18px}.category-nav li+li::before{margin:0 12px}.container{width:min(100% - 36px,560px)}.home .container,.category .container{width:calc(100% - 40px)}.home-intro{padding:48px 0}.home-intro h2{font-size:42px}.story-grid{grid-template-columns:1fr;gap:52px}.story-card-image{margin-bottom:24px}.story-card h3{font-size:25px}.story-card p{font-size:13px}.home .story-card>p,.home .feature-copy>p:not(.eyebrow){font-size:16px;line-height:1.5}.feature-list{padding-top:90px;padding-bottom:90px}.feature,.feature:nth-child(even){display:flex;flex-direction:column;margin-bottom:70px}.feature-copy,.feature:nth-child(even) .feature-copy{order:2;padding:28px 4px 0}.feature.feature--no-image .feature-copy{padding:28px 4px 0}.feature-media,.feature:nth-child(even) .feature-media{order:1;width:100%;height:auto;aspect-ratio:4/3}.feature-copy h2{font-size:43px}.feature-copy p{font-size:13px}.article-wrap{padding-top:78px}.article-content{font-size:14px;text-align:left}.article-content h2,.article-content h3{margin-inline:0;text-align:center}.article-content h2{font-size:37px}.article-content figure{margin:38px 0}.article-content blockquote{margin-inline:0}.post-nav{margin-bottom:90px;grid-template-columns:1fr}.related-posts{width:calc(100% - 40px);padding-bottom:110px}.related-posts__header{margin-bottom:38px}.related-posts__header h2{font-size:43px}.related-posts__grid{grid-template-columns:1fr;gap:60px}.related-posts .story-card h3{font-size:27px}.related-posts .story-card>p{font-size:16px;line-height:1.5}.footer-image{height:380px}.site-footer{padding:55px 24px 28px}.footer-top{grid-template-columns:1fr;gap:30px;align-items:start}.footer-bottom{flex-direction:column}.archive-grid{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}
  body.menu-open{overflow:hidden}
  .mobile-menu{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:90px 28px 52px;background:#7b1b20;color:#fff8ee;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s cubic-bezier(.22,1,.36,1),visibility .45s}
  .mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}
  .mobile-menu__close{position:absolute;top:20px;right:20px;width:42px;height:42px;border:0;background:transparent;color:#fff8ee;cursor:pointer}
  .mobile-menu__close span{position:absolute;left:9px;top:20px;width:24px;height:1px;background:currentColor}
  .mobile-menu__close span:first-child{transform:rotate(45deg)}
  .mobile-menu__close span:last-child{transform:rotate(-45deg)}
  .mobile-menu__logo{position:absolute;top:18px;left:50%;transform:translateX(-50%)}
  .mobile-menu__logo img{width:80px}
  .mobile-menu__nav ul{list-style:none;margin:0;padding:0;text-align:center}
  .mobile-menu__nav li:has(>a[href*="/category/blog"]),.mobile-menu__nav li:has(>a[href$="/blog/"]),.mobile-menu__nav li:has(>a[href$="/blog"]){display:none!important}
  .mobile-menu__nav li{opacity:0;transform:translateY(16px);transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1)}
  .mobile-menu.is-open .mobile-menu__nav li{opacity:1;transform:none}
  .mobile-menu.is-open .mobile-menu__nav li:nth-child(2){transition-delay:.06s}
  .mobile-menu.is-open .mobile-menu__nav li:nth-child(3){transition-delay:.12s}
  .mobile-menu.is-open .mobile-menu__nav li:nth-child(4){transition-delay:.18s}
  .mobile-menu.is-open .mobile-menu__nav li:nth-child(n+5){transition-delay:.24s}
  .mobile-menu__nav a{display:inline-block;padding:9px 0;color:#fff8ee;font:300 clamp(35px,10vw,50px)/1.04 var(--heading);letter-spacing:-.02em}
  .mobile-menu__nav .current-cat a{font-style:italic}
}
