/* =====================================================================
   AmView Apartment – layout & contact overrides (loaded after theme CSS)
   ===================================================================== */
:root{
  --av-navy:#1f2f78;
  --av-blue:#3a5bb8;
  --av-teal:#0b8a84;
  --av-line:#06c755;
  --av-line-dark:#05a947;
  --av-ink:#2e3440;
  --av-muted:#6b7280;
  --av-soft:#f3f6fb;
  --av-border:#e3e8f1;
  --av-radius:12px;
  --av-font:'Sarabun','Noto Sans Thai','Tahoma','Roboto',system-ui,-apple-system,'Segoe UI',sans-serif;
}
html{scroll-behavior:smooth}
body,button,input,select,textarea{font-family:var(--av-font)}
body{color:var(--av-ink);font-size:16px;line-height:1.75;font-weight:400;background:#fff}
h1,h2,h3,h4,h5,h6{font-family:var(--av-font);color:#1d2433;line-height:1.35;font-weight:600}
p{margin-bottom:1em}
a{color:var(--av-blue)}
a:hover,a:focus{color:var(--av-navy)}
img{max-width:100%;height:auto}
.container,.boxed-layout #page{width:auto!important;max-width:1140px;padding-left:20px;padding-right:20px;box-sizing:border-box}
#site-title a img{width:auto!important;max-width:100%;height:auto}
#page{overflow-x:hidden}

/* ---------- Header ---------- */
.site-header{background:#fff}
.top-header{padding:10px 0 4px}
.top-header .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px}
#site-branding{float:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1 1 320px;min-width:0}
#site-branding .custom-logo-link{display:block;flex:0 0 auto}
#site-logo{float:none;margin:0;width:auto;max-width:min(380px,100%);height:auto;display:block}
#site-detail{display:block;min-width:0}
#site-title{float:none;margin:0;padding:0;font-size:0;line-height:0;height:0;overflow:hidden;position:absolute;left:-9999px}
#site-description{float:none;border:0;margin:0;padding:0;font-size:13px;line-height:1.5;color:var(--av-muted);max-width:430px}
.header-info{float:none;margin:0;padding:0;flex:0 1 auto}
.header-info .info{float:none;padding:0;font-size:14px}
.header-info .widget-title{display:none}
.header-info .info ul{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:flex-end;margin:0;padding:0;list-style:none}
.header-info .info ul li{float:none;margin:0;display:flex;align-items:center;gap:7px;line-height:1.4}
.header-info .info ul li:before{display:none!important;content:none!important}
.header-info .info ul li.address{flex-basis:100%;justify-content:flex-end;color:var(--av-muted);text-align:right}
.header-info a{color:var(--av-ink)}
.header-info a:hover{color:var(--av-blue)}
#search-toggle,#search-box,.header-search{display:none!important}

/* ---------- Contact icons (mask based, inherit colour) ---------- */
.ico{display:inline-block;flex:0 0 auto;width:1.15em;height:1.15em;background-color:var(--av-teal);-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat;vertical-align:-0.2em}
.ico-phone{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
.ico-mail{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E")}
.ico-pin{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.ico-clock{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E")}
.ico-line{width:1.45em;height:1.45em;background:url("../img/line-icon-64.png") center/contain no-repeat;-webkit-mask:none;mask:none;border-radius:22%;vertical-align:-0.38em}
img.line-ico{width:22px;height:22px;display:inline-block;vertical-align:middle;border-radius:22%;margin:0}

/* ---------- Navigation ---------- */
#sticky_header{background:rgba(255,255,255,.96);border-top:1px solid var(--av-border);border-bottom:1px solid var(--av-border);box-shadow:0 2px 8px rgba(20,30,60,.06)}
.main-navigation{float:none;width:100%}
.main-navigation>ul{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin:0;padding:0}
.main-navigation>ul>li{float:none;display:block;margin:0}
.main-navigation>ul>li:before{display:none!important}
.main-navigation>ul>li>a{display:block;padding:14px 14px;font-family:var(--av-font);font-size:15px;font-weight:500;color:#3b4252;text-transform:none;border-bottom:3px solid transparent;line-height:1.4}
.main-navigation>ul>li>a:hover,.main-navigation>ul>li>a:focus{color:var(--av-blue);border-bottom-color:var(--av-blue)}
.main-navigation>ul>li.current_page_item>a{color:var(--av-navy);border-bottom-color:var(--av-teal)}

/* ---------- Page banner ---------- */
.page-header{background:linear-gradient(120deg,var(--av-navy),var(--av-blue));padding:26px 0;border:0}
.page-header .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 24px}
.page-header .page-title{float:none;margin:0;padding:0;font-family:var(--av-font);font-size:clamp(20px,3.2vw,30px);font-weight:600;line-height:1.35;color:#fff;text-transform:none;max-width:100%}
.page-header .breadcrumb{float:none;margin:0;padding:0;font-size:13px;color:rgba(255,255,255,.85)}
.page-header .breadcrumb a,.page-header .breadcrumb span{color:rgba(255,255,255,.92)}
.page-header .breadcrumb a:hover{color:#fff;text-decoration:underline}
.page-header .breadcrumb .current-item{color:#fff;opacity:.8}

/* ---------- Layout ---------- */
#content{padding:34px 0 20px}
#content>.container{display:flex;align-items:flex-start;gap:36px}
#primary{float:none;width:auto;flex:1 1 0;min-width:0;padding:0}
#secondary{float:none;width:330px;flex:0 0 330px;padding:0;border:0;font-size:15px;line-height:1.65}
.entry-content{font-size:16.5px;line-height:1.85}
.entry-content h1{font-size:26px}
.entry-content h2{font-size:23px;margin:1.3em 0 .6em}
.entry-content h3{font-size:19.5px;margin:1.2em 0 .5em}
.entry-content ul{margin:0 0 1.2em 1.4em}
.entry-content li{margin-bottom:.35em}
.entry-content img{border-radius:8px}
.entry-content p>img.alignnone,.entry-content img.size-full,.entry-content img.size-large{display:block;margin:6px 0 18px}
.entry-content iframe{max-width:100%}
.av-video{position:relative;width:100%;aspect-ratio:16/9;margin:18px 0 22px;border-radius:var(--av-radius);overflow:hidden;background:#0c1020;box-shadow:0 6px 22px rgba(20,30,60,.15)}
.av-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.av-map{position:relative;width:100%;aspect-ratio:4/3;margin:16px 0 22px;border-radius:var(--av-radius);overflow:hidden;border:1px solid var(--av-border)}
.av-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.av-figure{margin:10px 0 22px}
.av-figure img{display:block;width:100%;height:auto;border-radius:var(--av-radius);box-shadow:0 6px 22px rgba(20,30,60,.12)}
.av-figure figcaption{font-size:13.5px;color:var(--av-muted);margin-top:8px;text-align:center}
.av-figure.av-narrow{max-width:520px;margin-left:auto;margin-right:auto}

/* ---------- Home hero ---------- */
.av-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center;margin:0 0 30px;padding:26px;background:linear-gradient(135deg,#f3f6fb,#fff);border:1px solid var(--av-border);border-radius:16px}
.av-hero h2{margin:0 0 .5em;font-size:clamp(21px,2.6vw,27px);color:var(--av-navy)}
.av-hero p{margin-bottom:1em}
.av-hero-img img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 8px 26px rgba(20,30,60,.2)}
.entry-content ul.av-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none}
.entry-content ul.av-badges li{list-style:none;margin:0;padding:4px 12px;font-size:13.5px;line-height:1.5;background:#fff;border:1px solid var(--av-border);border-radius:999px;color:var(--av-navy)}
.av-section{margin:34px 0}
.av-section>h2{padding-left:12px;border-left:5px solid var(--av-teal)}
.av-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:16px 0}
.av-card{display:block;padding:18px;background:#fff;border:1px solid var(--av-border);border-radius:var(--av-radius);color:var(--av-ink);text-decoration:none;transition:.2s}
.av-card:hover{border-color:var(--av-blue);box-shadow:0 8px 22px rgba(20,30,60,.1);transform:translateY(-2px);color:var(--av-ink)}
.av-card strong{display:block;font-size:17px;color:var(--av-navy);margin-bottom:4px}
.av-card span{font-size:14.5px;color:var(--av-muted);line-height:1.6;display:block}
.av-kw{font-size:14.5px;color:var(--av-muted);margin-top:22px}
.av-kw a{display:inline-block;margin:2px 4px 2px 0;padding:2px 10px;border:1px solid var(--av-border);border-radius:999px;color:var(--av-muted);font-size:13.5px;text-decoration:none}
.av-kw a:hover{color:var(--av-blue);border-color:var(--av-blue)}

/* ---------- Buttons ---------- */
.av-btns{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 4px}
.av-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:999px;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;border:2px solid transparent;transition:.2s;cursor:pointer}
.av-btn img{width:26px;height:26px;border-radius:22%;background:#fff}
.av-btn-line{background:var(--av-line);color:#fff!important}
.av-btn-line:hover{background:var(--av-line-dark);color:#fff!important;transform:translateY(-1px)}
.av-btn-call{background:var(--av-navy);color:#fff!important}
.av-btn-call:hover{background:var(--av-blue)}
.av-btn-call .ico{background-color:#fff}
.av-btn-ghost{background:#fff;color:var(--av-navy)!important;border-color:var(--av-border)}
.av-btn-ghost:hover{border-color:var(--av-blue)}

/* ---------- Sidebar widgets ---------- */
#secondary .widget{margin:0 0 22px;padding:20px;background:#fff;border:1px solid var(--av-border);border-radius:var(--av-radius)}
#secondary .widget-title{margin:0 0 12px;padding:0;font-size:18px;font-weight:600;color:var(--av-navy);text-transform:none;border:0}
#secondary .widget-title:after,#secondary .widget-title:before{display:none}
.widget_line_cta{background:linear-gradient(135deg,#eafaf0,#fff)!important;border-color:#bfeccf!important}
.widget_line_cta p{margin:0 0 12px;font-size:14.5px;color:var(--av-muted)}
.widget_line_cta .av-btn{width:100%;justify-content:center}
.av-contact{list-style:none;margin:0;padding:0}
.av-contact li{display:flex;gap:10px;align-items:flex-start;margin:0 0 11px;padding:0;line-height:1.55;font-size:15px}
.av-contact li:before{display:none!important;content:none!important}
.av-contact li .ico{margin-top:3px;font-size:17px}
.av-contact li img.line-ico{margin-top:1px;flex:0 0 auto}
.av-contact a{color:var(--av-ink);word-break:break-word}
.av-contact a:hover{color:var(--av-blue)}
.widget_contact ul li{margin:0 0 11px}
.widget_tag_cloud .tagcloud{display:flex;flex-wrap:wrap;gap:6px}
.widget_tag_cloud .tagcloud a{float:none;margin:0;font-size:13px!important;line-height:1.5;padding:3px 11px;border:1px solid var(--av-border);border-radius:999px;color:var(--av-muted);background:#fff}
.widget_tag_cloud .tagcloud a:hover{color:#fff;background:var(--av-blue);border-color:var(--av-blue)}

/* ---------- Gallery ---------- */
.gallery{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin:18px 0 26px!important}
.gallery .gallery-item{float:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0;text-align:center}
.gallery .gallery-icon a{display:block;overflow:hidden;border-radius:10px}
.gallery .gallery-icon img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border:0!important;margin:0;transition:transform .3s}
.gallery .gallery-icon a:hover img{transform:scale(1.05)}
.gallery .gallery-caption{font-size:13px;line-height:1.4;margin:6px 0 0;color:var(--av-muted);font-style:normal}

/* ---------- Posts / archives ---------- */
#primary article.post,#primary article.attachment{margin:0 0 30px;padding:0 0 26px;border-bottom:1px solid var(--av-border)}
.post-featured-image{margin:0 0 14px}
.post-featured-image img{display:block;width:100%;height:auto;max-height:440px;object-fit:cover;border-radius:var(--av-radius)}
.entry-title{font-size:23px;margin:0 0 8px}
.entry-title a{color:var(--av-navy)}
.entry-meta{font-size:13.5px;color:var(--av-muted);margin-bottom:12px}
.entry-meta span{margin-right:14px}
.entry-footer{font-size:13.5px;color:var(--av-muted);margin-top:14px}
.entry-footer a{color:var(--av-muted)}
.entry-footer a:hover{color:var(--av-blue)}
.more-link{display:inline-block;margin-left:8px;padding:3px 14px;border-radius:999px;background:var(--av-blue);color:#fff!important;font-size:13px}
.av-tag-intro{margin:0 0 24px;padding:18px 20px;background:var(--av-soft);border-left:5px solid var(--av-teal);border-radius:0 var(--av-radius) var(--av-radius) 0}
.av-tag-intro p{margin:0 0 .6em}
.av-tag-intro p:last-child{margin-bottom:0}
.default-wp-page{display:flex;justify-content:space-between;gap:12px;margin:10px 0 0;padding:0;list-style:none}
.default-wp-page li{float:none;max-width:48%}
.attachment .entry-content img{max-width:100%}

/* ---------- Contact page card ---------- */
.av-contact-card{margin:0 0 24px;padding:22px 24px;background:var(--av-soft);border:1px solid var(--av-border);border-radius:16px}
.av-contact-card h2{margin-top:0}
.av-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:14px 0 0}
.av-contact-item{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#fff;border:1px solid var(--av-border);border-radius:var(--av-radius)}
.av-contact-item .ico{font-size:22px;margin-top:3px}
.av-contact-item img.line-ico{width:34px;height:34px}
.av-contact-item small{display:block;color:var(--av-muted);font-size:13px;line-height:1.4}
.av-contact-item b{display:block;font-size:17px;font-weight:600;color:var(--av-navy)}
.av-contact-item a{color:var(--av-navy);text-decoration:none}
.av-contact-item a:hover{color:var(--av-blue)}

/* ---------- Footer (contact) ---------- */
.site-footer{background:#141c3f;color:#c9d1ea;margin-top:40px}
.av-footer{padding:38px 0 26px}
.av-footer .container{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:26px}
.av-footer h3{margin:0 0 12px;font-size:17px;color:#fff;font-weight:600}
.av-footer p,.av-footer li{font-size:15px;line-height:1.7;color:#c9d1ea;margin:0 0 6px}
.av-footer ul{list-style:none;margin:0;padding:0}
.av-footer a{color:#fff;text-decoration:none}
.av-footer a:hover{color:#8fe3b3;text-decoration:underline}
.av-footer .ico{background-color:#8fe3b3;margin-right:6px}
.av-footer .av-btn{margin-top:8px;font-size:15px;padding:9px 18px}
.av-footer .av-btn:hover{text-decoration:none}
.av-footer-note{margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:13.5px;color:#93a0cc;grid-column:1/-1}
.site-info{background:transparent;padding:0}
.go-to-top{bottom:84px}

/* ---------- Floating contact ---------- */
.av-float{position:fixed;right:16px;bottom:18px;z-index:9990;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.av-float a{display:flex;align-items:center;gap:8px;padding:8px 16px 8px 8px;border-radius:999px;background:var(--av-line);color:#fff!important;font-weight:600;font-size:15px;line-height:1;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:.2s}
.av-float a:hover{background:var(--av-line-dark);transform:translateY(-2px)}
.av-float img{width:34px;height:34px;border-radius:22%;background:#fff}
.av-float a.av-float-call{display:none}
.skip-link:focus{z-index:10000}

/* ---------- Responsive ---------- */
@media (max-width:1023px){
  #content>.container{flex-direction:column;gap:30px}
  #secondary{width:100%;flex:1 1 auto}
  .av-footer .container{grid-template-columns:1fr 1fr}
  .header-info .info ul,.header-info .info ul li.address{justify-content:flex-start;text-align:left}
}
@media (max-width:767px){
  body{font-size:15.5px;padding-bottom:64px}
  .container{padding-left:16px;padding-right:16px}
  .top-header .container{flex-direction:column;align-items:flex-start}
  #site-branding{flex-basis:auto;width:100%}
  #site-logo{max-width:100%}
  .header-info{display:block!important;width:100%;order:3}
  .menu-toggle{order:2;position:absolute;right:12px;top:6px}
  .top-header .container{position:relative}
  #site-branding{padding-right:56px}
  .header-info .info ul{gap:4px 14px;font-size:13.5px}
  .main-navigation{overflow:hidden}
  .main-navigation>ul.menu{clear:both;display:none;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:8px}
  .main-navigation.toggled-on>ul.menu{display:flex}
  .main-navigation>ul>li{width:100%;border-top:1px solid var(--av-border)}
  .main-navigation>ul>li>a{padding:12px 6px;font-size:15.5px;border-bottom:0!important}
  .main-navigation>ul>li.current_page_item>a{color:var(--av-navy);font-weight:700}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;width:44px;height:44px;margin:4px 0 4px;float:right;background:none;border:0;cursor:pointer}
  .menu-toggle .line-one,.menu-toggle .line-two,.menu-toggle .line-three{background:var(--av-navy);width:26px;margin:4px auto}
  .menu-toggle-2{display:none}
  .av-hero{grid-template-columns:1fr;padding:18px}
  .av-hero-img{order:-1}
  .entry-content{font-size:16px}
  .page-header{padding:20px 0}
  .av-footer .container{grid-template-columns:1fr}
  .av-float{left:0;right:0;bottom:0;flex-direction:row;gap:0;background:#fff;border-top:1px solid var(--av-border);box-shadow:0 -4px 14px rgba(0,0,0,.12)}
  .av-float a{flex:1 1 50%;justify-content:center;border-radius:0;box-shadow:none;padding:12px 8px;font-size:15.5px}
  .av-float a.av-float-call{display:flex;background:var(--av-navy)}
  .av-float a.av-float-call .ico{background-color:#fff}
  .go-to-top{bottom:76px}
  .gallery{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
}
.av-contact-item:first-child{grid-column:1/-1}
.av-footer .ico-line,.av-footer img.line-ico{margin-right:8px}
@media print{.av-float,.go-to-top,#sticky_header{display:none!important}}

/* links styled as buttons/cards must not inherit content underline */
.entry-content a.av-btn,.entry-content a.av-card,.av-footer a.av-btn,.widget a.av-btn,.av-float a,.av-contact-item a,.av-kw a{text-decoration:none!important}
.entry-content a.av-btn span{text-decoration:none}
.entry-content a.av-card strong,.entry-content a.av-card span{text-decoration:none}
.entry-content ul.av-contact,.entry-content ul.av-badges{margin-left:0}

/* ---------- Facebook link (home) ---------- */
.av-fb-follow{margin-top:14px}
.av-fb-link{color:#1877f2;font-weight:600}
