/*
Theme Name: CANILO
Theme URI: https://canilo.vn
Author: MinhDigi
Description: Giao diện thời trang CANILO. Quản lý sản phẩm, danh mục, menu và nội dung trong trang quản trị WordPress. Nút MUA NGAY dẫn sang Zalo.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: canilo
*/
:root{
  --ink:#18181A;
  --bg:#fff;
  --alt:#F3F4F6;
  --muted:#707070;
  --accent:#B51F29;
  --line:#e5e7eb;
  --tile:#dbdad6;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Montserrat',system-ui,sans-serif;font-size:14px;background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
ul{list-style:none}
img,svg{display:block}
button{font-family:inherit}

/* campaign */
.campaign{background:#000;color:#fff;text-align:center;font-size:13px;padding:7.5px 12px}

/* header */
.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #eee}
.header-in{max-width:1320px;margin:0 auto;height:64px;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.hl{display:flex;align-items:center;gap:14px}
.logo{font-family:'EB Garamond','Times New Roman',serif;font-weight:700;font-size:28px;letter-spacing:.08em;white-space:nowrap}
.burger,.mob-search{display:none}
.nav{display:flex;height:64px}
.nav>li{display:flex;align-items:center}
.nav>li>a{height:64px;display:flex;align-items:center;padding:0 20px;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.nav>li:hover>a{color:var(--accent)}
.nav>li.rel{position:relative}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #eee;border-bottom:1px solid #eee;box-shadow:0 12px 24px rgba(0,0,0,.06);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s}
.nav>li:hover .mega{opacity:1;visibility:visible;transform:none}
.mega-in{max-width:1320px;margin:0 auto;padding:28px 24px 36px;display:grid;grid-template-columns:repeat(6,1fr);gap:28px}
.mega h5{font-size:13px;font-weight:600;text-transform:uppercase;margin-bottom:12px}
.mega li{margin:7px 0;font-size:13.5px;color:var(--muted)}
.mega li a:hover{color:var(--accent)}
.mega.small{left:0;right:auto;width:230px;border:1px solid #eee}
.mega.small .mega-in{grid-template-columns:1fr;padding:18px 22px}
.icons{display:flex;justify-content:flex-end;align-items:center;gap:16px}
.icons svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.search{display:flex;align-items:center;gap:6px;width:150px;height:32px;padding:0 10px;background:var(--alt);border-radius:16px}
.search svg{width:18px;height:18px}
.search input{flex:1;min-width:0;border:0;background:transparent;outline:0;font:inherit;font-size:13px}
.bag{position:relative}
.bag i{position:absolute;left:0;right:0;top:9px;text-align:center;font-style:normal;font-size:10px;line-height:1;font-weight:500}

/* drawer */
.drawer{position:fixed;inset:0;z-index:100;display:none}
.drawer.open{display:block}
.drawer-bg{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.drawer-box{position:absolute;left:0;top:0;bottom:0;width:86%;max-width:360px;background:#fff;overflow:auto;padding:56px 18px 28px}
.drawer-x{position:absolute;top:8px;right:14px;border:0;background:none;font-size:34px;line-height:1;cursor:pointer}
.drawer details{border-bottom:1px solid var(--line)}
.drawer summary{list-style:none;cursor:pointer;padding:15px 0;font-size:15px;font-weight:600;text-transform:uppercase;display:flex;justify-content:space-between}
.drawer summary::-webkit-details-marker,.fsec summary::-webkit-details-marker{display:none}
.drawer summary::after,.fsec summary::after{content:"";width:8px;height:8px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg);margin:5px 4px 0 0;transition:.2s}
.drawer details[open]>summary::after,.fsec[open]>summary::after{transform:rotate(-135deg);margin-top:8px}
.dg{padding:0 0 12px}
.dg b{display:block;font-size:13px;margin:10px 0 2px}
.dg a{display:block;padding:7px 0;font-size:14px;color:var(--muted)}
.dsale{display:block;padding:15px 0;font-size:15px;font-weight:600;text-transform:uppercase;color:var(--accent)}

/* home blocks */
.blocks{max-width:1250px;margin:0 auto;padding:32px 24px 0}
.block{display:grid;grid-template-columns:1.78fr 1fr;align-items:center;margin-bottom:32px}
.block.rev{grid-template-columns:1fr 1.78fr}
.block.rev .pic{order:2}
.pic{display:block;aspect-ratio:798/538;overflow:hidden;background:var(--tile)}
.pic img{width:100%;height:100%;object-fit:cover}
.txt{text-align:center;padding:24px}
.txt h2{font-size:24px;font-weight:400;text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px}
.more{font-size:13px}
.more:hover{color:var(--accent)}

/* shared sections */
.section{max-width:1320px;margin:0 auto;padding:28px 24px 64px}
.crumb{font-size:12.5px;color:var(--muted);margin-bottom:18px}
.crumb a:hover{color:var(--accent)}
.cat-title{font-size:28px;font-weight:400;text-transform:uppercase;margin-bottom:26px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card .im{position:relative;aspect-ratio:3/4;background:var(--tile);margin-bottom:12px;overflow:hidden}
.card .im img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .im img{transform:scale(1.04)}
.card h4{font-size:14px;font-weight:500}
.card .pr{font-size:14px;font-weight:600;margin-top:4px}
.tag{position:absolute;top:10px;left:10px;background:var(--accent);color:#fff;font-size:11px;padding:3px 9px;letter-spacing:.06em;z-index:1}

/* product page */
.pd{padding-top:24px}
.pd-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}
.pd-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pd-gallery .tile{aspect-ratio:3/4;overflow:hidden;background:var(--tile)}
.pd-gallery img{width:100%;height:100%;object-fit:cover}
.pd-gallery img.flip{transform:scaleX(-1)}
.pd-gallery img.zoom1{transform:scale(1.7);transform-origin:50% 28%}
.pd-gallery img.zoom2{transform:scale(1.7) scaleX(-1);transform-origin:50% 72%}
.pd-info{position:sticky;top:96px}
.pd-info h1{font-size:26px;font-weight:400;margin-bottom:14px}
.pd-price{font-size:19px;font-weight:600;margin-bottom:10px}
.pd-code{font-size:13px;margin-bottom:28px}
.pd-opt{margin-bottom:22px}
.pd-label{font-size:14px;margin-bottom:10px}
.swatch{display:inline-block;width:26px;height:26px;border-radius:50%;border:3px solid #fff;outline:1px solid var(--ink)}
.sizes{display:flex;gap:8px;flex-wrap:wrap}
.size{min-width:46px;height:42px;padding:0 12px;border:1px solid var(--line);background:#fff;font-size:13px;cursor:pointer}
.size.on,.size:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.pd-qty{display:flex;align-items:center;gap:14px;margin:26px 0}
.pd-qty .pd-label{margin:0}
.pd-qty button{width:30px;height:30px;border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--ink)}
.pd-qty input{width:64px;height:42px;border:0;background:var(--alt);text-align:center;font:inherit;font-size:14px}
.pd-buy{display:block;text-align:center;padding:17px 24px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;letter-spacing:.12em;margin-bottom:28px;transition:.2s}
.pd-buy:hover{background:var(--accent)}
.acc{background:var(--alt);margin-bottom:8px}
.acc summary{list-style:none;cursor:pointer;padding:18px;font-size:15px;font-weight:600;display:flex;justify-content:space-between}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:18px;font-weight:400}
.acc[open] summary::after{content:"\2212"}
.acc div{padding:0 18px 18px;font-size:14px;color:var(--muted)}

/* footer */
.footer{border-top:1px solid #eee;margin-top:24px}
.footer-in{max-width:1320px;margin:0 auto;padding:48px 24px 28px;display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.fleft{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.fnews,.fcontact{min-width:0}
.fnews,.fcontact{background:#e9eaed;border-radius:4px;padding:24px 24px 28px}
.fnews h4{font-size:20px;font-weight:600;line-height:1.3;margin-bottom:8px}
.fnews p{font-size:14px;margin-bottom:22px}
.fnews .frow{display:flex;gap:8px}
.fnews .frow input{flex:1 1 auto;width:auto;min-width:0;margin-bottom:0}
.fnews .frow button{flex:none;width:140px;height:52px}
.fnews input{display:block;width:100%;height:52px;padding:0 16px;border:1px solid var(--ink);border-radius:8px;background:#fff;font:inherit;font-size:15px;letter-spacing:.02em;outline:0;margin-bottom:10px}
.fnews input::placeholder{color:#777;text-transform:uppercase}
.fnews input:focus{border-color:var(--accent)}
.fnews button{color:var(--ink);-webkit-text-fill-color:var(--ink);display:block;width:100%;height:40px;border:1px solid var(--ink);border-radius:999px;background:transparent;font:inherit;font-size:12px;letter-spacing:.08em;cursor:pointer;transition:.2s}
@media(hover:hover){.fnews button:hover{background:var(--ink);color:#fff}}
.fnews-msg{font-size:13px;margin-top:10px;min-height:0}
.fnews-msg.ok{color:#1c7c3a}
.fnews-msg.err{color:var(--accent)}
.fcontact h4{font-size:20px;font-weight:600;margin-bottom:18px}
.fcontact p{font-size:14px;margin:12px 0}
.fcols{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;align-content:start;margin-top:56px}
.fsec summary{list-style:none;font-size:14px;font-weight:600;margin-bottom:12px;pointer-events:none}
.fsec summary::after{display:none}
.fsec li{margin:8px 0;font-size:13.5px;color:var(--muted)}
.fsec li a:hover{color:var(--accent)}
.fbrand{display:flex;justify-content:space-between;align-items:center;font-family:'EB Garamond','Times New Roman',serif;font-weight:700;font-size:clamp(56px,11.5vw,168px);line-height:1;margin:48px 0 28px}
.copy{font-size:13px}
.social{display:flex;gap:14px;align-items:center}
.social svg{width:22px;height:22px;fill:var(--ink)}
.social svg.ln{fill:none;stroke:var(--ink);stroke-width:1.8}
.bottombar{display:none}

/* mobile */
@media(max-width:900px){
  body{padding-bottom:58px;font-size:15px}
  .header-in{height:56px;padding:0 14px;grid-template-columns:1fr 1fr}
  .nav,.search,.hide-m{display:none}
  .burger,.mob-search{display:flex;width:30px;height:30px;align-items:center;justify-content:center;background:none;border:0;cursor:pointer}
  .burger svg{width:26px;height:20px;fill:var(--ink)}
  .mob-search svg{width:24px;height:24px;stroke:var(--ink);fill:none;stroke-width:1.5}
  .logo{position:absolute;left:50%;transform:translateX(-50%);font-size:21px}
  .blocks{padding:28px 14px 0}
  .block,.block.rev{grid-template-columns:1fr;margin-bottom:36px}
  .block.rev .pic{order:0}
  .txt{padding:30px 0 4px}
  .txt h2{font-size:32px;margin-bottom:16px}
  .more{font-size:16px}
  .section{padding:20px 14px 48px}
  .cat-title{font-size:24px}
  .grid{grid-template-columns:repeat(2,1fr);gap:14px 12px}
  .pd-wrap{grid-template-columns:1fr;gap:24px}
  .pd-gallery{gap:8px}
  .pd-info{position:static}
  .footer-in{padding:14px 14px 24px}
  .fleft{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:6px}
  .fnews .frow{display:block}
  .fnews .frow input{width:100%;height:64px;margin-bottom:10px}
  .fnews .frow button{width:100%;height:40px}
  .fcols{display:block;margin-top:0}
  .fsec{border-bottom:1px solid #cfd0d4}
  .fsec summary{pointer-events:auto;display:flex;justify-content:space-between;align-items:center;padding:17px 0;margin:0;font-size:15px;cursor:pointer}
  .fsec summary::after{display:block}
  .fsec ul{padding-bottom:12px}
  .fbrand{font-size:17.5vw;margin:34px 0 20px}
  .copy{font-size:14px}
  .bottombar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;height:58px;background:#fff;border-top:1px solid #ddd;justify-content:space-around;align-items:center}
  .bottombar a{display:flex;align-items:center;justify-content:center;width:25%;height:100%}
  .bottombar svg{width:24px;height:24px;stroke:#555;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .bottombar b{font-size:10px;font-weight:700;color:#555;border:1.5px solid #555;border-radius:6px;padding:1px 4px}
}

.logo{display:inline-flex;align-items:center;line-height:0}.logo img{height:26px;width:auto;display:block}
.fbrand{display:block;line-height:0}.fbrand img{width:100%;height:auto;display:block}
@media(max-width:900px){.logo img{height:22px}}

.logo img{height:22px}.fbrand img{width:72%}
@media(max-width:900px){.logo img{height:17px}.fbrand img{width:56%}.fbrand{margin:32px 0 20px}}

.fbrand img{margin-left:auto;margin-right:auto}

.auth{max-width:560px;margin:0 auto;padding:72px 16px 96px;text-align:center}
.auth h1{font-weight:400;font-size:34px;margin:0 0 56px;letter-spacing:.01em}
.auth input{display:block;width:100%;box-sizing:border-box;border:0;border-bottom:2px solid #b5b5b5;border-radius:0 0 6px 6px;background:#fff;padding:14px 10px;margin:0 0 18px;font:300 18px Montserrat,sans-serif;color:#18181A;outline:0;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.auth input::placeholder{color:#aaa}.auth input:focus{border-bottom-color:#18181A}
.auth-btn,.auth-reg{display:inline-block;margin:18px 0 8px;color:#8a5a4a;font-weight:700;font-size:18px;text-decoration:underline;letter-spacing:.02em}
.auth-link{display:block;margin:16px 0 0;color:#18181A;font-size:18px;text-decoration:underline}
.auth-msg{margin:10px 0 0;font-size:14px;min-height:20px}.auth-msg.ok{color:#2e7d32}.auth-msg.err{color:#B51F29}
.auth-or{text-align:left;margin:56px 0 18px;font-size:16px}
.auth-soc{display:flex;gap:6px;margin:0 0 56px}.auth-soc a{width:70px;height:70px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:34px;line-height:1}
.auth-soc .fb{background:#3b5998;font-family:Georgia,serif}.auth-soc .gg{background:#dd4b39;font-size:30px}
.auth-reg{margin-top:0;font-weight:400;color:#8a5a4a}
@media(max-width:900px){.auth{padding:48px 14px 64px}.auth h1{font-size:30px;margin-bottom:44px}.auth input{font-size:16px}}

/* category pages (landing style) */
.cats{padding-bottom:40px}
.chero{width:100%;aspect-ratio:1920/640;overflow:hidden;background:var(--tile)}.chero img{width:100%;height:100%;object-fit:cover;display:block}
.csec{padding:56px 0 8px}.cwrap{max-width:1250px;margin:0 auto;padding:0 24px}
.ctitle{font-size:24px;font-weight:600;text-transform:uppercase;margin:0 0 22px;letter-spacing:.01em}
.ctitle.big{margin:8px 0 28px}
.crow{display:flex;flex-direction:row-reverse;gap:16px;align-items:stretch}
.cban{position:relative;flex:0 0 calc((100% - 48px)/4);max-width:calc((100% - 48px)/4);aspect-ratio:288/580;overflow:hidden;display:block;background:var(--tile)}
.cban img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.more-pill{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #fff;border-radius:999px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.06em;padding:12px 30px;white-space:nowrap}
.rail-wrap{position:relative;flex:1 1 0;min-width:0}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}
.pcard,.pcard.x{flex:0 0 calc((100% - 32px)/3);min-width:0;scroll-snap-align:start;position:relative}
.pcard .im{display:block;aspect-ratio:288/426;background:var(--tile);overflow:hidden}
.pcard .im img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.pcard:hover .im img{transform:scale(1.04)}
.heart{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.heart svg{width:22px;height:22px;fill:none;stroke:#18181A;stroke-width:1.6}.heart.on svg{fill:#B51F29;stroke:#B51F29}
.pinfo{padding:18px 14px 6px}
.brandtag{display:inline-block;background:#f1f1f1;font-size:12px;padding:3px 8px;border-radius:3px;margin-bottom:10px}
.pn{display:block;font-size:14px;margin-bottom:6px;line-height:1.4}
.pp{font-size:15px;font-weight:700;margin-bottom:10px}
.sw{display:flex;gap:6px}.sw i{width:18px;height:18px;border-radius:50%;border:1px solid #d6d6d6;display:block}
.rbtn{position:absolute;top:calc(50% - 90px);width:32px;height:32px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 15px rgba(0,0,0,.12);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;padding:0}
.rbtn svg{width:12px;height:12px;fill:none;stroke:#052C4A;stroke-width:2.4}.rbtn.prev{left:16px}.rbtn.next{right:16px}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 16px}.pgrid .pcard{flex:none}
@media(max-width:900px){
 .csec{padding:34px 0 0}.cwrap{padding:0 14px}.ctitle{font-size:20px}
 .crow{flex-direction:column}
 .cban{flex:none;max-width:100%;width:100%;aspect-ratio:1200/400}
 .pcard{flex:0 0 calc((100% - 12px)/2)}.rail{gap:12px}.rbtn{display:none}
 .pgrid{grid-template-columns:repeat(2,1fr);gap:20px 12px}
 .chero{aspect-ratio:4/3}
}

/* mobile menu like original */
.drawer-bg{background:rgba(0,0,0,.4)}
.drawer-box{width:80%;max-width:420px;padding:0;overflow:hidden;display:flex;flex-direction:column}
.mm-top{display:flex;align-items:center;gap:14px;padding:0 18px;height:66px;border-bottom:1px solid #d9d9d9;flex:none}
.mm-top a svg{width:28px;height:28px;fill:none;stroke:#18181A;stroke-width:1.5;display:block}
.mm-x{margin-left:auto;border:0;background:none;padding:0;cursor:pointer;line-height:0}.mm-x svg{width:30px;height:30px;fill:none;stroke:#18181A;stroke-width:1.6}
.mm-panels{position:relative;flex:1;min-height:0}
.mm-panel{position:absolute;inset:0;overflow:auto;padding:6px 22px 90px;background:#fff;display:none;flex-direction:column}
.mm-panel.on{display:flex}
.mm-item{display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;border:0;border-bottom:1.5px solid #18181A;background:none;padding:22px 0 20px;font:400 15px Montserrat,sans-serif;text-transform:uppercase;color:#18181A;text-align:left;cursor:pointer;margin-top:12px}
.mm-item svg{width:20px;height:20px;fill:none;stroke:#18181A;stroke-width:1.6}
.mm-back{display:flex;align-items:center;gap:8px;border:0;background:none;padding:18px 0 10px;font:600 15px Montserrat,sans-serif;text-transform:uppercase;color:#18181A;cursor:pointer}
.mm-back svg{width:20px;height:20px;fill:none;stroke:#18181A;stroke-width:1.8}
.mm-foot{position:absolute;left:22px;right:22px;bottom:20px;display:flex;flex-direction:column;gap:14px}
.mm-foot a{display:flex;justify-content:space-between;align-items:center;font-size:14px;text-transform:uppercase}
.mm-foot svg{width:22px;height:22px;fill:none;stroke:#18181A;stroke-width:1.5}
/* leaf category */
.leaf .cwrap{padding-top:34px}
.ctools{display:flex;justify-content:space-between;align-items:center;margin:0 0 56px}
.tb{display:flex;align-items:center;gap:14px;border:0;background:none;font:400 16px Montserrat,sans-serif;color:#18181A;cursor:pointer;padding:6px 0}
.tb svg{width:22px;height:22px;fill:none;stroke:#18181A;stroke-width:1.4}
.sortbox{position:relative}
.sortlist{display:none;position:absolute;right:0;top:100%;z-index:20;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.15);min-width:200px;list-style:none;margin:0;padding:8px 0}
.sortlist.open{display:block}.sortlist li{padding:11px 18px;font-size:14px;cursor:pointer;white-space:nowrap}.sortlist li:hover{background:#f3f3f3}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 16px}
.pgrid .pcard .im{aspect-ratio:3/4}
.pgrid .pcard .pn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.heart{background:rgba(239,239,239,.9);border-radius:50%;top:8px;right:8px}
.cwrap{max-width:1220px}
/* filter drawer */
.fdr{position:fixed;inset:0;z-index:110;display:none}.fdr.open{display:block}
.fdr-bg{position:absolute;inset:0;background:rgba(0,0,0,.4)}
.fdr-box{position:absolute;left:0;top:0;bottom:0;width:360px;max-width:88%;background:#fff;overflow:auto;padding:22px 24px 90px}
.fdr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:16px}
.fdr-head button{border:0;background:none;font-size:30px;line-height:1;cursor:pointer}
.fgroup{border-top:1px solid #e5e5e5;padding:16px 0}.fgroup h5{font-size:14px;font-weight:600;margin:0 0 12px;text-transform:uppercase}
.fgroup label{display:block;font-size:14px;padding:6px 0}.fgroup input{margin-right:8px}
.fc{width:26px;height:26px;border-radius:50%;border:1px solid #d0d0d0;cursor:pointer;padding:0}.fc.on{outline:2px solid #18181A;outline-offset:2px}
.fsizes{display:flex;flex-wrap:wrap;gap:8px}.fz{min-width:44px;height:36px;border:1px solid #d0d0d0;background:#fff;cursor:pointer;font:400 13px Montserrat,sans-serif}.fz.on{background:#18181A;color:#fff;border-color:#18181A}
.fdr-foot{position:absolute;left:0;right:0;bottom:0;display:flex;gap:10px;padding:14px 24px;background:#fff;border-top:1px solid #e5e5e5}
.fdr-foot button{flex:1;height:44px;border-radius:999px;border:1px solid #18181A;background:#18181A;color:#fff;font:600 12px Montserrat,sans-serif;letter-spacing:.1em;cursor:pointer}.fdr-foot .ghost{background:#fff;color:#18181A}
/* product page */
.pdx{padding:0 0 70px}.pdx .crumb{margin:0;padding:34px 0 0;font-size:12px}
.pdx .pd-wrap{grid-template-columns:610fr 540fr;gap:70px;margin-top:0;align-items:start}
.pd-gal{position:relative;background:var(--tile)}
.pd-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.pd-slider::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;aspect-ratio:3/4;overflow:hidden;scroll-snap-align:start;background:var(--tile)}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.slide img.flip{transform:scaleX(-1)}.slide img.zoom1{transform:scale(1.7);transform-origin:50% 28%}.slide img.zoom2{transform:scale(1.7) scaleX(-1);transform-origin:50% 72%}
.pd-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px}
.dot{width:7px;height:7px;border-radius:50%;border:0;background:#b9b9b9;padding:0;cursor:pointer}.dot.on{background:#2a7bd6}
.pdx .pd-info{position:static;padding-top:30px}
.pdx .pd-info h1{font-size:20px;font-weight:400;margin-bottom:16px}
.pdx .pd-price{font-size:15px;font-weight:700;margin-bottom:10px}
.pdx .pd-code{font-size:12px;margin-bottom:26px}
.pdx .pd-label{font-size:13px;margin-bottom:12px}
.pd-sw{display:flex;gap:10px}.sc{width:20px;height:20px;border-radius:50%;border:1px solid #d0d0d0;padding:0;cursor:pointer}.sc.on{outline:1px solid #18181A;outline-offset:3px}
.pdx .size{min-width:38px;height:30px;padding:0 10px;font-size:12px;border-radius:3px;border-color:#18181A}
.pdx .pd-qty{margin:22px 0}.pdx .pd-qty input{width:46px;height:32px;background:#fff;border:0;border-bottom:1px solid #d0d0d0}
.pdx .pd-actions{margin-bottom:12px}.pdx .pd-buy{display:inline-block;min-width:262px;padding:14px 24px;margin:0;font-size:12px}
.pd-guide{display:block;font-size:12px;text-decoration:underline;color:#707070;margin:0 0 28px}
.pdx .acc{border-radius:4px}.pdx .acc summary{padding:16px 18px;font-size:13px;font-weight:600}
.rel-sec{padding-top:70px}.rel-sec .ctitle{margin-bottom:26px}
.rel-sec .pcard{flex:0 0 calc((100% - 48px)/4)}.rel-sec .pcard .im{aspect-ratio:3/4}.rel-sec .rbtn{top:calc(50% - 110px)}
.gmodal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center}.gmodal.open{display:flex}
.gmodal-bg{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.gmodal-box{position:relative;background:#fff;width:min(560px,92%);padding:30px 26px;max-height:88vh;overflow:auto}
.gmodal-box h3{font-size:16px;margin:0 0 18px}.gmodal-box table{width:100%;border-collapse:collapse;font-size:13px}.gmodal-box th,.gmodal-box td{border:1px solid #e0e0e0;padding:9px 8px;text-align:center}.gmodal-box p{font-size:12px;color:#707070;margin:14px 0 0}
.gmodal-x{position:absolute;top:8px;right:14px;border:0;background:none;font-size:28px;cursor:pointer}
@media(max-width:900px){
 .pgrid{grid-template-columns:repeat(2,1fr);gap:28px 10px}.ctools{margin-bottom:28px}.leaf .cwrap{padding-top:20px}
 .pdx .pd-wrap{grid-template-columns:1fr;gap:0}.pdx .pd-info{padding-top:20px}
 .pdx .crumb{padding:16px 0 12px}.rel-sec{padding-top:44px}.rel-sec .pcard{flex:0 0 calc((100% - 12px)/2)}
 .pdx .pd-buy{display:block;min-width:0}
}

/* bigger filter panel like original */
.fdr-box{width:min(520px,92%);padding:0;display:flex;flex-direction:column;overflow:hidden}
.fdr-head{display:flex;justify-content:center;align-items:center;position:relative;height:64px;margin:0;border-bottom:1px solid #e0e0e0;font-size:17px;font-weight:500;letter-spacing:.04em;flex:none}
.fdr-clear{position:absolute;right:20px;top:50%;transform:translateY(-50%);border:0;background:none;font:400 13px Montserrat,sans-serif;text-decoration:underline;color:#707070;cursor:pointer}
.fdr-body{flex:1;overflow:auto;padding:6px 6px 16px}
.fgroup{background:#f3f3f3;border-radius:8px;margin:6px 0;padding:22px 22px 18px;border-top:0}
.fg-h{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:none;padding:0;cursor:pointer;font:600 16px Montserrat,sans-serif;text-transform:uppercase;color:#18181A}
.fg-t{font-weight:300;font-size:22px;color:#707070;line-height:1}
.fg-line{display:block;width:40px;height:2px;background:#cfcfcf;margin:14px 0 20px}
.fg-b{max-height:340px;overflow:auto}.fgroup.shut .fg-b{display:none}.fgroup.shut .fg-line{margin-bottom:0}.fgroup.shut .fg-t{transform:none}
.fck{display:flex;align-items:center;gap:14px;font-size:16px;padding:9px 0;cursor:pointer;color:#18181A}
.fck input{appearance:none;-webkit-appearance:none;width:22px;height:22px;border:1.5px solid #b5b5b5;border-radius:3px;background:#fff;margin:0;flex:none;cursor:pointer;position:relative}
.fck input:checked{background:#18181A;border-color:#18181A}
.fck input:checked::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fck em{width:20px;height:20px;border-radius:3px;border:1px solid #d6d6d6;flex:none}
.fz-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px 6px}.fz-grid .fck{gap:10px}
.fdr-close{flex:none;height:62px;border:0;background:#18181A;color:#fff;font:500 16px Montserrat,sans-serif;letter-spacing:.06em;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.fdr-close svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.6}
@media(max-width:900px){.fdr-box{width:90%}.fgroup{padding:20px 18px 16px}.fz-grid{grid-template-columns:repeat(4,1fr)}}

.fgroup .fck{display:flex;align-items:center;gap:14px;font-size:16px;padding:9px 0}
.fgroup .fck input{margin:0}
.fdr-head .fdr-clear{font-size:13px;line-height:1.2;position:absolute}
.fg-b{max-height:460px}
.fz-grid .fck{gap:8px;font-size:15px}

.more-pill{border-color:#18181A;color:#18181A;background:rgba(255,255,255,.35)}

/* product page desktop: 2x2 gallery like original */
@media(min-width:1000px){
 .pdx .cwrap{max-width:1420px}
 .pdx .pd-wrap{grid-template-columns:minmax(0,710px) minmax(0,1fr);gap:70px}
 .pd-gal{background:none}
 .pd-slider{display:grid;grid-template-columns:1fr 1fr;gap:16px;overflow:visible}
 .slide{flex:none;aspect-ratio:3/4}
 .pd-dots{display:none}
 .pdx .pd-info{padding-top:0}
 .pdx .pd-info h1{font-size:26px;margin:2px 0 22px}
 .pdx .pd-price{font-size:17px;margin-bottom:12px}
 .pdx .pd-code{font-size:13px;margin-bottom:38px}
 .pdx .pd-label{font-size:16px;margin-bottom:16px}
 .sc{width:24px;height:24px}.sc.on{outline-offset:3px}
 .pd-sw{gap:12px;margin-bottom:6px}
 .pdx .pd-opt{margin-bottom:30px}
 .pdx .size{min-width:48px;height:34px;font-size:14px}
 .pdx .pd-qty{margin:40px 0 36px}.pdx .pd-qty input{width:64px;height:40px;background:#f3f4f6;border:0}
 .pdx .pd-buy{min-width:0;width:312px;padding:0;height:52px;line-height:52px;font-size:14px;letter-spacing:.1em}
 .pd-guide{font-size:14px;margin:16px 0 44px}
 .pdx .acc{margin-bottom:8px;border-radius:2px}.pdx .acc summary{padding:18px 18px;font-size:16px}
}

/* ===== measured from original (desktop) ===== */
@media(min-width:901px){
 .campaign{height:38px;line-height:38px;padding:0 12px;font-size:12px}
 .header{border-bottom-color:#eceef1}
 .header-in{max-width:1680px;padding:0 60px;height:64px}
 .logo img{height:30px}
 .nav>li>a{padding:0 24px;font-size:14px;letter-spacing:0}
 .icons{gap:8px}
 .icons>a{width:32px;height:32px;display:flex;align-items:center;justify-content:center}
 .icons svg{width:24px;height:24px}
 .search{width:174px;margin-right:8px}.search svg{width:24px;height:24px}
 .bag i{top:12px}
 .mega-in{max-width:1680px;padding:28px 60px 36px}
 .blocks{max-width:1680px;padding:40px 60px 0}
 .block{grid-template-columns:64fr 36fr;margin-bottom:40px}.block.rev{grid-template-columns:36fr 64fr}
 .pic{aspect-ratio:1000/674}
 .txt h2{font-size:32px}.more{font-size:14px}
 .footer{border-top:0;margin-top:0}
 .footer-in{max-width:1680px;padding:0 60px 28px}
 .fcols{margin-top:80px;gap:16px}
 .fsec li{margin:12px 0;font-size:14px;color:var(--ink)}
 .copy{font-size:14px}
}

/* ===== measured: category / landing / product (desktop) ===== */
@media(min-width:1100px){
 .cwrap{max-width:none;width:min(1420px,calc(100% - 205px));padding:0}
 .pdx .cwrap{max-width:none}
}
@media(min-width:901px){
 .fnews,.fcontact{min-height:202px}
 .chero{aspect-ratio:1905/926}
 .cats{padding-bottom:0}
 .csec{padding:80px 0 0}
 .ctitle{font-size:24px;font-weight:600;margin:0 0 24px;line-height:29px}
 .ctitle.big{margin:0}
 .more-pill{height:40px;line-height:38px;padding:0 24px;font-size:12px;font-weight:500;letter-spacing:1px}
 .crow .pcard .im{aspect-ratio:343/543}
 .pgrid .pcard .im{aspect-ratio:2/3}
 .pcard .pinfo{padding:16px}
 .brandtag{display:block;width:fit-content;height:26px;line-height:26px;padding:0 8px;margin:0;font-size:12px}
 .pcard .pn{padding:8px 0;line-height:21px;margin:0;font-size:14px}
 .pcard .pp{height:24px;line-height:24px;margin:0 0 8px;font-size:15px}
 .sw i{width:22px;height:22px}
 .heart{top:16px;right:16px;width:32px;height:32px;background:#e9eaeb}
 .heart svg{width:18px;height:18px}
 .leaf .cwrap{padding-top:51px}.ctools{margin-bottom:51px}
 .pdx .crumb{height:48px;padding:0;margin:0;display:flex;align-items:center;font-size:14px}
 .pdx .pd-info h1{font-size:24px;font-weight:500;line-height:29px;margin:0 0 16px}
 .pdx .pd-price{font-size:17px;line-height:27px;margin:0 0 10px}
 .pdx .pd-code{font-size:14px;line-height:21px;margin:0 0 46px}
 .pdx .pd-label{font-size:14px;height:24px;line-height:24px;margin:0 0 16px}
 .pdx .pd-opt{margin:0 0 40px}
 .sc{width:26px;height:26px}.pd-sw{gap:10px;margin:0}
 .pdx .size{min-width:48px;height:34px;font-size:14px}.pdx .sizes{gap:8px}
 .pdx .pd-qty{height:40px;margin:0 0 40px}.pdx .pd-qty .pd-label{margin:0;height:auto}
 .pdx .pd-actions{margin:0 0 16px}
 .pdx .pd-buy{width:312px;min-width:0;height:52px;line-height:52px;padding:0;font-size:14px;font-weight:500;letter-spacing:.06em}
 .pd-guide{font-size:14px;font-weight:500;margin:0 0 40px}
 .pdx .acc{margin:0 0 8px;border-radius:4px}.pdx .acc summary{height:56px;padding:0 20px;align-items:center;font-size:14px}
 .rel-sec{padding-top:80px}
}
@media(min-width:901px) and (max-width:1499px){
 .pdx .pd-wrap{grid-template-columns:610fr 540fr;gap:70px}
 .pd-gal{background:var(--tile)}
 .pd-slider{display:flex;overflow-x:auto;gap:0}.slide{flex:0 0 100%}.pd-dots{display:flex}
}
@media(min-width:1500px){
 .pdx .pd-wrap{grid-template-columns:710px 640px;gap:70px}
}

@media(min-width:901px){.tb{padding:0;height:24px}.rel-sec .ctitle{margin-bottom:53px}}

/* ===== mobile measured from original (390px) ===== */
@media(max-width:900px){
 .campaign{display:none}
 body{padding-bottom:45px}
 .header-in{height:64px;padding:0 10px}
 .hl{gap:8px}
 .burger,.mob-search{width:32px;height:32px}
 .burger svg{width:20px;height:14px}.mob-search svg{width:24px;height:24px}
 .logo img{height:19px}
 .bag{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.bag svg{width:20px;height:20px}.bag i{top:15px;font-size:9px}
 .bottombar{height:45px}
 .blocks{padding:40px 10px 0}
 .block,.block.rev{margin-bottom:40px}
 .pic{aspect-ratio:370/207}.block:first-child .pic{aspect-ratio:370/249}
 .txt{padding:40px 0 0}.txt h2{font-size:32px;line-height:38px;margin-bottom:17px}.more{font-size:14px}
 .footer-in{padding:0 10px 20px}.fleft{gap:15px}.fcols{margin-top:16px}
 .fsec summary{padding:14px 0}
 /* category landing */
 .cwrap{padding:0 10px}
 .chero{aspect-ratio:390/245}
 .csec{padding:40px 0 0}
 /* leaf category */
 .leaf .cwrap{padding:19px 10px 0}.ctools{height:24px;margin:0 0 19px}
 .pgrid{grid-template-columns:1fr 1fr;gap:8px}
 .pgrid .pcard .im{aspect-ratio:2/3}
 .pcard .pinfo{padding:8px}
 .brandtag{display:block;width:fit-content;height:23px;line-height:23px;padding:0 8px;margin:0}
 .pcard .pn{padding:0;line-height:28px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .pcard .pp{height:15px;line-height:15px;margin:0 0 8px;font-size:14px}
 .sw i{width:18px;height:18px}
 .heart{top:16px;right:16px;width:32px;height:32px;background:#e9eaeb}
 /* product */
 .pdx .cwrap{padding:0 10px}
 .pdx .crumb{height:45px;display:flex;align-items:center;padding:0;margin:0;font-size:14px}
 .pd-gal{background:none}.slide{aspect-ratio:3/4}
 .pd-dots{bottom:10px}
 .pdx .pd-info{padding-top:40px}
 .pdx .pd-info h1{font-size:24px;font-weight:500;line-height:29px;margin:0 0 16px}
 .pdx .pd-price{font-size:17px;line-height:27px;margin:0 0 10px}
 .pdx .pd-code{font-size:14px;line-height:21px;margin:0 0 22px}
 .pdx .pd-label{font-size:14px;height:24px;line-height:24px;margin:0 0 16px}
 .pdx .pd-opt{margin:0 0 16px}
 .sc{width:26px;height:26px}.pdx .size{min-width:48px;height:34px;font-size:14px}
 .pdx .pd-qty{height:40px;margin:0 0 16px}.pdx .pd-qty .pd-label{margin:0;height:auto}
 .pdx .pd-actions{margin:0 0 16px}
 .pdx .pd-buy{display:block;width:177px;min-width:0;height:42px;line-height:42px;padding:0;font-size:12px;font-weight:500}
 .pd-guide{font-size:14px;font-weight:500;margin:0 0 11px}
 .pdx .acc{margin:0 0 13px}.pdx .acc summary{height:45px;padding:0 16px;align-items:center;font-size:14px}
 .rel-sec{padding-top:40px}
}

@media(max-width:900px){
 .fnews,.fcontact{padding:24px 24px 24px}
 .fnews{height:236px;min-height:0}.fcontact{height:244px;min-height:0}
 .fnews h4{font-size:16px;margin-bottom:6px}.fnews p{font-size:14px;margin-bottom:14px;line-height:1.4}
 .fnews input{height:40px;margin-bottom:8px}.fnews .frow button{height:40px}
 .fcontact h4{font-size:16px;margin-bottom:10px}.fcontact p{margin:8px 0}
}

.tb{padding:0;height:24px}
@media(max-width:900px){.rel-sec{padding-top:47px}.rel-sec .ctitle{margin-bottom:24px}}

@media(max-width:900px){
 .chero{aspect-ratio:1905/926}
 .ctitle{line-height:29px;margin:0 0 23px}
 .crow{gap:17px}
 .rail{gap:8px}.crow .pcard{flex:0 0 155px}.crow .pcard .im{aspect-ratio:2/3}
 .more-pill{height:30px;line-height:28px;padding:0 24px;font-size:12px}
}

.slide img.zoom3{transform:scale(1.5);transform-origin:18% 62%}
.mega.small{width:230px}
.nav>li.rel>.mega.small{left:0}

/* ===== WordPress: bổ sung ===== */
.admin-bar .header{top:32px}
@media(max-width:782px){.admin-bar .header{top:46px}}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}
.search input[type=search]{-webkit-appearance:none;appearance:none}
.search input[type=search]::-webkit-search-cancel-button{display:none}
.pcard .pp .pp-old{color:#999;font-weight:400;margin-left:6px;font-size:13px}
.pcard .pp .pp-now{color:#B51F29}
.pp-ask{font-weight:400}
.empty-note{padding:40px 0;color:#707070;font-size:15px}
button.auth-btn{border:0;background:none;cursor:pointer;font-family:inherit}
.auth-hello{margin:0 0 24px;font-size:17px}
.auth .auth-link,.auth .auth-reg{display:block;margin-top:16px}
.pager{margin:48px 0 0;display:flex;justify-content:center}
.pager ul{display:flex;gap:6px;list-style:none;padding:0;margin:0}
.pager .page-numbers{display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid #e5e7eb;border-radius:3px;font-size:14px}
.pager .current{background:#18181A;color:#fff;border-color:#18181A}
.entry-wrap{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:48px 0 72px}
.entry-title{font-size:30px;font-weight:600;margin:0 0 20px;line-height:1.3}
.post-meta{font-size:13px;color:#707070;margin-bottom:18px}
.entry-thumb img{width:100%;height:auto;margin-bottom:24px}
.entry-content{font-size:16px;line-height:1.8}
.entry-content p{margin:0 0 1.1em}
.entry-content h2,.entry-content h3{margin:1.6em 0 .6em;line-height:1.35}
.entry-content ul,.entry-content ol{margin:0 0 1.2em 1.4em}
.entry-content ul{list-style:disc}.entry-content ol{list-style:decimal}
.entry-content img{max-width:100%;height:auto}
.entry-content a{text-decoration:underline}
.post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}
.post-item .post-thumb img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#dbdad6}
.post-item h2{font-size:18px;font-weight:600;margin:14px 0 6px;line-height:1.4}
.post-item p{font-size:14px;color:#555;margin:0 0 10px}
@media(max-width:900px){.post-list{grid-template-columns:1fr}.entry-title{font-size:24px}.entry-wrap{padding:28px 0 48px}}
