
/* Kho giao diện */
.theme-hero{padding:76px 0 72px;background:linear-gradient(115deg,#f7fbfe 0%,#edf5fa 68%,#fff 100%);position:relative;overflow:hidden}
.theme-hero:after{content:"";position:absolute;width:360px;height:360px;border:68px solid rgba(13,79,139,.05);border-radius:50%;right:-120px;top:-160px}
.theme-breadcrumb{margin-bottom:24px;position:relative;z-index:1}
.theme-breadcrumb .breadcrumb{font-size:11px}.theme-breadcrumb a{color:var(--primary)}
.theme-hero h1{font-size:48px;line-height:1.22;color:var(--navy);font-weight:800;letter-spacing:-.035em;margin:12px 0 18px}.theme-hero h1 span{color:var(--primary)}
.theme-hero p{font-size:15px;line-height:1.8;max-width:760px;color:#526879}
.theme-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.theme-hero__stats{display:grid;grid-template-columns:repeat(2,1fr);background:#fff;box-shadow:var(--shadow);border-top:5px solid var(--primary);position:relative;z-index:1}
.theme-hero__stats>div{padding:28px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.theme-hero__stats>div:nth-child(2n){border-right:0}.theme-hero__stats>div:nth-last-child(-n+2){border-bottom:0}
.theme-hero__stats strong{font-size:25px;color:var(--primary);font-weight:800}.theme-hero__stats span{font-size:10px;color:var(--muted);margin-top:3px}

.theme-categories{background:#fff;border-bottom:1px solid var(--line)}
.theme-categories__track{display:flex;overflow-x:auto;gap:0;scrollbar-width:none}.theme-categories__track::-webkit-scrollbar{display:none}
.quick-category{min-width:145px;flex:1;border:0;border-right:1px solid var(--line);background:#fff;padding:22px 15px;display:flex;align-items:center;justify-content:center;gap:9px;color:#526675;font-size:11px;font-weight:700;transition:.2s}.quick-category:first-child{border-left:1px solid var(--line)}.quick-category i{color:var(--primary);font-size:16px}.quick-category:hover,.quick-category.is-active{background:var(--primary);color:#fff}.quick-category:hover i,.quick-category.is-active i{color:#fff}

.theme-library{padding:82px 0 95px}.theme-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.theme-toolbar h2{font-size:31px;color:var(--heading);font-weight:800;margin:8px 0 0}
.theme-filter{background:#fff;border:1px solid var(--line);padding:24px}.theme-filter--sticky{position:sticky;top:105px}.theme-filter__head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:8px}.theme-filter__head strong{font-size:14px;color:var(--heading)}.filter-reset{border:0;background:none;color:var(--red);font-size:10px;font-weight:700;padding:0}
.theme-filter__group{padding:18px 0;border-bottom:1px solid var(--line)}.theme-filter__group:last-child{border-bottom:0}.theme-filter__group>label{display:block;font-size:11px;font-weight:800;color:var(--heading);margin-bottom:10px}
.theme-search{position:relative}.theme-search i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8798a6;font-size:12px}.theme-search input{width:100%;height:43px;border:1px solid #d5e0e7;border-radius:4px;padding:0 12px 0 36px;font-size:11px;outline:0}.theme-search input:focus{border-color:var(--primary)}
.filter-checks{display:grid;gap:9px}.filter-checks label{display:flex;align-items:center;gap:9px;font-size:10px;color:#566b7a;cursor:pointer}.filter-checks input{accent-color:var(--primary);width:15px;height:15px}

.theme-resultbar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);padding:13px 16px;margin-bottom:14px}.theme-resultbar>div:first-child{font-size:11px;color:#637786}.theme-resultbar strong{font-size:16px;color:var(--heading)}.theme-sort{display:flex;align-items:center;gap:10px}.theme-sort label{font-size:10px;font-weight:700;white-space:nowrap}.theme-sort .form-select{min-width:170px;min-height:38px;font-size:10px}
.active-filters{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.active-filter{border:1px solid #cbd9e3;background:#fff;color:#4f6575;padding:6px 9px;border-radius:20px;font-size:9px}.active-filter i{margin-left:5px;color:var(--red)}
.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.theme-card{background:#fff;border:1px solid var(--line);height:100%;display:flex;flex-direction:column;transition:.25s;position:relative}.theme-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.theme-card__media{height:210px;overflow:hidden;position:relative;background:#dfe8ee}.theme-card__media img{width:100%;height:100%;object-fit:cover;transition:.35s}.theme-card:hover .theme-card__media img{transform:scale(1.04)}
.theme-card__badges{position:absolute;left:12px;top:12px;display:flex;flex-wrap:wrap;gap:6px}.theme-card__badge{background:rgba(6,36,62,.9);color:#fff;padding:5px 7px;font-size:8px;font-weight:800;letter-spacing:.05em}.theme-card__badge--hot{background:var(--red)}.theme-card__badge--new{background:#15936c}
.theme-card__quick{position:absolute;right:12px;bottom:12px;width:37px;height:37px;border:0;border-radius:50%;background:#fff;color:var(--primary);box-shadow:0 8px 24px rgba(3,28,48,.18)}
.theme-card__body{padding:20px;display:flex;flex-direction:column;flex:1}.theme-card__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.theme-card__code{color:var(--red)}
.theme-card h3{font-size:16px;line-height:1.5;color:var(--heading);font-weight:800;margin:8px 0}.theme-card p{font-size:10px;color:#687c8b;margin-bottom:12px;min-height:50px}.theme-card__tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:15px}.theme-card__tags span{font-size:8px;font-weight:700;background:var(--primary-soft);color:var(--primary);padding:5px 7px;border-radius:3px}
.theme-card__footer{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.theme-card__price{display:flex;flex-direction:column}.theme-card__price small{font-size:8px;color:var(--muted)}.theme-card__price strong{font-size:15px;color:var(--primary);font-weight:800}.theme-card__actions{display:flex;gap:6px}.theme-card__actions .btn{padding:.5rem .65rem;font-size:9px}
.theme-empty{text-align:center;padding:70px 20px;background:#fff;border:1px dashed #becdd8}.theme-empty i{font-size:40px;color:#9fb2c1}.theme-empty h3{font-size:20px;color:var(--heading);font-weight:800;margin:15px 0 8px}.theme-empty p{font-size:11px;color:#728493}
.theme-pagination{margin-top:35px}.theme-pagination .page-link{color:var(--primary);font-size:11px;border-color:#d8e2e9}.theme-pagination .page-item.active .page-link{background:var(--primary);border-color:var(--primary)}

.theme-note{padding:62px 0;background:#fff}.theme-note__box{display:grid;grid-template-columns:82px 1fr auto;gap:24px;align-items:center;border:1px solid var(--line);border-left:6px solid var(--gold);padding:30px 34px}.theme-note__icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:25px}.theme-note h2{font-size:24px;color:var(--heading);font-weight:800;margin:6px 0}.theme-note p{font-size:11px;color:#687b8a;margin:0;max-width:850px}
.theme-contact{padding:82px 0;background:var(--navy)}.theme-contact__shell{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start;color:#fff}.theme-contact h2{font-size:34px;line-height:1.4;font-weight:800;margin:10px 0 14px}.theme-contact p{font-size:12px;color:#b9cad6}.theme-contact__points{display:grid;gap:10px;margin-top:24px}.theme-contact__points span{font-size:11px}.theme-contact__points i{color:var(--gold);margin-right:7px}.theme-contact__form{background:#fff;color:var(--text);padding:30px}.theme-contact__form .btn-light{background:var(--gold);border-color:var(--gold);color:var(--navy)}

.filter-canvas{width:min(90vw,390px)!important}.filter-canvas .offcanvas-title{font-size:18px;font-weight:800;color:var(--heading)}
.theme-modal__close{position:absolute;right:16px;top:16px;z-index:2;background-color:#fff;border-radius:50%;padding:10px;opacity:1}.theme-modal .modal-content{border:0;border-radius:8px;overflow:hidden}.theme-modal .modal-body{padding:0}.theme-modal__layout{display:grid;grid-template-columns:57% 43%;min-height:590px}.theme-modal__image{background:#dfe8ee}.theme-modal__image img{width:100%;height:100%;object-fit:cover}.theme-modal__content{padding:46px 40px}.theme-modal__content>span{font-size:9px;color:var(--red);font-weight:800;letter-spacing:.1em}.theme-modal__content h2{font-size:28px;color:var(--heading);font-weight:800;margin:10px 0 12px}.theme-modal__content p{font-size:12px;color:#637786}.theme-modal__specs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:22px 0}.theme-modal__specs>div{background:var(--light);padding:13px}.theme-modal__specs small{display:block;font-size:8px;color:var(--muted)}.theme-modal__specs strong{font-size:11px;color:var(--heading)}.theme-modal__features{list-style:none;padding:0;margin:0 0 24px}.theme-modal__features li{font-size:11px;padding:7px 0;border-bottom:1px solid var(--line)}.theme-modal__features li:before{content:"✓";color:#21a366;font-weight:800;margin-right:8px}.theme-modal__buttons{display:flex;flex-wrap:wrap;gap:8px}

@media(max-width:1199.98px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){.theme-hero h1{font-size:41px}.theme-toolbar{align-items:center}.theme-note__box{grid-template-columns:70px 1fr}.theme-note__box>.btn{grid-column:2}.theme-contact__shell{grid-template-columns:1fr}.theme-modal__layout{grid-template-columns:1fr;min-height:0}.theme-modal__image{height:360px}}
@media(max-width:767.98px){.theme-hero{padding:58px 0}.theme-hero h1{font-size:34px}.theme-hero__stats>div{padding:20px 16px}.theme-toolbar h2{font-size:25px}.theme-resultbar{align-items:stretch;flex-direction:column}.theme-sort{justify-content:space-between}.theme-sort .form-select{flex:1}.theme-grid{grid-template-columns:1fr}.theme-card__media{height:245px}.theme-note__box{grid-template-columns:1fr;padding:25px}.theme-note__box>.btn{grid-column:auto}.theme-contact h2{font-size:28px}.theme-contact__form{padding:24px}.theme-modal__image{height:260px}.theme-modal__content{padding:32px 24px}.theme-modal__specs{grid-template-columns:1fr}}
