:root{--pt-dark:#071a3d;--pt-blue:#0d6efd;--pt-soft:#f4f7fb;--pt-border:#e2eaf3;--pt-text:#40516a}
body{background:#fff}.catalog-navbar .navbar-nav .nav-link{white-space:nowrap}.navbar-cart-btn{display:inline-flex;align-items:center;justify-content:center}
.catalog-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,rgba(4,15,35,.93),rgba(6,32,75,.88)),url('../../img/hero-bg.webp') center/cover no-repeat;padding:5rem 0 4.2rem}.catalog-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:42px 42px;pointer-events:none}.catalog-hero>.container{z-index:1}.catalog-hero .lead{color:rgba(255,255,255,.8);max-width:780px}.catalog-hero-compact{padding:3.5rem 0 3rem}
.catalog-toolbar{background:#fff;border:1px solid var(--pt-border);border-radius:18px;padding:1rem;box-shadow:0 12px 30px rgba(7,26,61,.06)}.category-chip{display:inline-flex;align-items:center;padding:.55rem .9rem;border-radius:999px;border:1px solid #dbe4ef;color:#40516a;text-decoration:none;background:#fff;transition:.2s}.category-chip:hover,.category-chip.active{background:#0d6efd;color:#fff;border-color:#0d6efd}
.catalog-products-grid>[class*="col-"]{display:flex}.product-card{width:100%;height:100%;border:1px solid var(--pt-border);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(7,26,61,.06);transition:.2s;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(7,26,61,.1)}.product-thumb{aspect-ratio:4/3;background:#f3f6fa;overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-badges{position:absolute;top:12px;left:12px;display:flex;gap:.4rem;flex-wrap:wrap;z-index:2}.product-badges .badge{box-shadow:0 4px 12px rgba(0,0,0,.12);font-size:.72rem;padding:.5rem .65rem}.product-body{padding:1.3rem;display:flex;flex-direction:column;flex:1}.product-info-block{min-height:108px}.product-card-actions{padding-top:.2rem}.product-title{font-size:1.1rem;font-weight:700;color:var(--pt-dark);text-decoration:none;line-height:1.32}.product-title:hover{color:var(--pt-blue)}.product-description{min-height:2.6rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price-block{padding:.9rem 0 .2rem;border-top:1px solid #edf1f5;min-height:132px}.price-old{text-decoration:line-through;color:#8793a1;font-size:.9rem;min-height:1.35rem}.price-old-placeholder{text-decoration:none;visibility:hidden}.price-current{font-size:1.65rem;font-weight:800;color:var(--pt-dark);line-height:1.1;white-space:nowrap}.price-label{font-size:.8rem;color:#18864b;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.card-price-line{font-size:.9rem;color:#536377}.installment-line{font-size:.82rem;color:#6e7d8e;margin-left:1.25rem}.product-sku{font-size:.78rem;color:#8994a1}
.product-detail-main{border-radius:22px;overflow:hidden;background:#f4f7fb;border:1px solid var(--pt-border)}.product-detail-main img{width:100%;aspect-ratio:4/3;object-fit:cover}.thumb-list img{width:82px;height:64px;object-fit:cover;border-radius:10px;border:1px solid #dfe7f0}.detail-price-box{border:1px solid #dce8f6;background:linear-gradient(135deg,#f8fbff,#eef5ff);padding:1.35rem;border-radius:18px}.pix-tag{color:#18864b;font-weight:700}.card-price-detail{color:#536377}.store-note{border-radius:18px;background:#eef5ff;border:1px solid #d9e7fb;padding:1rem 1.2rem;color:#425774}.product-rich-text{color:#536377}
.qr-footer-store img{border-radius:14px;background:#fff;padding:6px}
.cart-toast{position:fixed;right:22px;bottom:22px;z-index:1080;display:flex;align-items:center;gap:.6rem;padding:.9rem 1rem;border-radius:14px;background:#153d2a;color:#fff;box-shadow:0 18px 40px rgba(0,0,0,.18);transform:translateY(30px);opacity:0;pointer-events:none;transition:.25s}.cart-toast.show{transform:translateY(0);opacity:1;pointer-events:auto}.cart-toast a{color:#fff;font-weight:700;margin-left:.5rem}.cart-card{border-radius:22px!important;box-shadow:0 15px 36px rgba(7,26,61,.07);background:#fff}.cart-checkout-card{top:100px!important}.cart-line{display:block;padding:1rem 0;border-bottom:1px solid #edf1f5}.cart-line:first-child{padding-top:.25rem}.cart-line:last-child{border-bottom:0}.cart-line>img{display:none!important}.cart-line-info{min-width:0}.qty-control{display:inline-flex;align-items:center;border:1px solid #dbe3ec;border-radius:10px;overflow:hidden;background:#fff}.qty-control button{border:0;background:#f6f8fb;width:36px;height:34px;font-weight:700;color:#29466d}.qty-control span{min-width:38px;text-align:center;font-weight:700}.checkout-summary{background:#f5f8fc;border:1px solid #e3eaf2;border-radius:16px;padding:1.1rem}.checkout-total{font-size:1.45rem;color:var(--pt-dark)}

/* Admin */
.admin-shell{min-height:100vh;background:#f2f6fb;color:#394a60}.admin-nav{background:linear-gradient(110deg,#06142f,#0b2d63);box-shadow:0 8px 25px rgba(5,20,48,.18)}.admin-nav .navbar-brand{display:flex;align-items:center;gap:.7rem}.admin-nav .admin-logo{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.35)}.admin-main{max-width:1450px}.admin-card{border:1px solid rgba(219,229,241,.8);border-radius:18px;box-shadow:0 10px 26px rgba(7,26,61,.06);overflow:hidden}.admin-stat{position:relative;overflow:hidden}.admin-stat .stat-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#eef5ff;color:#0d6efd;font-size:1.2rem}.admin-stat:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;bottom:-45px;background:rgba(13,110,253,.06)}.admin-table img{width:64px;height:48px;object-fit:cover;border-radius:8px;background:#f4f6f9}.admin-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#758397;border-bottom-color:#dfe7f0}.admin-action-card{height:100%;padding:1.2rem;border:1px solid #dfe8f2;border-radius:16px;background:#fff;text-decoration:none;color:#334a67;transition:.2s}.admin-action-card:hover{transform:translateY(-2px);border-color:#b9d1ef;color:#0d6efd}.admin-action-card i{font-size:1.3rem}.preview-grid{display:flex;gap:.8rem;flex-wrap:wrap}.preview-item{position:relative;border-radius:14px;overflow:hidden;border:1px solid #dfe7f0;background:#f7f9fc}.preview-item img{width:130px;height:98px;object-fit:cover;display:block}.preview-remove{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:0;background:#dc3545;color:#fff;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.2)}.new-image-preview{position:relative}.form-hint{font-size:.82rem;color:#788696}.admin-section-title{font-weight:700;color:#102a50}.category-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #edf1f5}.category-row:last-child{border-bottom:0}.condition-pill{font-size:.72rem}

@media(max-width:991.98px){.catalog-hero{padding:3.6rem 0 3rem}.catalog-navbar .navbar-cart-btn{width:100%;margin-bottom:1rem}.cart-checkout-card{position:static!important}.admin-nav .admin-nav-links{width:100%;margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}.admin-nav{align-items:flex-start}.qr-footer-store{align-items:flex-start!important}}
@media(max-width:575.98px){.product-body{padding:1.1rem}.product-description{min-height:0}.cart-line{grid-template-columns:82px 1fr}.cart-line>img{width:82px;height:70px}.cart-toast{left:12px;right:12px;bottom:12px}.catalog-hero h1{font-size:2rem}.qr-footer-store{flex-direction:column}.preview-item img{width:110px;height:84px}}


/* v21 visual fixes */
.admin-nav{display:flex!important;align-items:center!important;min-height:78px!important;flex-wrap:wrap!important;padding-top:.75rem!important;padding-bottom:.75rem!important}
.admin-nav .navbar-brand{display:inline-flex!important;align-items:center!important;gap:.75rem!important;margin:0!important;padding:0!important;line-height:1.1!important;color:#fff!important;text-decoration:none!important}
.admin-nav .navbar-brand img.admin-logo{display:block!important;width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;min-width:48px!important;min-height:48px!important;object-fit:cover!important;border-radius:50%!important;border:2px solid rgba(255,255,255,.38)!important;margin:0!important;padding:0!important}
.admin-nav .admin-brand-text{display:flex!important;flex-direction:column!important;font-size:1rem!important;line-height:1.12!important;white-space:nowrap!important}
.admin-nav .admin-brand-text small{font-size:.68rem!important;margin-top:.18rem!important}
.admin-nav .admin-nav-links{margin-left:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:.45rem!important;flex-wrap:wrap!important}
.cart-line-info{width:100%}
@media(max-width:991.98px){.admin-nav .admin-nav-links{margin-left:0!important;width:100%;justify-content:flex-start!important;margin-top:.8rem!important}.admin-nav{align-items:flex-start!important}}
@media(max-width:575.98px){.cart-line{display:block}.product-info-block{min-height:auto}.price-block{min-height:auto}}


/* v22 - mobile parity fixes */
@media (max-width: 767.98px) {
    html, body { overflow-x: hidden; }

    /* Store header */
    .catalog-navbar {
        padding: .65rem .9rem !important;
        align-items: center;
    }
    .catalog-navbar .navbar-brand {
        margin-right: .5rem !important;
        padding: 0 !important;
        max-width: calc(100% - 62px);
    }
    .catalog-navbar .navbar-brand .site-logo {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        max-height: 44px !important;
        object-fit: cover !important;
        border-radius: 50% !important;
    }
    .catalog-navbar .brand-copy { margin-left: .65rem !important; }
    .catalog-navbar .brand-name { font-size: .96rem !important; line-height: 1.05 !important; }
    .catalog-navbar .brand-tagline { font-size: .56rem !important; }
    .catalog-navbar .navbar-toggler { padding: .38rem .5rem; }
    .catalog-navbar .navbar-collapse { padding-top: .7rem; }
    .catalog-navbar .navbar-nav { margin: 0 !important; padding: .35rem 0 .6rem !important; }
    .catalog-navbar .navbar-nav .nav-link {
        margin: 0 !important;
        padding: .7rem .2rem !important;
        border-bottom: 1px solid #edf1f5;
    }
    .catalog-navbar .navbar-cart-btn {
        width: 100% !important;
        margin: .45rem 0 .25rem !important;
        padding: .75rem 1rem !important;
    }

    /* Hero */
    .catalog-hero { padding: 3rem 0 2.6rem !important; }
    .catalog-hero-compact { padding: 2.5rem 0 2.2rem !important; }
    .catalog-hero h1 { font-size: 2rem !important; line-height: 1.16; }
    .catalog-hero .lead { font-size: 1rem; line-height: 1.6; }

    /* Catalog grid */
    main.container { padding-left: 1rem; padding-right: 1rem; }
    .catalog-toolbar { padding: .85rem; border-radius: 15px; }
    .catalog-products-grid { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
    .catalog-products-grid > [class*="col-"] { width: 100%; }
    .product-card { border-radius: 16px; }
    .product-thumb { aspect-ratio: 16 / 11; }
    .product-body { padding: 1rem !important; }
    .product-info-block { min-height: 0 !important; }
    .product-title { font-size: 1.06rem; }
    .product-description { min-height: 0 !important; margin-bottom: .75rem !important; }
    .price-block {
        min-height: 0 !important;
        margin: .8rem 0 1rem !important;
        padding-top: .8rem;
    }
    .price-old { min-height: 1.25rem; }
    .price-current { font-size: 1.55rem; }
    .card-price-line, .installment-line { line-height: 1.45; }
    .product-card-actions .btn { min-height: 44px; }

    /* Cart: text-only items on mobile too */
    .cart-card { border-radius: 16px !important; }
    .cart-card .card-body { padding: 1rem !important; }
    .cart-line {
        display: block !important;
        grid-template-columns: none !important;
        padding: 1rem 0 !important;
    }
    .cart-line > img { display: none !important; width: 0 !important; height: 0 !important; }
    .cart-line-info { width: 100% !important; min-width: 0; }
    .cart-line-info > .d-flex:first-child { align-items: flex-start; }
    .cart-line-info strong { overflow-wrap: anywhere; }
    .qty-control button { width: 40px; height: 38px; }
    .qty-control span { min-width: 42px; }
    .checkout-summary { padding: .95rem; }
    .checkout-total { font-size: 1.3rem; }
    #checkoutForm .form-control, #checkoutForm .form-select { min-height: 46px; }
    #checkoutForm textarea.form-control { min-height: auto; }

    /* Admin header */
    .admin-nav {
        min-height: auto !important;
        padding: .75rem !important;
        align-items: center !important;
    }
    .admin-nav .navbar-brand {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 .75rem 0 !important;
        display: flex !important;
        align-items: center !important;
    }
    .admin-nav .navbar-brand img.admin-logo {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        max-width: 42px !important;
        max-height: 42px !important;
        flex: 0 0 42px !important;
    }
    .admin-nav .admin-brand-text { font-size: .95rem !important; }
    .admin-nav .admin-brand-text small { font-size: .65rem !important; }
    .admin-nav .admin-nav-links {
        width: 100% !important;
        margin: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .45rem !important;
    }
    .admin-nav .admin-nav-links .btn {
        width: 100%;
        min-height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        white-space: nowrap;
        font-size: .78rem;
    }
    .admin-main { padding: 1rem !important; }
    .admin-card { border-radius: 14px; }
    .admin-table { min-width: 720px; }
    .table-responsive { border-radius: 12px; }
    .category-row { align-items: flex-start; flex-direction: column; gap: .55rem; }
    .category-row .btn { align-self: flex-start; }
    .preview-grid { gap: .6rem; }
    .preview-item img { width: 96px !important; height: 76px !important; }

    /* Footer */
    .qr-footer-store { flex-direction: column !important; align-items: flex-start !important; }
    .footer-brand { max-width: 100%; }
}

@media (max-width: 380px) {
    .catalog-navbar .brand-copy { display: none !important; }
    .admin-nav .admin-nav-links { grid-template-columns: 1fr !important; }
}


/* v23 - mobile cart, related products and Horizon-inspired admin */
.catalog-mobile-actions{position:relative;z-index:3}.mobile-cart-btn{display:inline-flex;align-items:center;gap:.45rem;border-radius:12px;padding:.55rem .7rem;white-space:nowrap}.mobile-cart-btn .badge{min-width:22px}
.related-products{border-top:1px solid #e7edf5}.related-carousel-track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:.35rem .2rem 1.2rem;overscroll-behavior-inline:contain}.related-carousel-track::-webkit-scrollbar{height:7px}.related-carousel-track::-webkit-scrollbar-thumb{background:#cbd8e8;border-radius:999px}.related-product-card{flex:0 0 calc(25% - .95rem);min-width:250px;scroll-snap-align:start}.related-carousel-controls .btn{width:42px;height:42px;padding:0;border-radius:50%;display:grid;place-items:center}
.checkout-summary hr{border-color:#dfe7f0;opacity:1}.checkout-summary #pixDiscountRow{font-weight:600}

/* Horizon-inspired admin UI, adapted to Personal Tech */
.admin-shell{font-family:"DM Sans",sans-serif;background:#f4f7fe;color:#1b2559;min-height:100vh}.admin-layout{min-height:100vh}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:282px;background:#fff;z-index:1040;padding:28px 20px 24px;display:flex;flex-direction:column;border-right:1px solid #eef1f7;box-shadow:14px 0 40px rgba(112,144,176,.08);transition:transform .25s ease}.admin-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-sidebar-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#1b2559}.admin-sidebar-brand img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:0 0 48px}.admin-sidebar-brand span{display:flex;flex-direction:column;line-height:1.1}.admin-sidebar-brand strong{font-size:1.02rem}.admin-sidebar-brand small{font-size:.72rem;color:#a3aed0;margin-top:4px}.admin-sidebar-close,.admin-menu-btn{border:0;background:#f4f7fe;color:#1b2559;width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.admin-sidebar-divider{height:1px;background:#eef1f7;margin:28px -20px 24px}.admin-sidebar-nav{display:flex;flex-direction:column;gap:8px}.admin-nav-label{font-size:.69rem;letter-spacing:.14em;text-transform:uppercase;color:#a3aed0;font-weight:700;padding:0 14px 8px}.admin-side-link{display:flex;align-items:center;gap:13px;min-height:48px;padding:9px 13px;border-radius:14px;color:#707eae;text-decoration:none;font-weight:600;position:relative;transition:.2s}.admin-side-link:hover{color:#1b2559;background:#f7f9ff}.admin-side-link.active{color:#1b2559;background:#f4f7fe}.admin-side-link.active:after{content:"";position:absolute;right:-20px;top:7px;bottom:7px;width:4px;border-radius:4px 0 0 4px;background:#4318ff}.admin-side-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:#a3aed0}.admin-side-link.active .admin-side-icon{color:#4318ff}.admin-sidebar-bottom{margin-top:auto;padding-top:24px;border-top:1px solid #eef1f7;display:flex;flex-direction:column;gap:6px}.admin-side-logout{color:#ee5d50}.admin-side-logout:hover{color:#d6453b;background:#fff4f3}.admin-content{margin-left:282px;min-height:100vh;display:flex;flex-direction:column}.admin-topbar{position:sticky;top:0;z-index:1025;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;background:rgba(244,247,254,.86);backdrop-filter:blur(14px)}.admin-page-heading{display:flex;flex-direction:column}.admin-page-heading small{font-size:.75rem;color:#707eae}.admin-page-heading strong{font-size:1.55rem;line-height:1.2;color:#1b2559}.admin-top-actions{display:flex;align-items:center;gap:12px}.admin-store-pill,.admin-user-pill{height:52px;border-radius:26px;background:#fff;box-shadow:0 8px 24px rgba(112,144,176,.12);display:inline-flex;align-items:center;gap:10px;padding:6px 14px;text-decoration:none;color:#1b2559}.admin-store-pill{font-weight:700}.admin-user-pill small,.admin-user-pill strong{display:block;line-height:1.12}.admin-user-pill small{font-size:.68rem;color:#a3aed0}.admin-user-pill strong{font-size:.82rem}.admin-user-avatar{width:36px;height:36px;border-radius:50%;background:#f4f7fe;color:#4318ff;display:grid;place-items:center}.admin-main{width:100%;max-width:1540px;margin:0 auto;padding:12px 28px 32px}.admin-footer{display:flex;justify-content:space-between;gap:20px;color:#a3aed0;font-size:.8rem;padding:12px 28px 24px;max-width:1540px;width:100%;margin:0 auto}.admin-card{border:0!important;border-radius:20px!important;background:#fff;box-shadow:0 10px 30px rgba(112,144,176,.08)!important}.admin-dashboard-hero{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:18px 2px}.admin-dashboard-hero h1{font-size:2rem;font-weight:700;color:#1b2559;margin:.2rem 0 .35rem}.admin-dashboard-hero p{color:#707eae;margin:0}.admin-eyebrow{display:inline-block;color:#4318ff;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.admin-primary-btn{background:#4318ff!important;border-color:#4318ff!important;color:#fff!important;border-radius:14px;font-weight:700;padding:.78rem 1.2rem;box-shadow:0 8px 20px rgba(67,24,255,.22)}.admin-primary-btn:hover{background:#3512da!important;border-color:#3512da!important}.admin-metric-card{height:100%;min-height:96px;border-radius:20px;background:#fff;padding:17px;display:flex;align-items:center;gap:13px;box-shadow:0 10px 30px rgba(112,144,176,.07)}.admin-metric-icon{width:48px;height:48px;border-radius:50%;background:#f4f7fe;color:#4318ff;display:grid;place-items:center;flex:0 0 48px;font-size:1.1rem}.admin-metric-card small{display:block;color:#a3aed0;font-weight:600;font-size:.72rem}.admin-metric-card strong{display:block;color:#1b2559;font-size:1.55rem;line-height:1.15;margin-top:2px}.admin-dashboard-card .card-body,.admin-quick-card .card-body{border-radius:20px}.admin-text-link{color:#4318ff;text-decoration:none;font-weight:700;font-size:.86rem}.admin-table{color:#1b2559}.admin-table th{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#a3aed0;border-color:#eef1f7}.admin-table td{border-color:#f0f2f7;padding-top:14px;padding-bottom:14px}.admin-table img,.admin-product-placeholder{width:54px;height:46px;border-radius:12px;object-fit:cover;background:#f4f7fe}.admin-product-placeholder{display:grid;place-items:center;color:#a3aed0}.admin-edit-btn{width:34px;height:34px;border-radius:10px;background:#f4f7fe;color:#4318ff;border:0;display:inline-grid;place-items:center}.admin-quick-link{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid #eef1f7;color:#1b2559;text-decoration:none}.admin-quick-link:last-child{border-bottom:0}.admin-quick-link>span{width:44px;height:44px;border-radius:14px;background:#f4f7fe;color:#4318ff;display:grid;place-items:center}.admin-quick-link div{display:flex;flex-direction:column}.admin-quick-link div small{color:#a3aed0;font-size:.72rem;margin-top:2px}.admin-quick-link>i{color:#a3aed0}.admin-action-card{border:0!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(112,144,176,.08)!important}.admin-section-title{color:#1b2559}.admin-main .form-control,.admin-main .form-select,.admin-main .input-group-text{border-color:#e3e8f2;border-radius:12px;min-height:44px}.admin-main .input-group>.form-control,.admin-main .input-group>.form-select,.admin-main .input-group>.input-group-text{border-radius:0}.admin-main .input-group>:first-child{border-radius:12px 0 0 12px}.admin-main .input-group>:last-child{border-radius:0 12px 12px 0}.admin-main .btn{border-radius:12px}.admin-main .btn-primary{background:#4318ff;border-color:#4318ff}.admin-main .btn-outline-primary{color:#4318ff;border-color:#d8d2ff}.admin-main .btn-outline-primary:hover{background:#4318ff;border-color:#4318ff}.admin-sidebar-backdrop{display:none}

.admin-login-body{font-family:"DM Sans",sans-serif;background:#f4f7fe;min-height:100vh}.admin-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,44%) 1fr}.admin-login-brand{background:linear-gradient(145deg,#0b1437,#1b2559 55%,#4318ff 150%);color:#fff;padding:64px clamp(35px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.admin-login-brand>div{display:flex;align-items:center;gap:12px;font-weight:700;margin-bottom:70px}.admin-login-brand img{width:52px;height:52px;object-fit:cover;border-radius:50%;border:2px solid rgba(255,255,255,.32)}.admin-login-brand h1{font-size:clamp(2.2rem,4vw,4.2rem);font-weight:700;line-height:1.05;margin-bottom:22px}.admin-login-brand p{max-width:520px;color:rgba(255,255,255,.72);font-size:1.05rem;line-height:1.7}.admin-login-form{display:grid;place-items:center;padding:30px}.admin-login-card{width:min(460px,100%);background:#fff;border-radius:24px;padding:clamp(28px,4vw,48px);box-shadow:0 18px 60px rgba(112,144,176,.14)}.admin-login-card h2{font-size:2rem;font-weight:700;color:#1b2559;margin:.45rem 0 .3rem}.admin-login-card .form-control{border-radius:14px;border-color:#e2e8f2;min-height:52px}

@media(max-width:1199.98px){.admin-sidebar{transform:translateX(-105%);box-shadow:20px 0 50px rgba(11,20,55,.18)}.admin-sidebar-open .admin-sidebar{transform:translateX(0)}.admin-sidebar-backdrop{position:fixed;inset:0;background:rgba(11,20,55,.38);z-index:1035}.admin-sidebar-open .admin-sidebar-backdrop{display:block}.admin-content{margin-left:0}.admin-topbar{padding:14px 18px}.admin-main{padding:10px 18px 28px}.admin-footer{padding:10px 18px 22px}.related-product-card{flex-basis:calc(33.333% - .85rem)}}
@media(max-width:767.98px){.catalog-navbar .navbar-brand{max-width:calc(100% - 152px)!important}.catalog-mobile-actions{margin-left:auto!important}.catalog-navbar .navbar-collapse .navbar-cart-btn{display:none!important}.mobile-cart-btn{height:40px}.mobile-cart-label{display:none}.related-product-card{flex-basis:78%;min-width:250px}.related-products h2{font-size:1.45rem}.related-carousel-controls .btn{width:38px;height:38px}.admin-page-heading strong{font-size:1.2rem}.admin-page-heading small{display:none}.admin-user-pill{height:46px;padding:5px}.admin-user-avatar{width:36px;height:36px}.admin-dashboard-hero{align-items:flex-start;flex-direction:column}.admin-dashboard-hero .btn{width:100%}.admin-main{padding:6px 12px 24px}.admin-metric-card{min-height:88px;padding:14px;gap:10px}.admin-metric-icon{width:42px;height:42px;flex-basis:42px}.admin-metric-card strong{font-size:1.35rem}.admin-metric-card small{font-size:.67rem}.admin-card .card-body{padding:1rem!important}.admin-footer{padding:8px 12px 20px}.admin-login-shell{grid-template-columns:1fr}.admin-login-brand{display:none}.admin-login-form{padding:18px}.admin-login-card{padding:26px 20px}.admin-sidebar{width:min(86vw,300px)}}
@media(max-width:420px){.catalog-navbar{padding-left:.65rem!important;padding-right:.65rem!important}.catalog-navbar .navbar-brand{max-width:calc(100% - 130px)!important}.catalog-navbar .navbar-brand .site-logo{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;max-height:40px!important}.mobile-cart-btn{padding:.5rem .62rem}.mobile-cart-btn .badge{margin-left:0!important}.catalog-navbar .navbar-toggler{padding:.32rem .42rem}.related-product-card{flex-basis:88%;min-width:235px}.admin-metrics>.col-6{width:100%}.admin-metric-card{min-height:78px}.admin-topbar{gap:10px}.admin-store-pill{display:none!important}}

/* v25 - preço único, regras globais e usuários */
.promotion-admin-box{border:1px solid #eef1f7;background:#f8faff;border-radius:16px;padding:16px;margin-bottom:18px}.pricing-preview,.pricing-rule-example{display:grid;gap:10px}.pricing-preview>div,.pricing-rule-example>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border-radius:12px;background:#f7f9ff}.pricing-preview span,.pricing-rule-example span{color:#707eae;font-size:.82rem}.pricing-preview strong,.pricing-rule-example strong{color:#1b2559;text-align:right}.admin-main .form-switch .form-check-input{width:2.6em;height:1.35em}.admin-main .form-switch .form-check-input:checked{background-color:#4318ff;border-color:#4318ff}.admin-side-link+.admin-nav-label{margin-top:18px}.admin-login-card .alert{border-radius:14px}.admin-table .text-decoration-line-through{font-size:.72rem}.admin-main .badge{font-weight:600}
@media(max-width:575.98px){.pricing-preview>div,.pricing-rule-example>div{align-items:flex-start;flex-direction:column;gap:3px}.pricing-preview strong,.pricing-rule-example strong{text-align:left}.admin-main .table-responsive{border-radius:14px}.admin-main .form-hint{line-height:1.45}}


/* v26 - pedidos e unidades de venda */
.product-measure { color:#5f6f86; font-size:.78rem; font-weight:600; }
.measurement-field { margin-bottom:1rem; }
.admin-table td { vertical-align:middle; }
@media (max-width: 575.98px) {
  #documentLabel { font-weight:600; }
  .cart-checkout-card .form-text { font-size:.75rem; }
}

/* v27: garantia e rolagem infinita */
.product-warranty{font-size:.78rem;color:#66758a}
.product-warranty i{color:#198754}
.catalog-infinite-sentinel{min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.catalog-end-message{border-top:1px solid #eef2f7;margin-top:2rem}
@media(max-width:767.98px){.catalog-infinite-sentinel{min-height:90px;padding-top:1.75rem!important;padding-bottom:1.75rem!important}}


/* v28 - imagens padronizadas, foto principal, compartilhamento e blog */
.product-thumb img,.product-detail-main img,.thumb-list img{object-fit:contain!important;background:#fff}.product-detail-main{background:#fff}.preview-item img,.admin-table img{object-fit:contain!important;background:#fff}.preview-item.is-primary{border:2px solid #4318ff;box-shadow:0 0 0 3px rgba(67,24,255,.08)}.primary-photo-label,.preview-primary{position:absolute;left:7px;bottom:7px;border:0;border-radius:999px;background:rgba(20,30,60,.88);color:#fff;font-size:.68rem;font-weight:700;padding:.36rem .55rem;display:flex;align-items:center;gap:.3rem}.primary-photo-label input{accent-color:#4318ff}.preview-primary{cursor:pointer}.preview-item.is-primary .preview-primary{background:#4318ff}.blog-admin-cover{width:100%;aspect-ratio:16/9;object-fit:contain;background:#f6f8fc;border-radius:16px;border:1px solid #e5eaf2}.blog-card,.home-blog-card{background:#fff;border:1px solid #e7edf5;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(7,26,61,.06);display:flex;flex-direction:column}.blog-card-image,.home-blog-image img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.blog-card-body,.home-blog-body{padding:1.35rem;display:flex;flex-direction:column;flex:1}.blog-card-body h2,.home-blog-body h3{font-weight:700;line-height:1.25}.blog-card-body p,.home-blog-body p{flex:1}.blog-article{max-width:1150px}.blog-article-cover{width:100%;max-height:620px;object-fit:contain;background:#f7f9fc;border-radius:24px}.blog-article-content{font-size:1.05rem;line-height:1.9;color:#3f4f63;white-space:normal}.blog-download-box{display:flex;gap:18px;align-items:flex-start;padding:24px;border:1px solid #dfe8f3;border-radius:18px;background:#f7faff}.blog-download-box>i{font-size:1.6rem;color:#0d6efd}.js-share-product{white-space:nowrap}@media(max-width:575.98px){.primary-photo-label,.preview-primary{font-size:.62rem;padding:.3rem .45rem}.blog-download-box{flex-direction:column}}


/* v34 - editor visual do Blog / Dicas */
.blog-editor{border:1px solid #dfe5ef;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 6px 18px rgba(22,34,66,.04)}
.blog-editor-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px;border-bottom:1px solid #e8edf4;background:#f8faff}
.blog-editor-format{width:auto;min-width:145px}
.editor-btn{border:1px solid #d8e0eb;background:#fff;color:#243b64;border-radius:8px;min-width:36px;height:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;transition:.15s}
.editor-btn:hover,.editor-btn.active{background:#4318ff;color:#fff;border-color:#4318ff}
.blog-editor-visual,.blog-editor-source{min-height:420px;padding:22px;font-size:1rem;line-height:1.75;border:0!important;border-radius:0!important;outline:0;resize:vertical;background:#fff}
.blog-editor-visual:focus{box-shadow:inset 0 0 0 2px rgba(67,24,255,.12)}
.blog-editor-visual h2,.blog-editor-visual h3,.blog-editor-visual h4{margin-top:1.25em;color:#162b4d}
.blog-editor-visual blockquote{border-left:4px solid #4318ff;padding:8px 16px;background:#f7f5ff;color:#4d5c75}
.blog-editor-visual pre{background:#101828;color:#e9eef8;border-radius:10px;padding:14px;white-space:pre-wrap}
.blog-editor-source{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:.9rem;color:#162b4d}
@media(max-width:575.98px){.blog-editor-format{width:100%}.blog-editor-visual,.blog-editor-source{min-height:340px;padding:16px}.editor-source-btn{margin-left:auto}}

/* v35 - blog integrado ao site, mídia no editor e sidebar com rolagem */
.admin-sidebar{height:100vh;overflow:hidden}
.admin-sidebar-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:5px;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#cfd8e8 transparent}
.admin-sidebar-nav::-webkit-scrollbar{width:6px}.admin-sidebar-nav::-webkit-scrollbar-track{background:transparent}.admin-sidebar-nav::-webkit-scrollbar-thumb{background:#cfd8e8;border-radius:999px}.admin-sidebar-bottom{flex:0 0 auto;background:#fff;position:relative;z-index:2}
.blog-editor-upload-status{padding:8px 12px;border-bottom:1px solid #e8edf4;background:#fbfcff;font-size:.82rem;font-weight:600}
.blog-editor-visual .blog-inline-media{margin:1.5rem 0;text-align:center}.blog-editor-visual .blog-inline-image{max-width:100%;height:auto;border-radius:14px;box-shadow:0 8px 24px rgba(14,35,71,.08)}
.blog-inline-media{margin:2rem 0;text-align:center}.blog-inline-image{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:18px;box-shadow:0 12px 32px rgba(7,26,61,.10)}.blog-inline-caption{display:block;margin-top:.6rem;color:#718096;font-size:.88rem}
.blog-inline-video{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:20px;background:#08152f;box-shadow:0 14px 36px rgba(7,26,61,.12)}.blog-inline-youtube{position:absolute;inset:0;width:100%;height:100%;border:0}

.blog-page-hero,.blog-article-hero{position:relative;overflow:hidden;background-image:linear-gradient(115deg,rgba(4,15,35,.92),rgba(6,32,72,.84) 58%,rgba(13,110,253,.52)),url("../../img/hero-bg.webp");background-size:cover;background-position:center}.blog-page-hero:after,.blog-article-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:42px 42px;pointer-events:none}.blog-page-hero .container,.blog-article-hero .container{z-index:1}
.blog-list-page{max-width:1320px}.blog-card{transition:transform .22s ease,box-shadow .22s ease;border-color:#e1eaf5}.blog-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(7,26,61,.11)}.blog-card-image-wrap{display:block;overflow:hidden;background:#edf3fa}.blog-card-image{height:210px!important;aspect-ratio:auto!important;object-fit:cover!important;transition:transform .35s ease}.blog-card:hover .blog-card-image{transform:scale(1.025)}.blog-card-meta{color:#0d6efd;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.blog-read-link{font-weight:700;color:#0d6efd;text-decoration:none}.blog-read-link:hover{color:#0a58ca}.blog-empty-state{text-align:center;padding:4rem 1.5rem;border:1px dashed #cbd8e8;border-radius:24px;background:#f8fbff}.blog-empty-state i{font-size:2.8rem;color:#0d6efd;margin-bottom:1rem}
.blog-article-hero{background-position:center 36%}.blog-breadcrumb{margin-bottom:1.6rem}.blog-breadcrumb a{color:rgba(255,255,255,.8);text-decoration:none}.blog-breadcrumb .active{color:rgba(255,255,255,.55)}.blog-breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.45)}.blog-article-date{display:inline-flex;align-items:center;color:#9ec5fe;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.blog-article-card{background:#fff;border:1px solid #e6edf6;border-radius:28px;padding:clamp(1.2rem,4vw,3rem);box-shadow:0 18px 50px rgba(7,26,61,.08)}.blog-article-cover{max-height:520px!important;object-fit:cover!important;background:#eef4fb!important}.blog-article-content{font-size:1.08rem;line-height:1.9;color:#3c4d63}.blog-article-content h2,.blog-article-content h3,.blog-article-content h4{font-family:"Roboto Slab",serif;color:#10294d;margin-top:2rem;margin-bottom:.9rem}.blog-article-content h2{font-size:1.75rem}.blog-article-content h3{font-size:1.4rem}.blog-article-content blockquote{border-left:4px solid #0d6efd;background:#f4f8ff;border-radius:0 14px 14px 0;padding:1rem 1.25rem;color:#38506e}.blog-article-content pre{background:#0c1831;color:#eaf2ff;border-radius:14px;padding:1rem;overflow:auto}.blog-article-content table{width:100%;margin:1.5rem 0;border-collapse:collapse}.blog-article-content th,.blog-article-content td{border:1px solid #dfe8f3;padding:.65rem .75rem}.blog-article-content a{overflow-wrap:anywhere}.blog-article-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #edf1f6;padding-top:1.5rem}
.blog-site-navbar .navbar-nav .nav-link{white-space:nowrap}
@media(max-width:991.98px){.blog-site-navbar .navbar-nav{background:#fff!important;padding-right:0!important}.blog-page-hero h1,.blog-article-hero h1{font-size:2.25rem}.blog-card-image{height:190px!important}}
@media(max-width:575.98px){.blog-page-hero h1,.blog-article-hero h1{font-size:1.9rem}.blog-card-image{height:185px!important}.blog-article-card{border-radius:20px}.blog-article-content{font-size:1rem;line-height:1.8}.blog-article-actions .btn{width:100%}.blog-editor-toolbar{gap:5px}.editor-btn{padding:0 8px}.blog-inline-media,.blog-editor-visual .blog-inline-media{margin:1rem 0}.blog-inline-image{border-radius:12px}}


/* v36 - busca principal no hero do catálogo */
.catalog-hero-search{display:flex;width:100%;max-width:920px;height:58px;background:#fff;border:1px solid rgba(255,255,255,.65);border-radius:6px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.16)}
.catalog-hero-search input{flex:1;min-width:0;border:0;outline:0;background:#fff;color:#243654;font-size:1rem;padding:0 1.15rem}
.catalog-hero-search input::placeholder{color:#776b61;opacity:.95}
.catalog-hero-search button{width:66px;flex:0 0 66px;border:0;border-left:1px solid #d7dce5;background:#fff;color:#132a63;font-size:1.55rem;display:grid;place-items:center;transition:.2s}
.catalog-hero-search button:hover,.catalog-hero-search button:focus{background:#f2f6fd;color:#0d6efd}
.catalog-hero-search:focus-within{box-shadow:0 0 0 3px rgba(13,110,253,.22),0 14px 34px rgba(0,0,0,.16)}
@media(max-width:767.98px){.catalog-hero-search{height:54px;border-radius:6px}.catalog-hero-search input{font-size:.94rem;padding:0 .95rem}.catalog-hero-search button{width:56px;flex-basis:56px;font-size:1.35rem}}
@media(max-width:420px){.catalog-hero-search input{font-size:.88rem}.catalog-hero-search input::placeholder{font-size:.86rem}}

/* v37 - pesquisa instantanea do catalogo */
.catalog-hero-search { position: relative; z-index: 20; }
.catalog-search-suggestions {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    display: none;
    max-height: 430px;
    overflow-y: auto;
    border: 1px solid #dce4ef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 20px 45px rgba(3,18,48,.22);
    text-align: left;
}
.catalog-search-suggestions.show { display: block; }
.catalog-search-suggestion {
    display: grid;
    grid-template-columns: 58px minmax(0,1fr) auto;
    gap: .85rem;
    align-items: center;
    padding: .75rem .9rem;
    color: #14253d;
    text-decoration: none;
    border-bottom: 1px solid #edf1f6;
}
.catalog-search-suggestion:last-child { border-bottom: 0; }
.catalog-search-suggestion:hover,
.catalog-search-suggestion:focus { background: #f5f8fd; color: #0d6efd; }
.catalog-search-suggestion img {
    width: 58px;
    height: 50px;
    border-radius: 9px;
    object-fit: contain;
    background: #f6f8fb;
    border: 1px solid #edf1f6;
}
.catalog-search-suggestion-copy { min-width: 0; display: flex; flex-direction: column; }
.catalog-search-suggestion-copy strong { color: #172b49; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.catalog-search-suggestion-copy small { margin-top: .2rem; color: #77859a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.catalog-search-suggestion-price { color: #0c376f; font-weight: 800; white-space: nowrap; }
@media (max-width: 575.98px) {
    .catalog-search-suggestion { grid-template-columns: 48px minmax(0,1fr); padding: .65rem; }
    .catalog-search-suggestion img { width: 48px; height: 44px; }
    .catalog-search-suggestion-price { grid-column: 2; font-size: .9rem; margin-top: -.2rem; }
}

/* v43 - ações compactas na página do produto */
.product-detail-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.product-detail-action{min-height:42px;padding:.58rem .9rem;font-size:.9rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.product-detail-actions .product-detail-action{flex:0 1 auto}@media(max-width:575.98px){.product-detail-actions{display:grid;grid-template-columns:1fr 1fr}.product-detail-actions .product-detail-action:first-child{grid-column:1/-1}.product-detail-action{width:100%;font-size:.86rem;padding:.55rem .7rem}}

/* Instalação opcional por produto - v46 */
.installation-option-box{padding:14px 16px;border:1px solid #dce7f4;border-radius:14px;background:#f7faff;max-width:520px}
.product-installation{color:#176b45;font-size:.86rem}
.installation-awareness-backdrop{position:fixed;inset:0;background:rgba(4,15,35,.68);z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;visibility:hidden;transition:.2s ease}
.installation-awareness-backdrop.show{opacity:1;visibility:visible}
.installation-awareness-dialog{position:relative;width:min(560px,100%);background:#fff;border-radius:20px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.installation-awareness-dialog h3{color:#0a234a;margin:0 0 14px}.installation-awareness-dialog p{color:#536274;line-height:1.62}
.installation-awareness-icon{width:52px;height:52px;border-radius:14px;background:#e8f2ff;color:#0d6efd;display:grid;place-items:center;font-size:1.3rem;margin-bottom:15px}
.installation-awareness-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:1.8rem;color:#6c757d}
.installation-awareness-check{display:flex;gap:10px;align-items:flex-start;padding:13px;border-radius:12px;background:#fff8e6;border:1px solid #ffe1a1;font-weight:600;color:#594512}
.installation-awareness-check input{margin-top:4px}
@media(max-width:575.98px){.installation-awareness-dialog{padding:22px 18px}.installation-awareness-dialog .d-flex{flex-direction:column-reverse}.installation-awareness-dialog .btn{width:100%}}

/* v47 - categorias hierárquicas, exclusão em lote e rascunho de produto */
.category-row-parent{background:#fbfcff;padding-left:.8rem;padding-right:.8rem;border-radius:12px}.category-row-child{padding-left:2.2rem}.category-row-child strong{font-weight:600}.admin-table .product-select-checkbox,.admin-table #selectAllProducts{width:1.1rem;height:1.1rem;cursor:pointer}.admin-table th:first-child,.admin-table td:first-child{text-align:center}.admin-main #bulkDeleteButton:disabled{opacity:.55;cursor:not-allowed}.admin-main #productDraftNotice{border-radius:16px}
@media(max-width:767.98px){.category-row{align-items:flex-start}.category-row-child{padding-left:1rem;border-left:3px solid #e8ecf8}.admin-table .product-select-checkbox,.admin-table #selectAllProducts{width:1.2rem;height:1.2rem}}
