/*
Theme Name: Urban city connect
*/

/* ============================================================
   RESET & BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:'DM Sans',sans-serif;background:#F5F6FA;color:#1E1E2E;line-height:1.65}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,select,textarea{font-family:'DM Sans',sans-serif}

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root{
  --navy:#12325C;--navy-dk:#0A1E3C;--orange:#F4622A;--orange-lt:#FFF1EB;--orange-dk:#C94D1C;
  --bg:#F5F6FA;--white:#fff;--border:#E4E7EF;--muted:#6B7280;--text:#1E1E2E;--green:#059669;
  --r8:8px;--r12:12px;--r16:16px;
  --shadow-sm:0 2px 10px rgba(0,0,0,.07);--shadow-md:0 8px 28px rgba(0,0,0,.11);--shadow-lg:0 20px 60px rgba(0,0,0,.16);
  --t:.26s cubic-bezier(.4,0,.2,1);--wrap:1200px;
}

/* ============================================================
   UTILITIES
   ============================================================ */
.container{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:1.5rem}
.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.72rem 1.5rem;border-radius:var(--r8);font-family:'DM Sans',sans-serif;font-weight:600;font-size:.92rem;transition:all var(--t);cursor:pointer;border:2px solid transparent;white-space:nowrap;line-height:1}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-dk);transform:translateY(-2px);box-shadow:0 10px 28px rgba(244,98,42,.38)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-green{background:var(--green);color:#fff;border-color:var(--green)}
.btn-green:hover{background:#047857;transform:translateY(-2px)}
.btn-sm{padding:.55rem 1.1rem;font-size:.84rem}
.btn-xs{padding:.4rem .9rem;font-size:.78rem;border-radius:var(--r8)}
.btn-full{width:100%;justify-content:center}

.sec-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:.35rem}
.sec-title{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3vw,2.45rem);color:var(--navy);line-height:1.2}
.sec-sub{color:var(--muted);font-size:.92rem;margin-top:.3rem}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem}
.sec-head--center{display:block;text-align:center;margin-bottom:3rem}
.sec-center{text-align:center;margin-bottom:3rem}
.sec-sub--center{max-width:520px;margin-inline:auto}
.sec-cta{text-align:center;margin-top:2.5rem}
.sec-empty{text-align:center;color:var(--muted);font-size:.92rem}
.btn-cta{font-size:1rem;padding:.9rem 2rem}
.faq-contact-btn{margin-top:1.25rem;display:inline-flex}
.view-all{font-weight:600;font-size:.87rem;color:var(--orange);display:flex;align-items:center;gap:.3rem;transition:gap var(--t)}
.view-all:hover{gap:.65rem}

/* Scroll reveal */
.fu{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s ease}
.fu.in{opacity:1;transform:none}
.fu.d1{transition-delay:.08s}
.fu.d2{transition-delay:.16s}
.fu.d3{transition-delay:.24s}
.fu.d4{transition-delay:.32s}
.fu.d5{transition-delay:.4s}
.fu.d6{transition-delay:.48s}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:999;background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);transition:box-shadow var(--t)}
.site-header.up{box-shadow:var(--shadow-md)}
.hdr{display:flex;align-items:center;justify-content:space-between;height:80px;gap:1rem}
.hdr .logo{width:170px;}
.hdr span.ln, .hdr .lm{display:none;}
.logo{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.lm{width:38px;height:38px;background:var(--orange);border-radius:var(--r8);display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:900;box-shadow:0 4px 14px rgba(244,98,42,.35)}
.ln{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--navy);line-height:1}
.ln span{color:var(--orange)}
.main-nav{display:none}
.main-nav ul{display:flex;gap:2rem}
.main-nav a{font-weight:500;font-size:.9rem;color:var(--text);position:relative;transition:color var(--t)}
.main-nav a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:2px;background:var(--orange);border-radius:2px;transition:width var(--t)}
.main-nav a:hover,.main-nav a.active,.main-nav .current-menu-item > a,.main-nav .current_page_item > a{color:var(--orange)}
.main-nav a:hover::after,.main-nav a.active::after,.main-nav .current-menu-item > a::after,.main-nav .current_page_item > a::after{width:100%}
.hdr-cta{display:none;gap:.5rem;align-items:center}
.ham{display:flex;flex-direction:column;gap:5px;padding:8px;background:none;border:none}
.ham span{display:block;width:24px;height:2px;background:var(--navy);border-radius:2px;transition:all var(--t)}
.ham.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ham.open span:nth-child(2){opacity:0}
.ham.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mob{display:none;position:fixed;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:1.25rem 1.5rem;z-index:998;box-shadow:var(--shadow-md)}
.mob.open{display:block}
.mob ul{display:flex;flex-direction:column;gap:.2rem;margin-bottom:1rem}
.mob a{display:block;padding:.65rem .75rem;border-radius:var(--r8);font-weight:500;transition:background var(--t)}
.mob a:hover{background:var(--bg);color:var(--orange)}
.mcta{display:flex;flex-direction:column;gap:.5rem}
.mcta .btn{justify-content:center}

