/* Theme-owned shell. All selectors are shell-scoped so Builder BODY remains isolated. */
.oliv-site{min-height:100vh;overflow-x:hidden;background:var(--paper,#fff);color:var(--ink,#111);font-family:"Plus Jakarta One", "Plus Jakarta Sans", Arial, sans-serif}.oliv-site a{color:inherit;text-decoration:none}.oliv-site-header{height:88px;padding:0 var(--pad,clamp(24px,4vw,64px));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line,#d9d9d4);position:relative;z-index:30;background:var(--paper,#fff)}.oliv-site-header .brand{font-size:25px;font-weight:700;letter-spacing:-.06em}.oliv-site-header .top-nav{display:flex;gap:28px;align-items:center}.oliv-site-header>.pill{justify-self:end}.oliv-site-header .pill{display:inline-flex;align-items:center;justify-content:center;background:var(--ink,#111);color:#fff;border:1px solid var(--ink,#111);border-radius:999px;padding:12px 18px;font:600 12px/1 Manrope;cursor:pointer}.oliv-site-header .pill-outline{background:transparent;color:var(--ink,#111)}.oliv-site-header .menu-btn,.oliv-site>.oliv-mobile-nav{display:none}.oliv-site-footer{max-width:var(--max,1320px);margin:0 auto;padding:84px var(--pad,clamp(24px,4vw,64px)) 40px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px}.oliv-site-footer .footer-mark{font-size:72px;letter-spacing:-.07em;font-weight:700}.oliv-site-footer h4{font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin:0 0 18px}.oliv-site-footer>div:not(.footer-mark):not(.footer-bottom){display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:12px}.oliv-site-footer .footer-bottom{grid-column:1/-1;border-top:1px solid var(--line,#d9d9d4);padding-top:24px;display:flex;justify-content:space-between;color:var(--muted,#696969);font-size:11px}
@media(max-width:1000px){.oliv-site-header{grid-template-columns:1fr auto}.oliv-site-header .oliv-desktop-nav,.oliv-site-header>.oliv-header-cta{display:none}.oliv-site-header .menu-btn{display:block;border:0;background:transparent;font:600 12px "Plus Jakarta Sans"}.oliv-site>.oliv-mobile-nav{position:absolute;z-index:29;top:88px;left:0;right:0;background:var(--paper,#fff);border-bottom:1px solid var(--line,#d9d9d4);padding:20px var(--pad,clamp(24px,4vw,64px));flex-direction:column;gap:14px}.oliv-site>.oliv-mobile-nav.open{display:flex}}
@media(max-width:720px){.oliv-site-header{height:70px}.oliv-site>.oliv-mobile-nav{top:70px}.oliv-site-footer{grid-template-columns:1fr 1fr;padding-top:60px}.oliv-site-footer .footer-mark{grid-column:1/-1}.oliv-site-footer .footer-bottom{flex-direction:column;gap:10px}}
/* Theme-owned shell/runtime only. Builder BODY remains owned by Oliv Page Builder. */
.oliv-site{min-height:100vh}.oliv-site-header .brand img,.oliv-site-header .oliv-brand-logo{display:block;width:auto!important;height:auto!important;max-width:180px;max-height:52px;object-fit:contain;aspect-ratio:auto}.oliv-site-header .custom-logo-link{display:block}.oliv-site-header .custom-logo{width:auto!important;height:auto!important;max-width:180px;max-height:52px;object-fit:contain;aspect-ratio:auto}.oliv-site-header .top-nav>ul,.oliv-primary-menu,.oliv-mobile-menu,.oliv-footer-menu,.oliv-menu-fallback{list-style:none;margin:0;padding:0}.oliv-primary-menu{display:flex;gap:28px;align-items:center}.oliv-primary-menu>li{position:relative}.oliv-primary-menu>li>a{display:flex;flex-direction:column;font-size:13px}.oliv-primary-menu>li>a small{font-size:9px;color:var(--muted)}.oliv-primary-menu .sub-menu{display:none;position:absolute;top:calc(100% + 20px);left:-20px;min-width:220px;background:var(--paper);border:1px solid var(--line);padding:12px;list-style:none;z-index:40}.oliv-primary-menu li:hover>.sub-menu,.oliv-primary-menu li:focus-within>.sub-menu,.oliv-primary-menu li.is-open>.sub-menu{display:grid}.oliv-primary-menu .sub-menu a{display:block;padding:9px 10px;font-size:12px}.oliv-primary-menu>li.mega-menu>.sub-menu{width:min(780px,80vw);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.oliv-primary-menu>li.mega-columns-2>.sub-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.oliv-primary-menu>li.mega-columns-4>.sub-menu{grid-template-columns:repeat(4,minmax(0,1fr))}.oliv-primary-menu>li.mega-columns-5>.sub-menu{grid-template-columns:repeat(5,minmax(0,1fr))}.oliv-primary-menu>li.mega-columns-6>.sub-menu{grid-template-columns:repeat(6,minmax(0,1fr))}.oliv-submenu-toggle{display:none}.oliv-footer-menu{display:flex;flex-direction:column;gap:9px}.oliv-footer-menu li{margin:0}.oliv-mobile-nav .oliv-menu-fallback{display:flex;flex-direction:column;gap:14px}.oliv-main-builder-full{width:100%;max-width:none;margin:0;padding:0}.oliv-main-builder-inside>.red-builder-output{max-width:var(--max);margin:0 auto}.oliv-builder-page .oliv-breadcrumbs,.oliv-builder-page .oliv-page-title{display:none!important}.oliv-breadcrumbs{max-width:var(--max);margin:0 auto;padding:20px var(--pad);font-size:11px;display:flex;gap:10px;color:var(--muted)}.oliv-single-layout.has-sidebar{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,760px) 280px;gap:60px}.oliv-single-layout.has-sidebar .rich{margin:0}.oliv-sidebar{border-left:1px solid var(--line);padding-left:28px}.oliv-widget{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--line)}.oliv-widget-title{font-size:18px}.oliv-project-content{padding-bottom:110px}.oliv-theme-cta{clear:both}body:not(.oliv-builder-page) .navigation.pagination{max-width:var(--max);margin:42px auto 0}body:not(.oliv-builder-page) .nav-links{display:flex;gap:8px}body:not(.oliv-builder-page) .page-numbers{display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;font-size:12px}body:not(.oliv-builder-page) .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
/* WooCommerce */
.woocommerce .woocommerce-breadcrumb,.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{display:none}.woocommerce ul.products{max-width:var(--max);margin:0 auto!important;padding:110px var(--pad)!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 18px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important}.woocommerce ul.products li.product a img{aspect-ratio:1/1;object-fit:cover;margin:0 0 14px!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:18px!important;padding:0!important}.woocommerce ul.products li.product .price{font-size:13px!important;color:var(--ink)!important}.woocommerce ul.products li.product .button{display:none}.single-product div.product{max-width:var(--max);margin:0 auto;padding:110px var(--pad);display:grid;grid-template-columns:1.25fr .75fr;gap:70px}.single-product div.product .woocommerce-product-gallery,.single-product div.product .summary{float:none!important;width:auto!important}.single-product div.product .summary{position:sticky;top:30px;align-self:start}.single-product div.product .product_title{font-size:62px;line-height:.98;letter-spacing:-.065em;font-weight:500}.single-product div.product .price{font-size:14px!important;color:var(--ink)!important}.single-product .quantity .qty{border:1px solid var(--line);border-radius:999px;padding:12px;width:72px}.single_add_to_cart_button{border-radius:999px!important;background:var(--ink)!important;padding:14px 20px!important}.woocommerce-tabs,.related.products{grid-column:1/-1}.related.products>h2{font-size:42px;font-weight:500}.related.products ul.products{padding:30px 0!important}
@media(max-width:1000px){.oliv-primary-menu{gap:16px}.oliv-single-layout.has-sidebar{grid-template-columns:1fr}.oliv-sidebar{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.single-product div.product{grid-template-columns:1fr}.single-product div.product .summary{position:static}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.oliv-primary-menu{display:none}.oliv-mobile-nav .oliv-mobile-menu{display:flex;flex-direction:column;gap:4px}.oliv-mobile-menu li{position:relative}.oliv-mobile-menu a{display:block;padding:8px 0}.oliv-mobile-menu .sub-menu{display:none;list-style:none;padding:0 0 0 16px}.oliv-mobile-menu li.is-open>.sub-menu{display:block}.oliv-mobile-menu .oliv-submenu-toggle{display:block;position:absolute;right:0;top:2px;border:0;background:transparent;font-size:22px}.woocommerce ul.products{grid-template-columns:1fr}.single-product div.product .product_title{font-size:48px}}
.oliv-site-footer .oliv-inline-menu{list-style:none;margin:0;padding:0;display:inline-flex;gap:14px}.oliv-site-footer .oliv-footer-social{display:inline-block;margin-left:16px}
.oliv-mobile-menu{display:flex;flex-direction:column;gap:4px}.oliv-mobile-menu li{position:relative}.oliv-mobile-menu a{display:block;padding:8px 0}.oliv-mobile-menu .sub-menu{display:none;list-style:none;margin:0;padding:0 0 0 16px}.oliv-mobile-menu li.is-open>.sub-menu{display:block}.oliv-mobile-menu .oliv-submenu-toggle{display:block;position:absolute;right:0;top:2px;border:0;background:transparent;font-size:22px}.single-product form.cart{display:flex;gap:10px;align-items:center;margin:30px 0}

/* v1.1 header hardening: keep desktop navigation horizontal and readable. */
.oliv-site-header{
    display:flex;
    grid-template-columns:none;
    align-items:center;
    gap:24px;
}
.oliv-site-header .brand{
    flex:0 0 auto;
    white-space:nowrap;
}
.oliv-site-header .top-nav{
    display:flex;
    flex:1 1 auto;
    min-width:0;
    align-items:center;
    justify-content:center;
    margin:0 12px;
}
.oliv-site-header .top-nav>ul,
.oliv-site-header .oliv-primary-menu{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:center;
    gap:28px;
    width:auto;
    max-width:100%;
    margin:0;
    padding:0;
}
.oliv-site-header .oliv-primary-menu>li{
    display:block;
    flex:0 0 auto;
    margin:0;
    padding:0;
}
.oliv-site-header .oliv-primary-menu>li>a{
    display:flex;
    align-items:center;
    min-height:44px;
    font-size:16px;
    font-weight:600;
    line-height:1.2;
    letter-spacing:-.015em;
    white-space:nowrap;
}
.oliv-site-header .oliv-primary-menu>li>a small{
    margin-top:2px;
    font-size:10px;
    line-height:1.2;
}
.oliv-site-header>.oliv-header-cta{
    flex:0 0 auto;
    margin-left:auto;
    white-space:nowrap;
}
.oliv-site-header .oliv-menu-btn{
    margin-left:auto;
    font-size:15px;
    font-weight:600;
}
.oliv-site>.oliv-mobile-nav .oliv-mobile-menu,
.oliv-site>.oliv-mobile-nav .oliv-menu-fallback{
    width:100%;
}
.oliv-site>.oliv-mobile-nav .oliv-mobile-menu>li>a,
.oliv-site>.oliv-mobile-nav .oliv-menu-fallback>li>a{
    font-size:18px;
    font-weight:600;
    line-height:1.25;
    padding:12px 0;
}
@media(max-width:1180px) and (min-width:1001px){
    .oliv-site-header{gap:16px}
    .oliv-site-header .top-nav{margin:0 4px}
    .oliv-site-header .oliv-primary-menu{gap:18px}
    .oliv-site-header .oliv-primary-menu>li>a{font-size:15px}
    .oliv-site-header .pill{padding-left:14px;padding-right:14px}
}
@media(max-width:1000px){
    .oliv-site-header .oliv-desktop-nav,
    .oliv-site-header>.oliv-header-cta{display:none}
    .oliv-site-header .oliv-menu-btn{display:block}
}

/* Designer.com.vn brand typography — /fontmacdinh */
.oliv-site , .oliv-site button, .oliv-site input, .oliv-site select, .oliv-site textarea, .oliv-site h1, .oliv-site h2, .oliv-site h3, .oliv-site h4, .oliv-site h5, .oliv-site h6{font-family: "Plus Jakarta One", "Plus Jakarta Sans", Arial, sans-serif !important;}

/* Designer.com.vn visual branding, no structural/layout changes. */
.design-menu-svg{display:inline-block;vertical-align:-2px;margin-right:7px;flex:0 0 16px}
.oliv-primary-menu>li>a,.oliv-mobile-menu>li>a{display:inline-flex;align-items:center}
.oliv-site-header .brand{font-weight:700;letter-spacing:-.045em}
.oliv-site-header .brand span{color:#9d7335}
.oliv-site .pill:not(.pill-outline){color:#fff;background:#9d7335;border-color:#9d7335}
.oliv-site .pill:not(.pill-outline):hover{color:#fff;background:#67441c;border-color:#67441c}
.oliv-site .pill-outline:hover{background:#30251a;color:#fff;border-color:#30251a}

/* Menu Designer.com.vn 3 cấp: nhóm danh mục là hàng ngang, submenu cấp 3 cố định trong từng cột. */
@media(min-width:1001px){
.oliv-primary-menu>li.mega-menu{position:static}
.oliv-primary-menu>li.mega-menu>.sub-menu{left:50%;transform:translateX(-50%);top:calc(100% - 1px);width:min(980px,calc(100vw - 48px));padding:22px;gap:14px}
.oliv-primary-menu>li.mega-menu>.sub-menu>li>a{font-weight:700;color:var(--ink);border-bottom:1px solid var(--line);padding:10px 8px}
.oliv-primary-menu>li.mega-menu>.sub-menu>li>.sub-menu{display:block;position:static;min-width:0;width:100%;border:0;padding:0;background:transparent}
.oliv-primary-menu>li.mega-menu>.sub-menu>li>.sub-menu a{padding:7px 8px;font-weight:400;color:var(--muted)}
.oliv-primary-menu>li.mega-menu>.sub-menu>li>.sub-menu a:hover{color:#9d7335}
}
@media(max-width:1000px){
.oliv-mobile-nav .oliv-submenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);background:var(--paper);margin-left:auto}
.oliv-mobile-nav li{position:relative;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between}
.oliv-mobile-nav li>.sub-menu{display:none;position:static;flex:0 0 100%;padding:8px 8px 8px 18px;list-style:none;border-left:1px solid var(--line)}
.oliv-mobile-nav li.is-open>.sub-menu{display:flex;flex-direction:column;gap:7px}
.oliv-mobile-nav .design-menu-svg{width:16px}
.oliv-mobile-nav a{font-size:16px;padding:5px 0}
}

.oliv-primary-menu>li>a,.oliv-mobile-menu>li>a{flex-direction:row}

/* Designer.com.vn v3.0.2 — native archive, sidebar and semantic breadcrumbs.
   These rules are scoped to the theme's own templates, never to the Builder canvas. */
.oliv-site .oliv-breadcrumbs{max-width:var(--max,1250px);margin:0 auto;padding:20px var(--pad,24px);display:block;width:100%;color:var(--muted,#746a60);font-size:12px;line-height:1.6}
.oliv-site .oliv-breadcrumb-list{display:flex;align-items:center;gap:9px;flex-wrap:wrap;list-style:none;padding:0;margin:0}
.oliv-site .oliv-breadcrumb-node{min-width:0;max-width:100%}
.oliv-site .oliv-breadcrumb-node a{color:var(--muted,#746a60);transition:color .2s}
.oliv-site .oliv-breadcrumb-node a:hover{color:var(--oliv-accent,#9d7335);text-decoration:underline;text-underline-offset:3px}
.oliv-site .oliv-breadcrumb-node [aria-current="page"]{color:var(--ink,#30251a);font-weight:600;overflow-wrap:anywhere}
.oliv-site .oliv-breadcrumb-separator{color:var(--muted);opacity:.5;user-select:none}
.oliv-site .oliv-archive-page{width:100%;padding-bottom:88px}
.oliv-site .oliv-archive-heading{max-width:var(--max,1250px);padding:28px var(--pad,24px) 33px;margin:0 auto}
.oliv-site .oliv-archive-eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--oliv-accent,#9d7335)}
.oliv-site .oliv-archive-heading h1{font-size:clamp(32px,4.2vw,52px);line-height:1.14;letter-spacing:-.045em;font-weight:600;margin:9px 0 0;overflow-wrap:anywhere}
.oliv-site .oliv-archive-description{max-width:760px;color:var(--muted,#746a60);font-size:15px;line-height:1.85;margin-top:13px}
.oliv-site .oliv-archive-description p{margin:0 0 10px}
.oliv-site .oliv-archive-layout{max-width:var(--max,1250px);padding:0 var(--pad,24px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:34px}
.oliv-site .oliv-archive-main{min-width:0}
.oliv-site .oliv-archive-main-top{border-top:1px solid var(--line,#e4d9c9);border-bottom:1px solid var(--line,#e4d9c9);padding:17px 0;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.oliv-site .oliv-archive-main-top h2{font-size:18px;font-weight:600;letter-spacing:-.025em;line-height:1.35;margin:0}
.oliv-site .oliv-archive-main-top>span{color:var(--muted,#746a60);font-size:12px;white-space:nowrap}
.oliv-site .oliv-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.oliv-site .oliv-archive-card{min-width:0;display:flex;align-items:flex-start;gap:13px;padding:13px;background:var(--paper,#fff);border:1px solid var(--line,#e4d9c9);border-radius:12px;transition:border-color .2s,box-shadow .2s,transform .2s;margin:0}
.oliv-site .oliv-archive-card:hover{border-color:var(--oliv-accent,#9d7335);box-shadow:0 5px 20px rgba(50,35,18,.06);transform:translateY(-1px)}
.oliv-site .oliv-archive-card-image{display:block;position:relative;flex:0 0 35%;width:35%;aspect-ratio:1/1;overflow:hidden;border-radius:8px;background:var(--soft,#f8f2e9)}
.oliv-site .oliv-archive-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.oliv-site .oliv-archive-card-placeholder{height:100%;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:15px;font-weight:700;letter-spacing:-.07em;color:var(--muted,#746a60);opacity:.65;line-height:1.2}
.oliv-site .oliv-archive-card-placeholder span{font-size:9px;letter-spacing:.05em;font-weight:500}
.oliv-site .oliv-archive-card-content{display:flex;flex-direction:column;align-items:flex-start;min-width:0;flex:1;align-self:stretch;padding:2px 0}
.oliv-site .oliv-archive-card-category{color:var(--oliv-accent,#9d7335);font-size:10px;font-weight:700;letter-spacing:.025em;line-height:1.4}
.oliv-site .oliv-archive-card-category:hover{text-decoration:underline}
.oliv-site .oliv-archive-card-title{font-size:15px!important;font-weight:600!important;line-height:1.45;letter-spacing:-.025em;margin:6px 0 7px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.oliv-site .oliv-archive-card-title a:hover{color:var(--oliv-accent,#9d7335)}
.oliv-site .oliv-archive-card-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--muted,#746a60);font-size:11px;line-height:1.6;margin:0 0 12px}
.oliv-site .oliv-archive-card-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:10px;color:var(--muted,#746a60);line-height:1.4;margin-top:auto}
.oliv-site .oliv-archive-empty{border:1px solid var(--line);border-radius:12px;padding:42px 24px;color:var(--muted);text-align:center}
.oliv-site .oliv-archive-empty h2{font-size:23px;margin:0 0 10px}
.oliv-site .oliv-design-archive-sidebar{min-width:0;display:grid;gap:24px;position:relative}
.oliv-site .oliv-archive-sidebar-block{background:var(--paper,#fff);border:1px solid var(--line,#e4d9c9);border-radius:12px;padding:21px 19px}
.oliv-site .oliv-archive-sidebar-block>h2{font-size:18px;font-weight:600;letter-spacing:-.025em;margin:0 0 15px;padding:0 0 13px;border-bottom:1px solid var(--line,#e4d9c9)}
.oliv-site .oliv-archive-category-list,.oliv-site .oliv-sidebar-post-list{list-style:none;margin:0;padding:0}
.oliv-site .oliv-archive-category-list{display:grid;gap:1px}
.oliv-site .oliv-archive-category-list li{min-width:0;margin:0}
.oliv-site .oliv-archive-category-list li>a{padding:9px 8px 9px calc(8px + 12px * var(--oliv-cat-depth,0));display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:7px;color:var(--ink,#30251a);font-size:12px;line-height:1.45;transition:background .15s,color .15s}
.oliv-site .oliv-archive-category-list li>a:hover,.oliv-site .oliv-archive-category-list li.is-current>a{background:var(--soft,#f8f2e9);color:var(--oliv-accent,#9d7335)}
.oliv-site .oliv-archive-cat-count{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:27px;border-radius:20px;color:var(--muted,#746a60);background:var(--soft,#f8f2e9);font-size:10px;padding:3px 7px}
.oliv-site .oliv-sidebar-post-list{display:grid;gap:0}
.oliv-site .oliv-sidebar-post{display:grid;grid-template-columns:66px minmax(0,1fr);gap:10px;align-items:start;padding:12px 0;margin:0;border-bottom:1px solid var(--line,#e4d9c9)}
.oliv-site .oliv-sidebar-post:first-child{padding-top:0}
.oliv-site .oliv-sidebar-post:last-child{padding-bottom:0;border-bottom:0}
.oliv-site .oliv-sidebar-post-image{display:block;width:66px;aspect-ratio:1/1;border-radius:7px;background:var(--soft,#f8f2e9);overflow:hidden}
.oliv-site .oliv-sidebar-post-image img{display:block;width:100%;height:100%;object-fit:cover}
.oliv-site .oliv-sidebar-thumb-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:27px;font-weight:600;color:var(--muted);opacity:.45}
.oliv-site .oliv-sidebar-post-title{font-size:12px;font-weight:600;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.oliv-site .oliv-sidebar-post-title:hover{color:var(--oliv-accent,#9d7335)}
.oliv-site .oliv-sidebar-post time{color:var(--muted,#746a60);font-size:10px;display:block;margin-top:5px}
.oliv-site .oliv-sidebar-empty{font-size:12px;color:var(--muted,#746a60);margin:0;padding:8px 0}
.oliv-site .oliv-archive-widget-area .oliv-widget{border:1px solid var(--line);border-radius:12px;padding:20px;margin:0 0 22px}
.oliv-site .oliv-archive-page .navigation.pagination{margin:32px 0 0;max-width:none}
.oliv-site .oliv-archive-page .navigation.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.oliv-site .oliv-archive-page .page-numbers{border-radius:8px;min-width:36px;height:36px;padding:0 10px;font-size:12px}
.oliv-site .oliv-archive-page .page-numbers:not(.current):hover{border-color:var(--oliv-accent,#9d7335);color:var(--oliv-accent,#9d7335)}
@media(max-width:1100px){
  .oliv-site .oliv-archive-layout{grid-template-columns:minmax(0,1fr) 245px;gap:22px}
  .oliv-site .oliv-archive-card{gap:11px;padding:10px}
  .oliv-site .oliv-archive-card-image{flex-basis:34%;width:34%}
  .oliv-site .oliv-archive-card-title{font-size:14px!important}
  .oliv-site .oliv-archive-card-excerpt{display:none}
}
@media(max-width:850px){
  .oliv-site .oliv-archive-layout{grid-template-columns:minmax(0,1fr)}
  .oliv-site .oliv-design-archive-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .oliv-site .oliv-archive-category-block{grid-row:span 2}
}
@media(max-width:600px){
  .oliv-site .oliv-archive-heading{padding-top:18px;padding-bottom:25px}
  .oliv-site .oliv-breadcrumbs{padding-top:13px;padding-bottom:13px;font-size:11px}
  .oliv-site .oliv-archive-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .oliv-site .oliv-archive-card{padding:12px;gap:13px}
  .oliv-site .oliv-archive-card-image{flex-basis:35%;width:35%}
  .oliv-site .oliv-archive-card-excerpt{display:-webkit-box}
  .oliv-site .oliv-design-archive-sidebar{grid-template-columns:1fr}
  .oliv-site .oliv-archive-category-block{grid-row:auto}
  .oliv-site .oliv-archive-layout{gap:35px}
}
@media(prefers-reduced-motion:reduce){.oliv-site .oliv-archive-card{transition:none}.oliv-site .oliv-archive-card:hover{transform:none}}

/* V3.1.1: menu cấp 1 nhỏ và submenu liên tục không khoảng hở hover. */
@media (min-width:1001px){
 .oliv-site-header .oliv-primary-menu > li > a{font-size:13px;line-height:1.5}
 .oliv-site-header .oliv-primary-menu li{position:relative}
 .oliv-site-header .oliv-primary-menu > li > .sub-menu{top:100%;margin-top:0;}
 .oliv-site-header .oliv-primary-menu > li:not(.mega-menu) > .sub-menu{left:0;transform:none}
 /* Mega uses the full header as a continuous hover target, including the gap above its panel. */
 .oliv-site-header .oliv-desktop-nav,.oliv-site-header .oliv-primary-menu{height:100%}
 .oliv-site-header .oliv-primary-menu > li.mega-menu{position:static;height:100%;display:flex;align-items:center}
 .oliv-site-header .oliv-primary-menu > li.mega-menu > .sub-menu{top:calc(100% - 1px);margin-top:0}
 .oliv-site-header .oliv-primary-menu li:not(.mega-menu) > .sub-menu li{position:relative}
 .oliv-site-header .oliv-primary-menu li:not(.mega-menu) > .sub-menu li > .sub-menu{left:calc(100% - 1px);top:0;margin-top:0;transform:none}
 .oliv-site-header .oliv-primary-menu li:hover > .sub-menu,
 .oliv-site-header .oliv-primary-menu li:focus-within > .sub-menu,
 .oliv-site-header .oliv-primary-menu li.is-open > .sub-menu{display:grid}
}
/* /fontmacdinh – use exact requested stack, no global admin/editor toolbar styling. */
.oliv-site, .oliv-site :is(p,span,li,a,button,label,input,textarea,select,h1,h2,h3,h4,h5,h6),
.red-builder-output, .red-builder-output :is(p,span,li,a,button,label,input,textarea,select,h1,h2,h3,h4,h5,h6)
{font-family:"Plus Jakarta One", "Plus Jakarta Sans", Arial, sans-serif !important}


/* Designer v3.1.2: viewport-fixed Back to Top (outside Builder layout). */
.designer-back-to-top{
  position:fixed;
  right:max(20px,env(safe-area-inset-right));
  bottom:max(22px,env(safe-area-inset-bottom));
  z-index:999;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid rgba(255,255,255,.2);
  border-radius:14px;
  background:#30251a;
  color:#fff;
  box-shadow:0 9px 28px rgba(20,20,20,.2);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease, background-color .2s ease;
}
.designer-back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.designer-back-to-top:hover{background:var(--designer-btt-accent,#9d7335);color:#fff;transform:translateY(-2px)}
.designer-back-to-top:focus-visible{outline:3px solid var(--designer-btt-accent,#9d7335);outline-offset:3px}
.designer-back-to-top svg{display:block;flex:none}
@media(max-width:600px){
  .designer-back-to-top{right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:44px;height:44px;border-radius:12px}
}
@media(prefers-reduced-motion:reduce){.designer-back-to-top{transition:none}.designer-back-to-top:hover{transform:none}}
@media print{.designer-back-to-top{display:none!important}}

/* Designer v3.1.3 — footer identity is shared with Header / WP Site Identity.
   Override the inherited Oliv 72px footer-mark rule without changing layout. */
.oliv-site-footer .footer-mark{
  min-width:0;
  font-family:"Plus Jakarta One","Plus Jakarta Sans",Arial,sans-serif!important;
  font-size:clamp(18px,1.8vw,24px);
  line-height:1.35;
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
}
.oliv-site-footer .oliv-footer-brand-link{
  display:inline-flex;
  max-width:100%;
  align-items:center;
  color:inherit;
  text-decoration:none;
}
.oliv-site-footer .footer-mark .oliv-brand-logo,
.oliv-site-footer .footer-mark .custom-logo{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:min(240px,100%);
  max-height:72px;
  object-fit:contain;
  aspect-ratio:auto;
}
.oliv-site-footer .footer-mark span{
  font-size:inherit;
  line-height:inherit;
  letter-spacing:inherit;
}
@media(max-width:720px){
  .oliv-site-footer .footer-mark{font-size:21px}
  .oliv-site-footer .footer-mark .oliv-brand-logo,
  .oliv-site-footer .footer-mark .custom-logo{max-width:min(200px,100%);max-height:62px}
}
