/* ================================================
   GDVP Studio Theme v1.3 — theme.css
   Font: Inter | Xanh in ấn #14B8A6 + Trắng #FFFFFF
   Plugin CSS đã patch trực tiếp → chỉ cần layout theme
   ================================================ */

/* ── Container ── */
.container {
  width: 100%; max-width: 1320px;
  margin: 0 auto; padding: 0 20px;
}
@media(min-width:768px)  { .container { padding: 0 32px; } }
@media(min-width:1280px) { .container { padding: 0 48px; } }

/* ── Buttons theme (bên ngoài plugin) ── */
.btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 10px 22px; border-radius: 999px;
  font-family: var(--ff); font-size: 14px; font-weight: 600;
  cursor: pointer; border: 2px solid transparent;
  transition: all var(--tr); white-space: nowrap;
  text-decoration: none; line-height: 1;
}
.btn-primary {
  background: var(--c-pri); color: #fff;
  border-color: var(--c-pri);
}
.btn-primary:hover {
  background: var(--c-prid); border-color: var(--c-prid);
  color: #fff; box-shadow: 0 4px 14px rgba(20,184,166,.35);
}
.btn-ghost {
  background: var(--c-pri4); color: var(--c-pri-dark);
  border-color: var(--c-pri4);
}
.btn-ghost:hover { background: var(--c-pri); color: #fff; border-color: var(--c-pri); }
.btn-outline {
  background: transparent; color: var(--c-pri);
  border-color: var(--c-pri);
}
.btn-outline:hover { background: var(--c-pri); color: #fff; }
.btn-dark { background: var(--c-tx); color: #fff; border-color: var(--c-tx); }
.btn-dark:hover { background: #000; color: #fff; }
.btn-white { background: #fff; color: var(--c-pri); border-color: #fff; }
.btn-white:hover { background: var(--c-pri4); border-color: var(--c-pri4); }

/* ── TOP BAR ── */
.site-topbar { background: var(--c-pri); font-size: 12px; font-weight: 500; }
.topbar-inner { display:flex; align-items:center; justify-content:space-between; padding:7px 0; gap:12px; }
.topbar-msg { color: rgba(255,255,255,.9); }
.topbar-actions { display:flex; gap:7px; flex-shrink:0; }
.topbar-cta {
  display:inline-flex; align-items:center; gap:5px;
  padding:3px 11px; border-radius:999px;
  background:rgba(255,255,255,.22); color:#fff; font-weight:600; font-size:12px;
  transition:background var(--tr);
}
.topbar-cta:hover { background:rgba(255,255,255,.32); color:#fff; }
@media(max-width:600px) { .site-topbar { display:none; } }

/* ── HEADER ── */
.site-header {
  position:sticky; top:0; z-index:1000;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--c-bd);
  transition:box-shadow var(--tr);
}
.site-header.scrolled { box-shadow:0 2px 14px rgba(0,0,0,.08); }
.header-inner { display:flex; align-items:center; gap:18px; height:62px; }

/* Logo */
.site-logo { flex-shrink:0; }
.site-logo img { height:36px; width:auto; }
.logo-text { font-size:18px; font-weight: 600; color:var(--c-pri); letter-spacing:-.3px; }
.logo-text:hover { color:var(--c-prid); }


.site-logo .logo-link,.footer-logo .logo-link,.mobile-nav-logo .logo-link{display:inline-flex;align-items:center;text-decoration:none;}
.site-logo-img{height:42px;width:auto;display:block;object-fit:contain;}
.footer-logo-img{max-height:42px;width:auto;display:block;object-fit:contain;}
.mobile-logo-img{height:32px;width:auto;display:block;object-fit:contain;}

/* Nav desktop */
.site-nav { flex:1; display:none; }
@media(min-width:1024px) { .site-nav { display:flex; } }
.nav-menu { display:flex; align-items:center; gap:1px; }
.nav-menu li { position:relative; }
.nav-link { display:block; padding:6px 12px; border-radius:7px; font-size:13px; font-weight:500; color:var(--c-ts); transition:all var(--tr); }
.nav-link:hover,
.nav-menu li.current-menu-item > a,
.nav-menu li.current-page-ancestor > a { color:var(--c-pri); background:var(--c-pri3); }
.nav-menu li ul { position:absolute; top:calc(100% + 4px); left:0; min-width:196px; background:#fff; border:1px solid var(--c-bd); border-radius:11px; box-shadow:0 8px 32px rgba(0,0,0,.12); padding:6px; opacity:0; visibility:hidden; transform:translateY(-5px); transition:all .17s; z-index:100; }
.nav-menu li:hover > ul { opacity:1; visibility:visible; transform:translateY(0); }
.nav-menu li ul li a { font-size:13px; font-weight:500; border-radius:7px; }

.header-actions { display:flex; align-items:center; gap:5px; margin-left:auto; }
.hdr-btn { width:34px; height:34px; border-radius:7px; background:none; border:none; cursor:pointer; color:var(--c-tm); font-size:15px; display:flex; align-items:center; justify-content:center; transition:all var(--tr); }
.hdr-btn:hover { background:var(--c-pri3); color:var(--c-pri); }
.hdr-cta { display:inline-flex; align-items:center; gap:6px; padding:8px 17px; border-radius:999px; background:var(--c-pri); color:#fff; font-size:13px; font-weight:600; transition:all var(--tr); }
.hdr-cta:hover { background:var(--c-prid); color:#fff; box-shadow:0 4px 12px rgba(20,184,166,.3); }
.hdr-cta span { display:none; }
@media(min-width:480px) { .hdr-cta span { display:block; } }
.hdr-hamburger { flex-direction:column; gap:4px; }
.hdr-hamburger span { display:block; width:17px; height:2px; background:var(--c-ts); border-radius:2px; transition:all .22s; }
.hdr-hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(4px,4px); }
.hdr-hamburger.open span:nth-child(2) { opacity:0; }
.hdr-hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(4px,-4px); }
@media(min-width:1024px) { .hdr-hamburger { display:none; } }

/* Search bar */
.hdr-search-bar { background:var(--c-bg); border-top:1px solid var(--c-bd); padding:10px 0; display:none; }
.hdr-search-bar.open { display:block; }
.hdr-search-form { display:flex; align-items:center; background:#fff; border:1.5px solid var(--c-bd2); border-radius:999px; overflow:hidden; transition:border-color var(--tr); }
.hdr-search-form:focus-within { border-color:var(--c-pri); }
.hdr-search-form i { padding:0 10px 0 16px; color:var(--c-tb); font-size:14px; flex-shrink:0; }
.hdr-search-form input { flex:1; border:none; outline:none; padding:11px 6px; font-size:14px; background:transparent; font-family:var(--ff); color:var(--c-tx); }
.hdr-search-form button[type="submit"] { padding:11px 19px; background:var(--c-pri); border:none; color:#fff; font-weight:600; font-size:13px; cursor:pointer; transition:background var(--tr); white-space:nowrap; font-family:var(--ff); }
.hdr-search-form button[type="submit"]:hover { background:var(--c-prid); }
.hdr-search-close { width:40px; height:40px; border:none; background:none; color:var(--c-tm); cursor:pointer; font-size:15px; display:flex; align-items:center; justify-content:center; }

/* ── MOBILE DRAWER ── */
.mobile-nav { position:fixed; top:0; right:0; bottom:0; width:min(305px,85vw); background:#fff; z-index:2000; display:flex; flex-direction:column; transform:translateX(100%); transition:transform .27s cubic-bezier(.4,0,.2,1); box-shadow:0 16px 56px rgba(0,0,0,.15); }
.mobile-nav.open { transform:translateX(0); }
.mobile-nav-head { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid var(--c-bd); flex-shrink:0; }
.mobile-nav-logo { font-size:17px; font-weight: 600; color:var(--c-tx); }
.mobile-nav-close { width:32px; height:32px; border-radius:7px; border:none; background:var(--c-bg); cursor:pointer; color:var(--c-ts); font-size:15px; display:flex; align-items:center; justify-content:center; }
.mobile-menu { flex:1; overflow-y:auto; padding:9px; }
.mobile-menu li a { display:block; padding:9px 12px; border-radius:7px; font-size:14px; font-weight:500; color:var(--c-ts); transition:all var(--tr); }
.mobile-menu li a:hover { color:var(--c-pri); background:var(--c-pri3); }
.mobile-menu li.current-menu-item > a { color:var(--c-pri); font-weight:600; }
.mobile-menu li ul { padding-left:10px; }
.mobile-nav-foot { padding:13px; border-top:1px solid var(--c-bd); display:flex; flex-direction:column; gap:7px; flex-shrink:0; }
.mob-cta-btn { display:flex; align-items:center; justify-content:center; gap:7px; padding:10px; border-radius:11px; font-size:13px; font-weight:600; transition:opacity var(--tr); }
.mob-cta-phone { background:var(--c-pri3); color:var(--c-pri); }
.mob-cta-zalo  { background:var(--c-pri); color:#fff; }
.mob-cta-btn:hover { opacity:.85; }
.mobile-nav-overlay { position:fixed; inset:0; z-index:1999; background:rgba(0,0,0,.44); backdrop-filter:blur(2px); display:none; }
.mobile-nav-overlay.on { display:block; }

/* ── MOBILE BOTTOM NAV ── */
.mobile-bottom-nav { display:none; position:fixed; bottom:0; left:0; right:0; z-index:900; background:rgba(255,255,255,.97); backdrop-filter:blur(10px); border-top:1px solid var(--c-bd); padding:0 4px env(safe-area-inset-bottom,6px); flex-direction:row; align-items:center; justify-content:space-around; }
@media(max-width:767px) { .mobile-bottom-nav { display:flex; } .site-footer { padding-bottom:68px; } }
.mob-nav-item { display:flex; flex-direction:column; align-items:center; gap:3px; padding:7px 8px; border-radius:9px; font-size:10px; font-weight:600; color:var(--c-tb); background:none; border:none; cursor:pointer; text-decoration:none; min-width:50px; transition:color var(--tr); font-family:var(--ff); }
.mob-nav-item i { font-size:16px; line-height:1; }
.mob-nav-item.active,.mob-nav-item:hover { color:var(--c-pri); }
.mob-nav-call { color:#fff; background:var(--c-pri); border-radius:999px; padding:8px 13px; }
.mob-nav-zalo { color:var(--c-pri); background:var(--c-pri4); }

/* ── FLOAT BTNS ── */
.float-contacts { position:fixed; right:16px; bottom:26px; z-index:800; display:flex; flex-direction:column; gap:8px; }
@media(max-width:767px) { .float-contacts { display:none; } }
.float-btn { width:42px; height:42px; border-radius:999px; display:flex; align-items:center; justify-content:center; font-size:17px; cursor:pointer; border:none; transition:all .2s; box-shadow:0 4px 16px rgba(0,0,0,.13); text-decoration:none; }
.float-phone { background:var(--c-pri); color:#fff; }
.float-zalo  { background:var(--c-tx); color:#fff; }
.float-top   { background:#fff; color:var(--c-ts); border:1px solid var(--c-bd); opacity:0; transform:translateY(7px); }
.float-top.show { opacity:1; transform:translateY(0); }
.float-btn:hover { transform:scale(1.1) translateY(-2px); box-shadow:0 8px 28px rgba(0,0,0,.18); }

/* ── SITE WRAPPER ── */
.site-wrapper { min-height: 60vh; }

/* ── PAGES ── */
.page-default { padding:40px 0 60px; }
.default-loop { display:grid; gap:20px; }
@media(min-width:768px) { .default-loop { grid-template-columns:1fr 1fr; } }
.default-post { background:#fff; border-radius:14px; box-shadow:0 1px 6px rgba(0,0,0,.07); overflow:hidden; transition:box-shadow var(--tr); border:1px solid var(--c-bd); }
.default-post:hover { box-shadow:0 4px 20px rgba(0,0,0,.10); }
.post-thumb img { width:100%; height:180px; object-fit:cover; }
.post-body { padding:16px; }
.post-title { font-size:16px; font-weight: 600; margin-bottom:6px; }
.post-title a { color:var(--c-tx); }
.post-title a:hover { color:var(--c-pri); }
.post-meta { font-size:11px; color:var(--c-tb); margin-bottom:8px; }
.post-excerpt { font-size:13px; color:var(--c-tm); margin-bottom:13px; }
.no-posts { text-align:center; padding:72px 20px; }
.pagination-wrap { margin-top:32px; }
.pagination-wrap .page-numbers { display:flex; gap:5px; flex-wrap:wrap; justify-content:center; }
.pagination-wrap .page-numbers a,
.pagination-wrap .page-numbers span { display:flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 9px; border-radius:7px; background:#fff; border:1px solid var(--c-bd); font-size:13px; font-weight:600; color:var(--c-ts); transition:all var(--tr); }
.pagination-wrap .page-numbers .current,
.pagination-wrap .page-numbers a:hover { background:var(--c-pri); color:#fff; border-color:var(--c-pri); }

/* page.php */
.page-hero { background:var(--c-pri3); border-bottom:1px solid var(--c-pri4); padding:30px 0 22px; }
.page-title { font-size:26px; font-weight: 600; color:var(--c-tx); }
@media(min-width:768px){ .page-title { font-size:32px; } }
.page-body { padding:32px 0 52px; }
.page-featured-img { border-radius:14px; overflow:hidden; margin-bottom:28px; box-shadow:0 4px 20px rgba(0,0,0,.09); }
.wp-content p { color:var(--c-ts); line-height:1.8; margin-bottom:1rem; }
.wp-content h2,.wp-content h3,.wp-content h4 { margin:1.5em 0 .5em; }
.wp-content ul { list-style:disc; margin:1rem 0 1rem 20px; }
.wp-content ol { list-style:decimal; margin:1rem 0 1rem 20px; }
.wp-content img { border-radius:10px; margin:1rem 0; }
.wp-content blockquote { border-left:3px solid var(--c-pri); padding:12px 16px; background:var(--c-pri3); border-radius:0 10px 10px 0; margin:1.5rem 0; }
.wp-content a { color:var(--c-pri); text-decoration:underline; }
.theme-breadcrumb { background:#fff; border-bottom:1px solid var(--c-bd); padding:8px 0; font-size:12px; color:var(--c-tb); }
.theme-breadcrumb a { color:var(--c-pri); font-weight:500; }
.theme-breadcrumb .sep { margin:0 5px; }
.theme-breadcrumb .cur { color:var(--c-tx); font-weight:500; }

/* 404 */
.page-404 { padding:72px 0; text-align:center; }
.not-found-box { max-width:500px; margin:0 auto; }
.page-404 h1 { font-size:96px; font-weight: 600; color:var(--c-bd); line-height:1; margin-bottom:8px; letter-spacing:-4px; }
.page-404 h2 { font-size:22px; font-weight: 600; margin-bottom:10px; }
.page-404 p  { color:var(--c-tm); margin-bottom:22px; }
.not-found-actions { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

/* ── FOOTER — trắng sáng ── */
.site-footer { background:#fff; border-top:1px solid var(--c-bd); color:var(--c-ts); }
.footer-top { padding:48px 0 32px; }
.footer-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px 24px; }
@media(min-width:1024px) { .footer-grid { grid-template-columns:1.4fr 1fr 1fr 1fr; } }
.footer-col-title { font-size:11px; font-weight: 600; color:var(--c-tx); text-transform:uppercase; letter-spacing:1px; margin-bottom:14px; padding-bottom:9px; border-bottom:2px solid var(--c-pri4); }
.footer-logo img { height:32px; margin-bottom:11px; }
.footer-logo-text { font-size:19px; font-weight: 600; color:var(--c-tx); display:block; margin-bottom:11px; }
.footer-desc { font-size:13px; color:var(--c-tm); line-height:1.7; margin-bottom:16px; }
.footer-contact { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.footer-contact li { display:flex; align-items:flex-start; gap:8px; font-size:13px; }
.footer-contact li i { color:var(--c-pri); margin-top:3px; flex-shrink:0; width:13px; }
.footer-contact li a { color:var(--c-ts); transition:color var(--tr); }
.footer-contact li a:hover { color:var(--c-pri); }
.footer-contact li span { color:var(--c-tm); }
.footer-social { display:flex; gap:6px; flex-wrap:wrap; }
.social-btn { width:32px; height:32px; border-radius:7px; background:var(--c-bg); color:var(--c-tm); display:flex; align-items:center; justify-content:center; font-size:14px; border:1px solid var(--c-bd); transition:all var(--tr); }
.social-btn:hover { background:var(--c-pri); color:#fff; border-color:var(--c-pri); transform:translateY(-2px); }
.footer-links { display:flex; flex-direction:column; gap:3px; }
.footer-links li a { display:flex; align-items:center; gap:7px; font-size:13px; color:var(--c-tm); padding:3px 0; transition:color var(--tr); }
.footer-links li a i { font-size:9px; color:var(--c-pri4); }
.footer-links li a:hover { color:var(--c-pri); }
.footer-links li a:hover i { color:var(--c-pri); }
.foot-cta { display:flex; align-items:center; justify-content:center; gap:7px; padding:10px; border-radius:10px; font-size:13px; font-weight:600; transition:all var(--tr); }
.foot-phone { background:var(--c-pri3); color:var(--c-pri); border:1px solid var(--c-pri4); }
.foot-zalo  { background:var(--c-pri); color:#fff; }
.foot-cta:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(20,184,166,.2); }
.footer-bottom { border-top:1px solid var(--c-bd); padding:13px 0; background:var(--c-bg); }
.footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.footer-copy { font-size:12px; color:var(--c-tb); }
.footer-powered { font-size:12px; color:var(--c-tb); }
.footer-powered a { color:var(--c-pri); }
.site-footer .widget-title { font-size:11px; font-weight: 600; color:var(--c-tx); text-transform:uppercase; letter-spacing:1px; margin-bottom:13px; padding-bottom:8px; border-bottom:2px solid var(--c-pri4); }
.site-footer .widget ul { display:flex; flex-direction:column; gap:3px; }
.site-footer .widget ul li a { font-size:13px; color:var(--c-tm); padding:3px 0; display:block; transition:color var(--tr); }
.site-footer .widget ul li a:hover { color:var(--c-pri); }

/* ── PLUGIN FONT FORCE — Inter ── */
.gdvp-page,
.gdvp-page * { font-family: var(--ff) !important; }

/* ── PLUGIN gdvp-page background ── */
.gdvp-home-wrap { background: var(--c-bg) !important; }
.gdvp-arc-wrap  { background: var(--c-bg) !important; }

/* ── Sections spacing ── */
.gdvp-hsec { padding: 52px 0 !important; }
@media(min-width:768px) { .gdvp-hsec { padding: 68px 0 !important; } }

/* ── plugin gdvp-mob-cta offset for mobile nav ── */
.gdvp-mob-cta { bottom: 62px !important; }
@media(min-width:1024px) { .gdvp-mob-cta { display:none !important; } }

/* ── Review form tweak ── */
.gdvp-rv-form-wrap { background: var(--c-pri3) !important; border:1px solid var(--c-pri4) !important; }
.gdvp-rv-form input:focus, .gdvp-rv-form textarea:focus { border-color: var(--c-pri) !important; box-shadow: 0 0 0 3px rgba(20,184,166,.1) !important; }
.gdvp-anon-row { flex-direction:row !important; align-items:center !important; background:#fff; border:1px solid var(--c-bd); border-radius:10px; padding:11px 15px !important; }
.gdvp-anon-toggle { display:flex !important; align-items:center !important; gap:11px !important; cursor:pointer !important; width:100% !important; user-select:none; font-size:14px !important; font-weight:500 !important; }
.gdvp-anon-toggle input { position:absolute !important; opacity:0 !important; width:0 !important; height:0 !important; }
#gdvp-rv-id { background:#fff; border:1px solid var(--c-bd); border-radius:10px; padding:14px !important; transition:opacity .18s; }
#gdvp-rv-id.hidden-anon { opacity:.35; pointer-events:none; }
.gdvp-rv-row { display:grid !important; grid-template-columns:1fr 1fr !important; gap:10px !important; }
@media(max-width:520px) { .gdvp-rv-row { grid-template-columns:1fr !important; } }

/* ── Filter pills ── */
.home-tag-filters { background:#fff; border-bottom:1px solid var(--c-bd); padding:12px 0; }
.home-tag-filters-inner { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.home-filter-label { font-size:11px; font-weight: 600; color:var(--c-tb); text-transform:uppercase; letter-spacing:.8px; flex-shrink:0; }
.home-filter-pill { display:inline-flex; align-items:center; gap:4px; padding:5px 12px; border-radius:999px; font-size:12px; font-weight:500; color:var(--c-ts); background:var(--c-bg); border:1.5px solid var(--c-bd); transition:all .14s; text-decoration:none; white-space:nowrap; }
.home-filter-pill:hover,.home-filter-pill.active { background:var(--c-pri); color:#fff; border-color:var(--c-pri); }
.pill-count { background:rgba(0,0,0,.08); border-radius:8px; padding:1px 5px; font-size:10px; font-weight: 600; }
.home-filter-pill:hover .pill-count,.home-filter-pill.active .pill-count { background:rgba(255,255,255,.25); }
.home-filter-sep { width:1px; height:15px; background:var(--c-bd); flex-shrink:0; }

/* ── News cards ── */
.home-news-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:20px; }
@media(min-width:768px)  { .home-news-grid { grid-template-columns:repeat(3,1fr); } }
@media(min-width:1024px) { .home-news-grid { grid-template-columns:repeat(4,1fr); } }
.home-news-card { background:#fff; border-radius:12px; border:1px solid var(--c-bd); overflow:hidden; transition:box-shadow .2s,transform .2s; text-decoration:none; display:flex; flex-direction:column; }
.home-news-card:hover { box-shadow:0 4px 20px rgba(0,0,0,.1); transform:translateY(-3px); }
.home-news-thumb { aspect-ratio:16/9; overflow:hidden; background:var(--c-bg); }
.home-news-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .32s; }
.home-news-card:hover .home-news-thumb img { transform:scale(1.04); }
.home-news-thumb-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:var(--c-pri3); font-size:26px; }
.home-news-body { padding:13px; flex:1; display:flex; flex-direction:column; gap:4px; }
.home-news-cat { font-size:10px; font-weight: 600; text-transform:uppercase; letter-spacing:.8px; color:var(--c-pri); }
.home-news-title { font-size:13px; font-weight:600; color:var(--c-tx); line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.home-news-card:hover .home-news-title { color:var(--c-pri); }
.home-news-date { font-size:11px; color:var(--c-tb); margin-top:auto; }


/* Woo flow helpers */
.page-hero-shop .page-title{color:var(--c-pri);}
.page-content-shop .woocommerce{display:block;}
.page-content-shop .woocommerce form .form-row{margin-bottom:14px;}
.page-content-shop .woocommerce-checkout .col2-set{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;}
@media(min-width:992px){
  .page-content-shop .woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:22px;align-items:start;}
  .page-content-shop .woocommerce-checkout > *{min-width:0;}
}