/* Skip link */
.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;word-wrap:normal!important}
.screen-reader-text:focus{position:fixed;top:1rem;left:1rem;clip:auto;clip-path:none;width:auto;height:auto;background:var(--navy);color:#fff;padding:.5rem 1rem;border-radius:var(--r8);z-index:9999}

/* ============================================================
   HERO (homepage)
   ============================================================ */
.hero{margin-top:68px;min-height:90vh;position:relative;display:flex;align-items:center;overflow:hidden}
.hero-photo{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=1920&q=80') center/cover no-repeat;transform:scale(1.04);transition:transform 9s ease}
.hero-photo.kb{transform:scale(1)}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(108deg,rgba(7,15,32,.9) 0%,rgba(10,24,55,.72) 45%,rgba(10,24,55,.3) 100%)}
.orb{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;animation:flt 9s ease-in-out infinite alternate}
.o1{width:480px;height:480px;background:rgba(244,98,42,.18);top:-120px;right:-80px}
.o2{width:300px;height:300px;background:rgba(100,150,255,.12);bottom:-60px;left:8%;animation-delay:-4s}
@keyframes flt{0%{transform:translate(0,0) scale(1)}100%{transform:translate(18px,28px) scale(1.08)}}
.city-svg{position:absolute;bottom:0;left:0;right:0;pointer-events:none;opacity:.15}
.hero-wrap{position:relative;z-index:2;padding-block:5rem 4rem;width:100%}
.hero-content{max-width:730px}
.hero-pill{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.35rem 1rem .35rem .7rem;font-size:.8rem;color:#fff;font-weight:500;margin-bottom:1.5rem;animation:fuA .6s ease both}
.pdot{width:8px;height:8px;background:#4ade80;border-radius:50%;animation:pulse-dot 2s infinite;flex-shrink:0}
@keyframes pulse-dot{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.5)}70%{box-shadow:0 0 0 8px rgba(74,222,128,0)}}
.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,6vw,4.1rem);font-weight:900;color:#fff;line-height:1.08;animation:fuA .7s .08s ease both}
.hero-h1 em{color:#F4A158;font-style:normal;position:relative}
.hero-h1 em::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--orange),#F4A158);border-radius:2px}
.hero-desc{color:rgba(255,255,255,.75);font-size:1.05rem;max-width:520px;margin:1.2rem 0 2rem;animation:fuA .7s .16s ease both}
.search-box{background:#fff;border-radius:var(--r16);box-shadow:0 24px 64px rgba(0,0,0,.3);overflow:hidden;animation:fuA .7s .24s ease both}
.search-box--page{box-shadow:0 4px 24px rgba(0,0,0,.1);border:1px solid var(--border);margin-bottom:2rem;animation:none;display:flex;align-items:center}
.search-box--page .s-fields{flex:1;flex-direction:row;align-self:stretch;display:flex}
.search-box--page .s-field{border-bottom:none;border-right:1px solid var(--border);align-items:center}
.search-box--page .s-field:last-child{border-right:none}
.search-box--page .s-btn-wrap{padding:.75rem;flex-shrink:0;display:flex;align-items:center}
.search-box--page .s-btn-wrap .btn{width:auto}
.s-fields{display:flex;flex-direction:column}
.s-field{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}
.s-field:last-child{border-bottom:none}
.s-ico{color:var(--orange);flex-shrink:0;width:20px;height:20px}
.s-field input{flex:1;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:.95rem;color:var(--text);background:transparent}
.s-field input::placeholder{color:var(--muted)}
.s-field select{flex:1;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:.95rem;color:var(--text);background:transparent;appearance:none;cursor:pointer}
.s-btn-wrap{padding:.875rem}
.s-btn-wrap .btn{width:100%;justify-content:center}
.pop-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem;animation:fuA .7s .32s ease both}
.pop-tags span{font-size:.78rem;color:rgba(255,255,255,.45)}
.ptag{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.28rem .75rem;font-size:.77rem;color:rgba(255,255,255,.78);transition:all var(--t);cursor:pointer}
.ptag:hover{background:rgba(244,98,42,.55);border-color:var(--orange);color:#fff}
.hero-stats{display:flex;gap:2.5rem;margin-top:2rem;animation:fuA .7s .4s ease both}
.hs-n{font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:700;color:#fff;line-height:1}
.hs-l{font-size:.73rem;color:rgba(255,255,255,.5);margin-top:.15rem}
@keyframes fuA{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* ============================================================
   CATEGORIES (homepage)
   ============================================================ */
.cat-section{padding-block:5rem}
.cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.cat-card{position:relative;border-radius:var(--r16);overflow:hidden;cursor:pointer;aspect-ratio:4/3;transition:transform .4s ease,box-shadow .4s ease;background-size:cover;background-position:center;background-color:var(--border)}
.cat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.cat-card:hover img{transform:scale(1.08)}
.cat-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,15,35,.85) 0%,rgba(5,15,35,.2) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1rem 1.1rem;transition:background var(--t)}
.cat-card:hover .cat-overlay{background:linear-gradient(to top,rgba(5,15,35,.92) 0%,rgba(5,15,35,.3) 55%,transparent 100%)}
.cat-ico{width:34px;height:34px;background:var(--orange);border-radius:var(--r8);display:flex;align-items:center;justify-content:center;font-size:.9rem;margin-bottom:.4rem;box-shadow:0 4px 12px rgba(244,98,42,.4)}
.cat-name{font-weight:700;color:#fff;font-size:.88rem;line-height:1.2}
.cat-count{font-size:.7rem;color:rgba(255,255,255,.6);margin-top:.1rem}
.cat-arr{position:absolute;top:.75rem;right:.75rem;width:28px;height:28px;background:rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;opacity:0;transition:all var(--t)}
.cat-card:hover .cat-arr{opacity:1;background:var(--orange)}

/* ============================================================
   FEATURED LISTINGS (homepage)
   ============================================================ */
.feat-section{padding-block:5rem;background:#fff}
.listings-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
.l-card{background:#fff;border-radius:var(--r16);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--t);display:flex;flex-direction:column}
.l-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.l-thumb{position:relative;height:200px;overflow:hidden;flex-shrink:0;padding:6px;}
.l-thumb img{width:100%;height:100%;object-fit:contain;transition:transform .5s ease}
.l-card:hover .l-thumb img{transform:scale(1.06)}
.l-badge{position:absolute;top:.75rem;left:.75rem;padding:.25rem .65rem;border-radius:999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff}
.lb-feat{background:rgba(244,98,42,.92)}
.lb-ver{background:rgba(5,150,105,.9)}
.l-logo{position:absolute;bottom:-18px;left:1rem;width:46px;height:46px;border-radius:var(--r8);border:3px solid #fff;overflow:hidden;box-shadow:var(--shadow-sm);background:#fff}
.l-logo img{width:100%;height:100%;object-fit:cover}
.l-body{padding:1.5rem 1rem 1rem;flex:1;display:flex;flex-direction:column}
.l-cat{font-size:.7rem;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.07em}
.l-title{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--navy);margin:.3rem 0;transition:color var(--t);overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}
.l-card:hover .l-title{color:var(--orange)}
.l-loc{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--muted);margin-bottom:.6rem}
.l-loc svg{width:13px;height:13px;flex-shrink:0}
.l-stars{font-size:.88rem;color:#F59E0B}
.l-rating{display:flex;align-items:center;gap:.5rem;margin-bottom:auto}
.l-rc{font-size:.77rem;color:var(--muted)}
.l-foot{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:.875rem;border-top:1px solid var(--border);overflow: hidden;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}
.l-body .content{font-size:.85rem;color:var(--muted);line-height:1.65;margin-bottom:auto}
.l-phone{font-size:.82rem;font-weight:500;color:var(--navy);display:flex;align-items:center;gap:.3rem}
.l-phone svg{width:13px;height:13px;color:var(--orange)}

/* ============================================================
   HOW IT WORKS (homepage)
   ============================================================ */
.how-section{padding-block:5rem;background:linear-gradient(135deg,var(--navy) 0%,#1a3a6e 50%,var(--navy-dk) 100%);position:relative;overflow:hidden}
.how-section::before{content:'';position:absolute;top:-130px;right:-130px;width:500px;height:500px;border:100px solid rgba(255,255,255,.03);border-radius:50%;pointer-events:none}
.how-section .sec-title{color:#fff}
.how-section .sec-sub{color:rgba(255,255,255,.5)}
.how-section .sec-label{color:#F4A158}
.steps-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;position:relative;z-index:2}
.step-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);border-radius:var(--r16);padding:2rem 1.5rem;text-align:center;transition:all var(--t);position:relative;overflow:hidden}
.step-card:hover{background:rgba(255,255,255,.1);transform:translateY(-6px);border-color:rgba(244,98,42,.4)}
.step-n{font-family:'Playfair Display',serif;font-size:4.5rem;font-weight:900;color:rgba(255,255,255,.05);line-height:1;position:absolute;top:.6rem;right:1rem}
.step-icon{width:70px;height:70px;border-radius:var(--r12);margin:0 auto 1.25rem;background:rgba(244,98,42,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step-icon svg{width:36px;height:36px;stroke:var(--orange)}
.step-title{font-weight:700;font-size:1.05rem;color:#fff;margin-bottom:.55rem}
.step-desc{font-size:.87rem;color:rgba(255,255,255,.55);line-height:1.75}

/* ============================================================
   STATS STRIP
   ============================================================ */
.stats-strip{padding-block:3.5rem;background:linear-gradient(135deg,var(--orange) 0%,var(--orange-dk) 100%);position:relative;overflow:hidden}
.stats-strip::before{content:'';position:absolute;top:-70px;right:-70px;width:300px;height:300px;background:rgba(255,255,255,.07);border-radius:50%}
.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;position:relative;z-index:2;text-align:center}
.bs-n{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:900;color:#fff;line-height:1}
.bs-l{font-size:.82rem;color:rgba(255,255,255,.7);margin-top:.2rem}

/* ============================================================
   LATEST LISTINGS (homepage)
   ============================================================ */
.latest-section{padding-block:5rem}
.latest-list{display:flex;flex-direction:column;gap:.875rem}
.ll-item{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:var(--r12);border:1px solid var(--border);padding:.875rem 1.25rem;box-shadow:var(--shadow-sm);transition:all var(--t);cursor:pointer}
.ll-item:hover{box-shadow:var(--shadow-md);border-color:var(--orange);transform:translateX(5px)}
.ll-thumb{width:150px;height:150px;border-radius:var(--r8);overflow:hidden;flex-shrink:0;border:1px solid #f6eeee;}
.ll-thumb img{width:100%;height:100%;object-fit:contain;transition:transform .4s ease}
.ll-item:hover .ll-thumb img{transform:scale(1.12)}
.ll-info{flex:1;min-width:0}
.ll-cat{font-size:.67rem;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.07em}
.ll-title{font-weight:700;font-size:.92rem;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ll-loc{font-size:.75rem;color:var(--muted);display:flex;align-items:center;gap:.25rem;margin-top:.1rem}
.ll-loc svg{width:11px;height:11px;flex-shrink:0}
.ll-right{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}
.ll-time{font-size:.7rem;color:var(--muted)}
.mbadge{padding:.22rem .55rem;border-radius:999px;font-size:.62rem;font-weight:700;text-transform:uppercase;color:#fff}
.mb-n{background:var(--navy)}
.mb-v{background:var(--green)}
.mini-s{font-size:.75rem;color:#F59E0B}

/* ============================================================
   CTA (homepage)
   ============================================================ */
.cta-section{padding-block:5.5rem;position:relative;overflow:hidden;text-align:center}
.cta-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1486325212027-8081e485255e?w=1600&q=80') center/cover no-repeat}
.cta-scrim{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,30,60,.93) 0%,rgba(10,30,60,.87) 100%)}
.cta-inner{position:relative;z-index:2;max-width:600px;margin-inline:auto}
.cta-h2{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,4vw,3rem);color:#fff;font-weight:900;line-height:1.12;margin-bottom:.75rem}
.cta-h2 em{color:#F4A158;font-style:normal}
.cta-desc{color:rgba(255,255,255,.65);font-size:1rem;margin-bottom:2rem}
.cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}
.trust-row{margin-top:2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}
.trust-item{display:flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.5);font-size:.8rem}
.t-check{width:18px;height:18px;background:rgba(74,222,128,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#4ade80;font-size:.7rem;flex-shrink:0}

/* ============================================================
   PAGE BANNER (categories page)
   ============================================================ */
.page-banner{margin-top:68px;position:relative;height:340px;display:flex;align-items:center;overflow:hidden}
.pb-photo{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1444653614773-995cb1ef9efa?w=1920&q=80') center/cover no-repeat;transform:scale(1.04);transition:transform 9s ease}
.pb-photo.kb{transform:scale(1)}
.pb-scrim{position:absolute;inset:0;background:linear-gradient(108deg,rgba(7,15,32,.88) 0%,rgba(10,24,55,.75) 55%,rgba(10,24,55,.4) 100%)}
.pb-orb{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none}
.pb-orb1{width:380px;height:380px;background:rgba(244,98,42,.18);top:-100px;right:-60px;animation:pb-flt 10s ease-in-out infinite alternate}
.pb-orb2{width:220px;height:220px;background:rgba(100,150,255,.12);bottom:-50px;left:5%;animation:pb-flt 12s ease-in-out infinite alternate;animation-delay:-5s}
@keyframes pb-flt{0%{transform:translate(0,0)}100%{transform:translate(18px,24px)}}
.pb-inner{position:relative;z-index:2;width:100%}
.pb-label{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.3rem .9rem .3rem .65rem;font-size:.75rem;color:#fff;font-weight:500;margin-bottom:1rem;animation:fuA .55s ease both}
.pb-dot{width:6px;height:6px;background:#F4A158;border-radius:50%}
.pb-h1{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,4.5vw,3.1rem);font-weight:900;color:#fff;line-height:1.1;animation:fuA .65s .06s ease both}
.pb-h1 em{color:#F4A158;font-style:normal}
.pb-desc{color:rgba(255,255,255,.7);font-size:.95rem;margin-top:.75rem;max-width:480px;animation:fuA .65s .12s ease both}
.pb-wave{position:absolute;bottom:0;left:0;right:0;pointer-events:none;opacity:.12}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.breadcrumb-bar{background:#fff;border-bottom:1px solid var(--border);padding-block:.75rem}
.breadcrumb-bar.standalone{margin-top:80px}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;font-size:.82rem;color:var(--muted)}
.breadcrumb a{color:var(--muted);transition:color var(--t)}
.breadcrumb a:hover{color:var(--orange)}
.breadcrumb .sep{color:var(--border);font-size:.7rem;margin-inline:.15rem}
.breadcrumb .current{color:var(--navy);font-weight:600;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.breadcrumb svg{width:13px;height:13px;flex-shrink:0}

/* ============================================================
   PAGE LAYOUT — sidebar + main
   ============================================================ */
.page-body{padding-block:3rem 5rem}
.page-layout{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}
.page-layout-full .cat-page-grid{grid-template-columns:repeat(3,1fr); display:grid;}

/* Toolbar */
.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;background:#fff;border:1px solid var(--border);border-radius:var(--r12);padding:.85rem 1.25rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}
.tb-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.tb-count{font-size:.88rem;color:var(--muted)}
.tb-count strong{color:var(--navy);font-weight:700}
.tb-tag{display:inline-flex;align-items:center;gap:.35rem;background:var(--orange-lt);color:var(--orange);border:1px solid rgba(244,98,42,.22);border-radius:999px;padding:.22rem .65rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--t)}
.tb-tag:hover{background:var(--orange);color:#fff}
.tb-tag svg{width:10px;height:10px}
.tb-right{display:flex;align-items:center;gap:.75rem}
.sort-select{border:1px solid var(--border);border-radius:var(--r8);padding:.42rem .85rem;font-size:.82rem;color:var(--text);background:#fff;cursor:pointer;outline:none;transition:border-color var(--t)}
.sort-select:focus{border-color:var(--orange)}
.view-btns{display:flex;border:1px solid var(--border);border-radius:var(--r8);overflow:hidden}
.view-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--muted);cursor:pointer;transition:all var(--t);border:none}
.view-btn:hover,.view-btn.active{background:var(--navy);color:#fff}
.view-btn svg{width:15px;height:15px}

/* ============================================================
   SIDEBAR FILTER
   ============================================================ */
.sidebar{display:flex;flex-direction:column;gap:1.25rem}
.sb-card{background:#fff;border:1px solid var(--border);border-radius:var(--r16);padding:1.5rem;box-shadow:var(--shadow-sm)}
.sb-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:1.1rem;display:flex;align-items:center;gap:.5rem}
.sb-title svg{width:16px;height:16px;color:var(--orange)}
.fi-clear{margin-left:auto;font-size:.75rem;font-weight:600;color:var(--orange);text-decoration:none;padding:.15rem .55rem;border:1px solid var(--orange);border-radius:999px;line-height:1.4;transition:all var(--t)}
.fi-clear:hover{background:var(--orange);color:#fff}
.sb-search{display:flex;align-items:center;gap:.6rem;border:1px solid var(--border);border-radius:var(--r8);padding:.65rem .9rem;transition:border-color var(--t)}
.sb-search:focus-within{border-color:var(--orange)}
.sb-search svg{width:15px;height:15px;color:var(--muted);flex-shrink:0}
.sb-search input{flex:1;border:none;outline:none;font-size:.88rem;color:var(--text);background:transparent}
.sb-search input::placeholder{color:var(--muted)}

.filter-list{display:flex;flex-direction:column;gap:.6rem}
.filter-item{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.35rem .1rem;border-radius:var(--r8);transition:background var(--t)}
.filter-item:hover{background:var(--bg);padding-inline:.5rem;margin-inline:-.5rem}
.fi-left{display:flex;align-items:center;gap:.65rem}
.fi-check{width:18px;height:18px;border:2px solid var(--border);border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--t);background:#fff}
.filter-item.checked .fi-check{background:var(--orange);border-color:var(--orange)}
.fi-check-mark{width:10px;height:10px;color:#fff;opacity:0;transition:opacity var(--t)}
.filter-item.checked .fi-check-mark{opacity:1}
.fi-label{font-size:.86rem;color:var(--text);font-weight:500;transition:color var(--t)}
.filter-item.checked .fi-label{color:var(--orange)}
.fi-count{font-size:.72rem;font-weight:600;color:var(--muted);background:var(--bg);border-radius:999px;padding:.15rem .55rem;transition:all var(--t)}
.filter-item.checked .fi-count{background:var(--orange-lt);color:var(--orange)}

.show-more-btn{width:100%;text-align:center;padding:.55rem;margin-top:.35rem;font-size:.82rem;font-weight:600;color:var(--orange);border:1px dashed rgba(244,98,42,.3);border-radius:var(--r8);cursor:pointer;transition:all var(--t);background:transparent}
.show-more-btn:hover{background:var(--orange-lt);border-style:solid}

.rating-filter{display:flex;flex-direction:column;gap:.55rem}
.rf-item{display:flex;align-items:center;gap:.65rem;cursor:pointer;padding:.35rem .5rem;border-radius:var(--r8);transition:all var(--t);text-decoration:none;margin-inline:-.5rem}
.rf-item:hover{background:var(--bg)}
.rf-item.checked{background:var(--orange-lt)}
.rf-item.checked .rf-label{color:var(--orange);font-weight:600}
.rf-stars{color:#F59E0B;font-size:.9rem;letter-spacing:.05rem}
.rf-label{font-size:.82rem;color:var(--muted)}

.range-wrap{padding:.25rem .1rem}
.range-labels{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted);margin-bottom:.5rem}
.range-slider{-webkit-appearance:none;appearance:none;width:100%;height:5px;border-radius:3px;background:linear-gradient(90deg,var(--orange) 0%,var(--orange) 60%,var(--border) 60%);outline:none;cursor:pointer}
.range-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--orange);box-shadow:0 2px 8px rgba(244,98,42,.3);cursor:pointer;transition:transform var(--t)}
.range-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}

.filter-actions{display:flex;gap:.6rem;margin-top:.25rem}
.filter-actions .btn{flex:1;justify-content:center;font-size:.83rem;padding:.6rem}

.tags-cloud{display:flex;flex-wrap:wrap;gap:.4rem}
.stag{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.28rem .75rem;font-size:.78rem;color:var(--text);font-weight:500;cursor:pointer;transition:all var(--t)}
.stag:hover,.stag.active{background:var(--orange);border-color:var(--orange);color:#fff}

.sb-promo{background:linear-gradient(135deg,var(--navy) 0%,#1a3a6e 100%);border-radius:var(--r16);padding:1.75rem 1.5rem;text-align:center;position:relative;overflow:hidden}
.sb-promo::before{content:'';position:absolute;top:-50px;right:-50px;width:180px;height:180px;background:rgba(244,98,42,.15);border-radius:50%}
.sb-promo::after{content:'';position:absolute;bottom:-40px;left:-30px;width:130px;height:130px;background:rgba(255,255,255,.04);border-radius:50%}
.sb-promo-icon{font-size:2rem;margin-bottom:.75rem;position:relative;z-index:2}
.sb-promo h4{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:.5rem;position:relative;z-index:2}
.sb-promo p{font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.6;margin-bottom:1.25rem;position:relative;z-index:2}
.sb-promo .btn{width:100%;justify-content:center;position:relative;z-index:2}

/* ============================================================
   CATEGORIES GRID (categories page)
   ============================================================ */
.cats-main{}
.cat-group{margin-bottom:3rem}
.cat-group-title{display:flex;align-items:center;gap:.75rem;font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--navy);padding-bottom:.75rem;border-bottom:2px solid var(--border);margin-bottom:1.25rem}
.cat-group-title .g-letter{width:34px;height:34px;background:var(--navy);color:#fff;border-radius:var(--r8);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:900;flex-shrink:0}
.cat-group-title .g-count{font-size:.78rem;color:var(--muted);font-weight:400;font-family:'DM Sans',sans-serif;margin-left:auto}

.cat-page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.cpc{position:relative;border-radius:var(--r16);overflow:hidden;cursor:pointer;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .38s ease,box-shadow .38s ease,border-color .26s ease;display:flex;flex-direction:column}
.cpc:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(244,98,42,.25)}
.cpc-img{position:relative;height:160px;overflow:hidden;flex-shrink:0}
.cpc-img img{width:100%;height:100%;object-fit:contain;transition:transform .55s ease}
.cpc:hover .cpc-img img{transform:scale(1.09)}
.cpc-img-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,15,35,.65) 0%,transparent 60%);transition:background var(--t)}
.cpc:hover .cpc-img-scrim{background:linear-gradient(to top,rgba(5,15,35,.78) 0%,rgba(5,15,35,.12) 60%,transparent 100%)}
.cpc-badge{position:absolute;top:.75rem;left:.75rem;padding:.22rem .6rem;border-radius:999px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;backdrop-filter:blur(6px)}
.cpc-b-hot{background:rgba(244,98,42,.88)}
.cpc-b-new{background:rgba(18,50,92,.85)}
.cpc-b-top{background:rgba(5,150,105,.85)}
.cpc-count-bubble{position:absolute;bottom:.75rem;right:.75rem;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:999px;padding:.22rem .7rem;font-size:.72rem;font-weight:700;color:var(--navy);box-shadow:0 2px 8px rgba(0,0,0,.12);transition:background var(--t)}
.cpc:hover .cpc-count-bubble{background:var(--orange);color:#fff}
.cpc-body{padding:1rem;flex:1;display:flex;flex-direction:column}
.cpc-top{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.6rem}
.cpc-icon{width:40px;height:40px;border-radius:var(--r8);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;box-shadow:0 3px 10px rgba(0,0,0,.1);transition:transform var(--t)}
.cpc:hover .cpc-icon{transform:scale(1.12) rotate(-4deg)}
.cpc-text{flex:1;min-width:0}
.cpc-name{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--navy);line-height:1.25;transition:color var(--t)}
.cpc:hover .cpc-name{color:var(--orange)}
.cpc-meta{font-size:.76rem;color:var(--muted);margin-top:.15rem}
.cpc-subs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}
.sub-chip{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.18rem .6rem;font-size:.7rem;color:var(--muted);font-weight:500;transition:all var(--t);cursor:pointer}
.sub-chip:hover{background:var(--orange-lt);border-color:rgba(244,98,42,.25);color:var(--orange)}
.cpc-rating{display:flex;align-items:center;gap:.45rem;margin-top:auto;padding-top:.65rem;border-top:1px solid var(--border)}
.cpc-stars{font-size:.8rem;color:#F59E0B}
.cpc-rv{font-size:.74rem;color:var(--muted)}
.cpc-arrow{margin-left:auto;width:28px;height:28px;background:var(--bg);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.8rem;transition:all var(--t);flex-shrink:0}
.cpc:hover .cpc-arrow{background:var(--orange);color:#fff;transform:translateX(3px)}

.ico-orange{background:linear-gradient(135deg,#FF8C42,#F4622A)}
.ico-teal{background:linear-gradient(135deg,#43B89C,#0F9B8E)}
.ico-blue{background:linear-gradient(135deg,#4FACFE,#00C6FB)}
.ico-purple{background:linear-gradient(135deg,#667EEA,#764BA2)}
.ico-pink{background:linear-gradient(135deg,#FA709A,#FEE140)}
.ico-green{background:linear-gradient(135deg,#2AF598,#009EFD)}
.ico-red{background:linear-gradient(135deg,#FF6B6B,#FF8E53)}
.ico-indigo{background:linear-gradient(135deg,#A18CD1,#FBC2EB)}
.ico-amber{background:linear-gradient(135deg,#F59E0B,#F97316)}
.ico-cyan{background:linear-gradient(135deg,#06B6D4,#0284C7)}
.ico-lime{background:linear-gradient(135deg,#84CC16,#22C55E)}
.ico-rose{background:linear-gradient(135deg,#FB7185,#EC4899)}

.alpha-nav{display:none;flex-wrap:wrap;gap:.35rem}
.alpha-nav a{width:30px;height:30px;border-radius:var(--r8);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:var(--muted);background:var(--bg);border:1px solid var(--border);transition:all var(--t)}
.alpha-nav a:hover,.alpha-nav a.has{color:var(--navy);border-color:var(--navy)}
.alpha-nav a.active{background:var(--orange);border-color:var(--orange);color:#fff}

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination-wrap{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}
.pagination-wrap .navigation{display:flex;justify-content:center}
.pagination,.pagination-wrap .nav-links{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:center}
.pag-btn,.pagination .page-numbers,.pagination-wrap .nav-links .page-numbers{min-width:38px;height:38px;padding-inline:.4rem;display:flex;align-items:center;justify-content:center;border-radius:var(--r8);font-size:.85rem;font-weight:600;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer;transition:all var(--t);text-decoration:none}
.pag-btn:hover,.pagination .page-numbers:hover,.pagination-wrap .nav-links .page-numbers:hover{border-color:var(--navy);color:var(--navy)}
.pag-btn.active,.pagination .page-numbers.current,.pagination-wrap .nav-links .page-numbers.current{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:0 4px 14px rgba(244,98,42,.35)}
.pag-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
.pag-dots,.pagination .dots,.pagination-wrap .nav-links .dots{color:var(--muted);padding-inline:.25rem;font-size:.9rem;line-height:38px;border:none;background:none}
.pag-info{font-size:.82rem;color:var(--muted);text-align:center}
.pag-info strong{color:var(--navy)}

/* ============================================================
   SINGLE DETAIL — GALLERY
   ============================================================ */
.gallery-wrap{background:#000;position:relative;overflow:hidden}
.gallery-slider{position:relative;height:420px;overflow:hidden}
.gallery-track{display:flex;height:100%;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.gallery-slide{flex:0 0 100%;width:100%;height:100%;position:relative}
.gallery-slide img{width:100%;height:100%;object-fit:cover}
.gallery-slide-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,transparent 50%)}
.gal-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all var(--t)}
.gal-arrow:hover{background:var(--orange);border-color:var(--orange);transform:translateY(-50%) scale(1.08)}
.gal-arrow svg{width:18px;height:18px}
.gal-prev{left:1rem}
.gal-next{right:1rem}
.gal-counter{position:absolute;bottom:1rem;right:1rem;z-index:10;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.28rem .8rem;font-size:.78rem;color:#fff;font-weight:600}
.photo-count-badge{position:absolute;bottom:1rem;left:1rem;z-index:10;display:flex;align-items:center;gap:.4rem;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);border-radius:var(--r8);padding:.35rem .85rem;font-size:.78rem;color:#fff;font-weight:600;cursor:pointer;transition:all var(--t)}
.photo-count-badge:hover{background:var(--orange);border-color:var(--orange)}
.photo-count-badge svg{width:14px;height:14px}
.gal-thumbs{display:flex;gap:.5rem;padding:.75rem 1rem;background:#111;overflow-x:auto;scrollbar-width:none}
.gal-thumbs::-webkit-scrollbar{display:none}
.gal-thumb{width:80px;height:56px;border-radius:var(--r8);overflow:hidden;flex-shrink:0;border:2px solid transparent;cursor:pointer;transition:all var(--t);opacity:.55}
.gal-thumb:hover{opacity:.85}
.gal-thumb.active{border-color:var(--orange);opacity:1}
.gal-thumb img{width:100%;height:100%;object-fit:cover}

/* ============================================================
   SINGLE DETAIL — LAYOUT
   ============================================================ */
.detail-body{padding-block:2.5rem 5rem}
.detail-layout{display:grid;grid-template-columns:1fr;gap:2rem}

/* Business header card */
.biz-header-card{background:#fff;border:1px solid var(--border);border-radius:var(--r16);padding:1.75rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}
.bih-top{display:flex;align-items:center;justify-content:space-between;gap:1.1rem}
.bih-logo{width:160px;height:150px;border-radius:var(--r12);border:2px solid var(--border);overflow:hidden;flex-shrink:0;background:#fff;box-shadow:var(--shadow-sm)}
.bih-logo img{width:100%;height:100%;object-fit:contain}
.bih-cat{font-size:.7rem;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}
.bih-name{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:900;color:var(--navy);line-height:1.15}
.bih-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}
.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .65rem;border-radius:999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.badge-feat,.badge-featured{background:rgba(244,98,42,.1);color:var(--orange);border:1px solid rgba(244,98,42,.25)}
.badge-ver,.badge-verified{background:rgba(5,150,105,.1);color:var(--green);border:1px solid rgba(5,150,105,.25)}
.badge-open{background:rgba(5,150,105,.12);color:var(--green);border:1px solid rgba(5,150,105,.3)}
.badge-dot{width:6px;height:6px;background:var(--green);border-radius:50%;animation:badge-pulse 2s infinite}
@keyframes badge-pulse{0%,100%{box-shadow:0 0 0 0 rgba(5,150,105,.4)}70%{box-shadow:0 0 0 6px rgba(5,150,105,0)}}

.bih-rating{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.big-stars{font-size:1.1rem;color:#F59E0B}
.rating-score{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:900;color:var(--navy);line-height:1}
.rating-count{font-size:.85rem;color:var(--muted)}
.rating-bar-wrap{flex:1;min-width:120px}
.rating-bar{height:7px;background:var(--border);border-radius:4px;overflow:hidden}
.rating-fill{height:100%;background:linear-gradient(90deg,#F59E0B,#F97316);border-radius:4px}

.bih-meta{display:flex;flex-direction:column;gap:.55rem}
.bih-meta-item{display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:var(--text)}
.bih-meta-item svg{width:16px;height:16px;color:var(--orange);flex-shrink:0}
.bih-meta-item a{color:var(--navy);font-weight:500;transition:color var(--t)}
.bih-meta-item a:hover{color:var(--orange)}
.meta-label{font-size:.72rem;color:var(--muted);font-weight:500;/*min-width:60px;*/flex-shrink:0}

.bih-ctas{display:flex;flex-wrap:wrap;gap:.6rem}
.bih-ctas .btn{flex:1;min-width:130px;justify-content:center;font-size:.88rem}
.bih-actions{display:flex;align-items:center;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border);flex-wrap:wrap}
.action-btn{display:flex;align-items:center;gap:.35rem;padding:.42rem .8rem;border-radius:var(--r8);border:1px solid var(--border);font-size:.78rem;font-weight:600;color:var(--muted);background:#fff;cursor:pointer;transition:all var(--t)}
.action-btn:hover{border-color:var(--navy);color:var(--navy);background:var(--bg)}
.action-btn svg{width:14px;height:14px}
.action-btn.saved{color:var(--orange);border-color:rgba(244,98,42,.3);background:var(--orange-lt)}

/* Detail section wrapper */
.detail-section{background:#fff;border:1px solid var(--border);border-radius:var(--r16);padding:1.75rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}
.ds-title{display:flex;align-items:center;gap:.6rem;font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--navy);padding-bottom:.875rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}
.ds-title svg{width:18px;height:18px;color:var(--orange);flex-shrink:0}
.ds-count{margin-left:auto;font-family:'DM Sans',sans-serif;font-size:.75rem;font-weight:600;color:var(--muted);background:var(--bg);border-radius:999px;padding:.15rem .6rem;border:1px solid var(--border)}

.about-text{font-size:.92rem;color:var(--text);line-height:1.8;margin-bottom:.5rem}
.read-more-btn{background:none;border:none;color:var(--orange);font-weight:600;font-size:.88rem;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;transition:gap var(--t);padding:0}
.read-more-btn:hover{gap:.55rem}
.about-stats{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.astat{display:flex;align-items:center;gap:.5rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--r8);padding:.5rem .9rem;font-size:.82rem}
.astat-icon{font-size:1rem}
.astat-val{font-weight:700;color:var(--navy)}
.astat-label{color:var(--muted);font-size:.75rem}

/* Established & Years in Business badges */
.yib-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}
.yib-badge{display:inline-flex;align-items:center;gap:.75rem;background:#fff;border:1px solid var(--border);border-radius:var(--r12);padding:.75rem 1.25rem;box-shadow:var(--shadow-sm)}
.yib-badge svg{width:30px;height:30px;stroke:var(--navy);flex-shrink:0}
.yib-badge div{display:flex;flex-direction:column;line-height:1.2}
.yib-num{font-size:.95rem;font-weight:700;color:var(--navy)}
.yib-text{font-size:.72rem;color:var(--muted)}

/* Company Details section */
.codet-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem}
.codet-item{display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:var(--text);padding:.5rem 0;border-bottom:1px solid var(--border)}
.codet-item:nth-last-child(-n+2){border-bottom:none}
.codet-item svg{width:20px;height:20px;flex-shrink:0;stroke:var(--orange)}

/* Photos grid */
.photos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.photo-item{position:relative;display:block;border-radius:var(--r12);overflow:hidden;aspect-ratio:4/3;background:var(--bg)}
.photo-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.photo-item:hover img{transform:scale(1.06)}
.photo-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--t)}
.photo-overlay svg{width:28px;height:28px;stroke:#fff}
.photo-item:hover .photo-overlay{opacity:1}

/* Fancybox theme overrides */
.fancybox__container{--fancybox-accent-color:var(--orange)}
.fancybox__nav .f-button{background:rgba(30,30,46,.7);border:1px solid rgba(255,255,255,.15);color:#fff;width:44px;height:44px;border-radius:50%}
.fancybox__nav .f-button:hover{background:var(--orange);border-color:var(--orange)}
.fancybox__nav .f-button svg{width:20px;height:20px}
.fancybox__counter{font-family:'DM Sans',sans-serif;font-size:.85rem;color:rgba(255,255,255,.8)}

/* Business Profile section */
.bp-rows{display:flex;flex-direction:column;gap:.75rem}
.bp-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.5rem}
.bp-row-label{font-size:.88rem;font-weight:600;color:var(--navy);white-space:nowrap;min-width:160px}
.bp-row-primary{font-size:.88rem;font-weight:600;color:var(--orange)}
.bp-badges{display:flex;flex-wrap:wrap;gap:.4rem}
.bp-badge{font-size:.78rem;font-weight:500;color:var(--navy);background:var(--bg);border:1px solid var(--border);border-radius:var(--r8);padding:.25rem .75rem}

/* Additional Details / Attributes section */
.ad-group{border:1px solid var(--border);border-radius:var(--r12);overflow:hidden;margin-bottom:1rem}
.ad-group:last-child{margin-bottom:0}
.ad-group-label{font-size:.82rem;font-weight:600;color:var(--navy);background:var(--bg);padding:.55rem 1rem;border-bottom:1px solid var(--border)}
.ad-items{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.ad-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-size:.85rem;color:var(--text)}
.ad-item:nth-child(2n){border-right:none}
.ad-item:nth-last-child(-n+2){border-bottom:none}
.ad-icon-wrap{width:36px;height:36px;border-radius:50%;background:var(--orange-lt);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ad-icon-img{width:20px;height:20px;object-fit:contain}
.ad-icon-svg{width:16px;height:16px;stroke:var(--orange)}

.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.service-card{display:flex;align-items:flex-start;gap:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--r12);padding:.875rem;transition:all var(--t);cursor:pointer}
.service-card:hover{border-color:rgba(244,98,42,.3);background:var(--orange-lt);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.sc-icon{width:38px;height:38px;border-radius:var(--r8);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--t)}
.service-card:hover .sc-icon{transform:scale(1.1) rotate(-5deg)}
.sc-name{font-weight:700;font-size:.88rem;color:var(--navy);margin-bottom:.1rem}
.sc-desc{font-size:.75rem;color:var(--muted);line-height:1.55}
.sc-price{font-size:.75rem;font-weight:700;color:var(--orange);margin-top:.25rem}

/* Hours */
.hours-list{display:flex;flex-direction:column;gap:.05rem}
.hours-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem .6rem;border-radius:var(--r8);font-size:.88rem;transition:background var(--t)}
.hours-row:hover{background:var(--bg)}
.hours-row.today,.hours-row.cdt-today-row{background:var(--orange-lt);border:1px solid rgba(244,98,42,.18)}
.hours-day{font-weight:600;color:var(--navy);width:110px;flex-shrink:0}
.hours-row.today .hours-day{color:var(--orange);display:flex;}
.hours-time{color:var(--muted);flex:1;padding-inline:.5rem;text-align:right;}
.hours-status{font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:999px}
.hs-open{background:rgba(5,150,105,.12);color:var(--green)}
.hs-closed{background:rgba(239,68,68,.1);color:#DC2626}
.today-tag,.cdt-today-badge{display:inline-flex;align-items:center;background:var(--orange);color:#fff;border-radius:999px;padding:.15rem .55rem;font-size:.62rem;font-weight:700;text-transform:uppercase;margin-left:.4rem;vertical-align:middle}

/* Map */
.map-container,.detail-map{border-radius:var(--r12);overflow:hidden;border:1px solid var(--border);height:320px;background:#e8edf5}
.map-container iframe,.detail-map iframe{width:100%;height:100%;border:none;display:block}
.map-addr{margin-top:1rem;display:flex;align-items:flex-start;gap:.6rem;background:var(--bg);border-radius:var(--r8);padding:.75rem;border:1px solid var(--border)}
.map-addr svg{width:16px;height:16px;color:var(--orange);flex-shrink:0;margin-top:.1rem}
.map-addr-text{font-size:.86rem;line-height:1.65}
.map-addr-text strong{color:var(--navy);display:block;margin-bottom:.1rem}

/* Reviews */
.reviews-summary{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;padding-bottom:1.5rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}
.rs-score{text-align:center;flex-shrink:0}
.rs-big{font-family:'Playfair Display',serif;font-size:3.5rem;font-weight:900;color:var(--navy);line-height:1}
.rs-stars{font-size:1.2rem;color:#F59E0B;margin:.2rem 0}
.rs-count{font-size:.8rem;color:var(--muted)}
.rs-bars{flex:1;min-width:180px;display:flex;flex-direction:column;gap:.5rem}
.rsb-row{display:flex;align-items:center;gap:.65rem;font-size:.8rem}
.rsb-label{width:32px;color:var(--muted);text-align:right;flex-shrink:0}
.rsb-bar{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}
.rsb-fill{height:100%;background:linear-gradient(90deg,#F59E0B,#F97316);border-radius:4px}
.rsb-count{width:26px;color:var(--muted);flex-shrink:0}
.write-review-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--r12);padding:1rem 1.25rem;margin-bottom:1.5rem}
.wr-text strong{display:block;font-size:.92rem;color:var(--navy)}
.wr-text span{font-size:.8rem;color:var(--muted)}
.review-filters{display:none;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}
.rf-chip{padding:.3rem .8rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;transition:all var(--t)}
.rf-chip:hover,.rf-chip.active{background:var(--navy);border-color:var(--navy);color:#fff}
.review-card{padding:1.25rem 0;border-bottom:1px solid var(--border)}
.review-card:last-child{border-bottom:none;padding-bottom:0}
.rev-header{display:flex;align-items:flex-start;gap:.875rem;margin-bottom:.75rem}
.rev-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--border)}
.rev-avatar img{width:100%;height:100%;object-fit:cover}
.rev-name{font-weight:700;font-size:.92rem;color:var(--navy)}
.rev-via{display:inline-flex;align-items:center;gap:.3rem;font-size:.65rem;font-weight:600;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.12rem .5rem;margin-left:.4rem}
.rev-stars{color:#F59E0B;font-size:.88rem;margin:.1rem 0}
.rev-date{font-size:.75rem;color:var(--muted)}
.rev-body{font-size:.88rem;color:var(--text);line-height:1.75;margin-bottom:.65rem}
.rev-helpful{display:flex;align-items:center;gap:.75rem}
.helpful-btn{display:flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;color:var(--muted);background:none;border:1px solid var(--border);border-radius:999px;padding:.22rem .65rem;cursor:pointer;transition:all var(--t)}
.helpful-btn:hover{border-color:var(--green);color:var(--green)}
.rev-owner-reply{background:var(--bg);border-left:3px solid var(--orange);border-radius:0 var(--r8) var(--r8) 0;padding:.875rem 1rem;margin-top:.75rem}
.rep-label{font-size:.72rem;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;display:flex;align-items:center;gap:.3rem}
.rev-owner-reply p{font-size:.85rem;color:var(--text);line-height:1.7}

/* ============================================================
   SINGLE DETAIL — SIDEBAR
   ============================================================ */
.detail-sidebar{display:flex;flex-direction:column;gap:1.25rem}
.sb-card-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:1.1rem;display:flex;align-items:center;gap:.5rem}
.sb-card-title svg{width:16px;height:16px;color:var(--orange);flex-shrink:0}
.form-row{margin-bottom:.875rem}
.form-row label{display:block;font-size:.78rem;font-weight:600;color:var(--navy);margin-bottom:.35rem}
.form-input{width:100%;padding:.65rem .9rem;border:1px solid var(--border);border-radius:var(--r8);font-size:.88rem;color:var(--text);background:#fff;outline:none;transition:border-color var(--t),box-shadow var(--t)}
.form-input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(244,98,42,.1)}
.form-input::placeholder{color:var(--muted)}
textarea.form-input{resize:vertical;min-height:100px;line-height:1.6}
.form-note{font-size:.72rem;color:var(--muted);margin-top:.5rem;text-align:center}

.biz-info-list{display:flex;flex-direction:column;gap:.05rem}
.bil-row{display:flex;align-items:flex-start;gap:.7rem;padding:.55rem .1rem;border-radius:var(--r8);transition:background var(--t);font-size:.86rem}
.bil-row:hover{background:var(--bg);padding-inline:.5rem;margin-inline:-.5rem}
.bil-icon{width:32px;height:32px;background:var(--orange-lt);border-radius:var(--r8);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bil-icon svg{width:14px;height:14px;color:var(--orange)}
.bil-label{font-size:.7rem;color:var(--muted);font-weight:500;line-height:1}
.bil-value{font-weight:600;color:var(--navy);line-height:1.35}
.bil-value a{color:var(--navy);transition:color var(--t)}
.bil-value a:hover{color:var(--orange)}

.soc-links{display:flex;gap:.4rem;margin-top:.875rem;padding-top:.875rem;border-top:1px solid var(--border)}
.sl-btn{flex:1;height:36px;border-radius:var(--r8);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:var(--muted);transition:all var(--t);cursor:pointer;background:#fff;font-family: dashicons;}
.sl-btn:hover{background:var(--navy);border-color:var(--navy);color:#fff}

.related-item{display:flex;align-items:start;gap:.875rem;padding:.75rem 0;border-bottom:1px solid var(--border);cursor:pointer;transition:all var(--t)}
.related-item:last-of-type{border-bottom:none;padding-bottom:0}
.related-item:hover .ri-name{color:var(--orange)}
.ri-thumb{width:56px;height:56px;border-radius:var(--r8);overflow:hidden;flex-shrink:0;border:1px solid var(--border);display: flex;align-items: center;}
.ri-thumb img{width:100%;height:100%;object-fit:contain;transition:transform .4s ease}
.related-item:hover .ri-thumb img{transform:scale(1.1)}
.ri-cat{font-size:.65rem;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.06em}
.ri-name{font-weight:700;font-size:.88rem;color:var(--navy);transition:color var(--t);overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;line-height:18px;}
.ri-meta{font-size:.75rem;color:var(--muted);margin-top:.1rem;display:block;align-items:center;gap:.3rem;flex-wrap:wrap;}
.ri-meta svg{width:11px;height:11px;flex-shrink:0}
.ri-star{display: flex;align-items: center;font-size: 0.75rem;}
.ri-star svg{width:11px;height:11px;}
.ri-star span{padding: 0.1rem 0rem 0rem 0.20rem;}
.star-rating-mini{display:flex;}

/* Detail terms (categories list on sidebar) */
.detail-terms{display:flex;flex-wrap:wrap;gap:.4rem}
.term-badge{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.28rem .75rem;font-size:.78rem;color:var(--text);font-weight:500;transition:all var(--t)}
.term-badge:hover{background:var(--orange);border-color:var(--orange);color:#fff}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:#06111F;color:rgba(255,255,255,.6)}
.foot-top{padding-block:4rem;display:grid;grid-template-columns:1fr;gap:3rem;border-bottom:1px solid rgba(255,255,255,.07)}
.fb .ln{color:#fff}
.fb .lm, .fb .ln{display: none;}
.fb .logo{width: 200px;}
.fb-desc{font-size:.85rem;color:rgba(255,255,255,.42);line-height:1.75;margin:1rem 0;max-width:265px}
.soc-row{display:flex;gap:.5rem;margin-top:20px;}
.fci .soc-row a:before{display:none;}
.soc{width:36px;height:36px;background:rgba(255,255,255,.07);border-radius:var(--r8);display:flex;align-items:center;justify-content:center;font-size:.83rem;font-weight:700;color:rgba(255,255,255,.45);transition:all var(--t)}
.soc:hover{background:var(--orange);color:#fff;transform:translateY(-2px)}
.fc h5{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#fff;margin-bottom:1.1rem}
.fc ul{display:flex;flex-direction:column;gap:.6rem}
.fc a{font-size:.84rem;color:rgba(255,255,255,.42);transition:color var(--t);display:flex;align-items:center;gap:.4rem}
.fc a::before{content:'\203a';color:var(--orange);font-size:.9rem}
.fc a:hover{color:#fff}
.fci{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;color:rgba(255,255,255,.4);margin-bottom:.75rem}
.fci svg{width:15px;height:15px;color:var(--orange);flex-shrink:0;margin-top:.15rem}
.foot-bot{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding-block:1.5rem;text-align:center}
.f-copy{font-size:.78rem;color:rgba(255,255,255,.3)}
.f-copy a{color:var(--orange)}
.f-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}
.f-legal a{font-size:.78rem;color:rgba(255,255,255,.3);transition:color var(--t)}
.f-legal a:hover{color:rgba(255,255,255,.7)}

/* ============================================================
   GENERIC PAGES (page.php / 404 / search)
   ============================================================ */
.generic-page{margin-top:68px;padding-block:3rem 5rem}
.generic-page .entry-header{margin-bottom:2rem}
.generic-page .entry-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--navy);font-weight:900;line-height:1.15}
.generic-page .entry-content{background:#fff;border:1px solid var(--border);border-radius:var(--r16);padding:2rem;box-shadow:var(--shadow-sm);font-size:.95rem;line-height:1.8}
.generic-page .entry-content p{margin-bottom:1rem}
.generic-page .entry-content h2,.generic-page .entry-content h3{font-family:'Playfair Display',serif;color:var(--navy);margin:1.5rem 0 .75rem}
.generic-page .entry-featured-image{margin-bottom:1.5rem;border-radius:var(--r16);overflow:hidden}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(min-width:640px){
  .s-fields{flex-direction:row}
  .s-field{border-bottom:none;border-right:1px solid var(--border)}
  .s-field:last-child{border-right:none}
  .s-btn-wrap{padding:.75rem;flex-shrink:0}
  .s-btn-wrap .btn{width:auto}
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .listings-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid{grid-template-columns:repeat(3,1fr)}
  .stats-row{grid-template-columns:repeat(4,1fr)}
  .foot-top{grid-template-columns:repeat(2,1fr)}
  .foot-bot{flex-direction:row;justify-content:space-between;text-align:left}
  .services-grid{grid-template-columns:repeat(3,1fr)}
  .photos-grid{grid-template-columns:repeat(3,1fr)}
  .bih-meta{flex-direction:row;flex-wrap:wrap;gap:.75rem 2rem}
}
@media (max-width: 768px){
    .page-layout-full .cat-page-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 680px){
    .page-layout-full .cat-page-grid{grid-template-columns:1fr;}
}
@media (max-width: 400px){.cat-group-title:display:block;}
@media(min-width:768px){
  .alpha-nav{display:flex}

  .gallery-slider{height:520px}
  .detail-layout{grid-template-columns:1fr 310px}
  .detail-sidebar{position:sticky;top:88px;align-self:start}
}
@media(min-width:1024px){
  .main-nav{display:flex}
  .hdr-cta{display:flex}
  .ham{display:none}
  .search-box{display:flex;align-items:center}
  .s-fields{flex:1;flex-direction:row;align-self:stretch;display:flex}
  .s-field{border-bottom:none;border-right:1px solid var(--border);align-items:center}
  .s-field:last-child{border-right:none}
  .s-btn-wrap{padding:.75rem;flex-shrink:0;display:flex;align-items:center}
  .cat-grid{grid-template-columns:repeat(4,1fr)}
  .listings-grid{grid-template-columns:repeat(3,1fr)}
  .foot-top{grid-template-columns:2fr 1fr 1fr 1.3fr}
  .page-layout{grid-template-columns:280px 1fr}
  .page-layout-full .cat-page-grid{grid-template-columns:repeat(3,1fr); display:grid;}
  .services-grid{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:1280px){
  .cat-page-grid{grid-template-columns:repeat(2,1fr)}
}

::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}




/* ============================================================
   SERVICES PAGE
   ============================================================ */

/* Services rows */
.svc-section{padding-block:5rem}
.svc-row{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;margin-bottom:5rem}
.svc-row:last-child{margin-bottom:0}
.svc-img-wrap{position:relative}
.svc-img-placeholder{aspect-ratio:4/3;border-radius:var(--r16);background:linear-gradient(135deg,var(--navy) 0%,#1a3a6e 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;box-shadow:0 24px 64px rgba(18,50,92,.18);overflow:hidden;position:relative}
.svc-img-placeholder::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(244,98,42,.18) 0%,transparent 60%)}
.svc-img-icon{width:80px;height:80px;background:rgba(244,98,42,.15);border:1px solid rgba(244,98,42,.3);border-radius:var(--r16);display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.svc-img-icon svg{width:40px;height:40px;stroke:#F4A158}
.svc-img-num{font-family:'Playfair Display',serif;font-size:5rem;font-weight:900;color:rgba(255,255,255,.06);line-height:1;position:absolute;bottom:.5rem;right:1.25rem;pointer-events:none}
.svc-icon{width:52px;height:52px;background:var(--orange-lt);border-radius:var(--r12);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;flex-shrink:0}
.svc-icon svg{width:26px;height:26px;stroke:var(--orange)}
.svc-title{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,2.5vw,1.9rem);color:var(--navy);margin-bottom:.85rem;line-height:1.2}
.svc-desc{color:var(--muted);line-height:1.75;margin-bottom:1.5rem;font-size:.95rem}
.svc-bullets{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.svc-bullets li{display:flex;align-items:center;gap:.75rem;font-size:.92rem;color:var(--text);font-weight:500}
.svc-check{width:22px;height:22px;background:var(--orange);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 10px rgba(244,98,42,.35)}
.svc-check svg{width:11px;height:11px;stroke:#fff}

/* Services — Category listing */
.svc-cats-section{padding-block:5rem;background:var(--bg)}
.svc-cat-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.svc-cat-item{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--r12);padding:.85rem 1.1rem;text-decoration:none;box-shadow:var(--shadow-sm);transition:all var(--t)}
.svc-cat-item:hover{border-color:var(--orange);box-shadow:var(--shadow-md);transform:translateX(4px)}
.svc-cat-thumb{width:52px;height:52px;border-radius:var(--r8);overflow:hidden;flex-shrink:0;background-color:var(--bg);background-size:cover;background-position:center}
.svc-cat-thumb img{width:100%;height:100%;object-fit:cover}
.svc-cat-info{flex:1;min-width:0}
.svc-cat-name{display:block;font-weight:600;font-size:.92rem;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.svc-cat-count{display:block;font-size:.75rem;color:var(--muted);margin-top:.1rem}
.svc-cat-arr{width:16px;height:16px;stroke:var(--muted);flex-shrink:0;transition:stroke var(--t)}
.svc-cat-item:hover .svc-cat-arr{stroke:var(--orange)}
@media(min-width:900px){.svc-cat-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1200px){.svc-cat-grid{grid-template-columns:repeat(3,1fr)}}

/* Why Choose Us */
.why-section{padding-block:5rem;background:var(--bg)}
.why-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
.why-card{background:#fff;border:1px solid var(--border);border-radius:var(--r16);padding:2rem 1.75rem;box-shadow:var(--shadow-sm);transition:all var(--t)}
.why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:rgba(244,98,42,.25)}
.why-icon{width:52px;height:52px;background:var(--orange-lt);border-radius:var(--r12);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.why-icon svg{width:24px;height:24px;stroke:var(--orange)}
.why-title{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--navy);margin-bottom:.5rem;font-weight:700}
.why-desc{font-size:.88rem;color:var(--muted);line-height:1.65}

/* FAQ */
.faq-section{padding-block:5rem}
.faq-inner{display:grid;grid-template-columns:1fr;gap:3rem;align-items:start}
.faq-head .sec-sub{max-width:340px}
.faq-list{display:flex;flex-direction:column;gap:.75rem}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--r12);overflow:hidden;box-shadow:var(--shadow-sm);transition:border-color var(--t)}
.faq-item:has(.faq-q[aria-expanded="true"]){border-color:var(--orange)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.5rem;background:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:600;color:var(--navy);text-align:left;transition:color var(--t)}
.faq-q:hover{color:var(--orange)}
.faq-q[aria-expanded="true"]{color:var(--orange)}
.faq-arr{width:18px;height:18px;flex-shrink:0;transition:transform var(--t)}
.faq-q[aria-expanded="true"] .faq-arr{transform:rotate(180deg)}
.faq-a{padding:0 1.5rem 1.25rem}
.faq-a p{font-size:.9rem;color:var(--muted);line-height:1.75;margin:0}

@media(min-width:640px){
  .why-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:900px){
  .svc-row{grid-template-columns:1fr 1fr}
  .svc-row--rev .svc-img-wrap{order:2}
  .svc-row--rev .svc-content{order:1}
  .why-grid{grid-template-columns:repeat(3,1fr)}
  .faq-inner{grid-template-columns:300px 1fr}
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.contact-section{padding-block:3rem 5rem}
.contact-layout{display:flex;flex-direction:column ;gap:3rem;align-items:center}

/* Info column */
.ci-title{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,2.5vw,2rem);color:var(--navy);line-height:1.2;margin-bottom:.6rem}
.ci-desc{color:var(--muted);font-size:.92rem;line-height:1.75;margin-bottom:2rem}
.ci-cards{display:flex;flex-direction:column;gap:1rem}
.ci-card{display:flex;align-items:flex-start;gap:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--r12);padding:1.1rem 1.25rem;box-shadow:var(--shadow-sm)}
.ci-icon{width:44px;height:44px;background:var(--orange-lt);border-radius:var(--r8);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ci-icon svg{width:20px;height:20px;stroke:var(--orange)}
.ci-card-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}
.ci-card-val{font-size:.92rem;color:var(--navy);font-weight:500;line-height:1.5}
.ci-link{color:var(--orange);transition:color var(--t)}
.ci-link:hover{color:var(--orange-dk)}

/* Form card */
.contact-form-wrap{background:#fff;border:1px solid var(--border);border-radius:var(--r16);padding:2rem 1.75rem;box-shadow:var(--shadow-md);width:100%;max-width:800px}
.cf-title{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--navy);margin-bottom:.4rem}
.cf-desc{color:var(--muted);font-size:.88rem;margin-bottom:1.75rem}
.cf-head{margin-bottom:1.75rem}
.cf-row{display:grid;grid-template-columns:1fr;gap:1rem}
.cf-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.cf-group label{font-size:.82rem;font-weight:600;color:var(--navy)}
.cf-req{color:var(--orange)}
.cf-group input,.cf-group textarea{width:100%;border:1.5px solid var(--border);border-radius:var(--r8);padding:.7rem 1rem;font-size:.92rem;color:var(--text);background:#fff;transition:border-color var(--t);outline:none;resize:vertical}
.cf-group input:focus,.cf-group textarea:focus{border-color:var(--orange)}
.cf-group input::placeholder,.cf-group textarea::placeholder{color:var(--muted)}

/* Success / error states */
.cf-success{display:flex;align-items:flex-start;gap:1rem;background:#ECFDF5;border:1px solid #6EE7B7;border-radius:var(--r12);padding:1.25rem 1.5rem;color:#065F46}
.cf-success svg{width:24px;height:24px;stroke:#059669;flex-shrink:0;margin-top:.1rem}
.cf-success strong{display:block;font-size:.95rem;margin-bottom:.2rem}
.cf-success p{font-size:.88rem;margin:0;opacity:.85}
.cf-error{background:#FEF2F2;border:1px solid #FECACA;border-radius:var(--r8);padding:.85rem 1.1rem;color:#991B1B;font-size:.88rem;margin-bottom:1.25rem}

@media(min-width:560px){
  .cf-row{grid-template-columns:1fr 1fr}
}
@media(min-width:900px){
  .contact-layout{grid-template-columns:1fr 1.4fr}
  .contact-section{padding-block:4rem 6rem}
}

/* ============================================================
   SITEMAP PAGE
   ============================================================ */
.sitemap-section{padding-block:3rem 5rem}

/* Alpha index */
.sm-alpha{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:2.5rem;background:#fff;border:1px solid var(--border);border-radius:var(--r12);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}
.sm-alpha-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--r8);font-weight:700;font-size:.82rem;color:var(--navy);background:var(--bg);transition:all var(--t);text-decoration:none}
.sm-alpha-btn:hover{background:var(--orange);color:#fff}

/* Layout */
.sitemap-layout{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}

/* Shared block styles */
.sm-block{background:#fff;border:1px solid var(--border);border-radius:var(--r16);padding:1.75rem;box-shadow:var(--shadow-sm)}
.sm-block-head,.sm-cats-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.sm-block-icon{width:44px;height:44px;background:var(--orange-lt);border-radius:var(--r8);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sm-block-icon svg{width:20px;height:20px;stroke:var(--orange)}
.sm-block-title{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--navy);font-weight:700;line-height:1.1}
.sm-block-count{display:block;font-size:.75rem;color:var(--muted);font-weight:500;margin-top:.15rem}
.sm-view-all{margin-left:auto;font-size:.82rem;font-weight:600;color:var(--orange);transition:gap var(--t)}
.sm-view-all:hover{text-decoration:underline}

/* Pages list */
.sm-list{display:flex;flex-direction:column;gap:.3rem}
.sm-list li a{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:var(--r8);font-size:.9rem;color:var(--text);font-weight:500;transition:all var(--t)}
.sm-list li a:hover{background:var(--orange-lt);color:var(--orange)}
.sm-list li a svg{width:14px;height:14px;flex-shrink:0;stroke:var(--muted);transition:stroke var(--t)}
.sm-list li a:hover svg{stroke:var(--orange)}

/* Category groups */
.sm-cats-wrap{display:flex;flex-direction:column;gap:1.5rem}
.sm-cats-header{background:#fff;border:1px solid var(--border);border-radius:var(--r16);padding:1.25rem 1.75rem;box-shadow:var(--shadow-sm)}
.sm-group{background:#fff;border:1px solid var(--border);border-radius:var(--r12);overflow:hidden;box-shadow:var(--shadow-sm)}
.sm-group-letter{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--orange),var(--orange-dk));padding:.6rem 1.25rem;letter-spacing:.04em}
.sm-cat-list{display:grid;grid-template-columns:1fr;padding:.5rem}
.sm-cat-list li a{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-radius:var(--r8);font-size:.88rem;color:var(--text);font-weight:500;transition:all var(--t)}
.sm-cat-list li a:hover{background:var(--orange-lt);color:var(--orange)}
.sm-cat-list li a svg{width:13px;height:13px;flex-shrink:0;stroke:var(--muted);transition:stroke var(--t)}
.sm-cat-list li a:hover svg{stroke:var(--orange)}
.sm-cat-name{flex:1}
.sm-cat-count{font-size:.72rem;font-weight:600;color:var(--muted);background:var(--bg);border-radius:999px;padding:.1rem .5rem}
.sm-cat-list li a:hover .sm-cat-count{background:var(--orange);color:#fff}

@media(min-width:560px){
  .sm-cat-list{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:900px){
  .sitemap-layout{grid-template-columns:260px 1fr}
  .sm-block{position:sticky;top:88px}
  .sm-cat-list{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1100px){
  .sm-cat-list{grid-template-columns:repeat(3,1fr)}
}
