:root {
    --store-navy: #0c4f9f;
    --store-navy-deep: #083a78;
    --store-blue: #2f86cf;
    --store-sky: #eaf6ff;
    --store-mist: #f7fbff;
    --store-ink: #13243c;
    --store-muted: #63748a;
    --store-line: #dce9f5;
    --store-white: #fff;
    --store-shadow: 0 15px 45px rgba(28, 86, 144, .11);
}

html { scroll-behavior: smooth; }

body,
#page {
    background: var(--store-mist) !important;
    color: var(--store-ink);
    font-family: 'DM Sans', Arial, sans-serif !important;
    line-height: 1.55;
}

#page { overflow: hidden; }

#page .container {
    width: 100%;
    max-width: 1240px;
}

#page a { transition: color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease; }

.store-topline {
    background: var(--store-navy-deep);
    color: rgba(255,255,255,.86);
    font-size: 13px;
}

.store-topline__inner {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.store-topline a { color: #fff; text-decoration: none; }
.store-topline__links { display: flex; align-items: center; gap: 16px; }

.store-header {
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--store-line);
    position: relative;
    z-index: 20;
}

.store-header__inner {
    min-height: 82px;
    display: flex;
    align-items: center;
    gap: 32px;
}

.store-brand {
    color: var(--store-navy);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    min-width: 155px;
    max-width: 230px;
}

.store-brand img { max-height: 58px; max-width: 100%; object-fit: contain; }
.store-brand__fallback { display: grid; line-height: 1; }
.store-brand__fallback strong { font-family: 'Playfair Display', Georgia, serif; letter-spacing: .07em; font-size: 22px; }
.store-brand__fallback small { color: #65a0d6; font-size: 10px; letter-spacing: .14em; margin-top: 5px; }

.store-nav { margin-left: auto; }
.store-nav__list { display: flex; align-items: center; gap: 26px; list-style: none; padding: 0; margin: 0; }
.store-nav__list a,
.store-nav summary {
    color: #263a56;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .025em;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.store-nav__list a:hover,
.store-nav summary:hover { color: var(--store-navy); }
.store-nav details { position: relative; }
.store-nav summary { list-style: none; }
.store-nav summary::-webkit-details-marker { display: none; }
.store-nav summary .fa-chevron-down { margin-left: 4px; font-size: 10px; }
.store-nav__dropdown {
    background: #fff;
    border: 1px solid var(--store-line);
    border-radius: 12px;
    box-shadow: var(--store-shadow);
    left: -16px;
    list-style: none;
    margin: 15px 0 0;
    min-width: 210px;
    overflow: hidden;
    padding: 8px 0;
    position: absolute;
    top: 100%;
}
.store-nav__dropdown a { display: block; padding: 9px 16px; text-transform: none; font-size: 13px; }
.store-nav__dropdown a:hover { background: var(--store-sky); }

.store-header__actions { display: flex; gap: 9px; align-items: center; }
.store-icon-link {
    align-items: center;
    border: 1px solid var(--store-line);
    border-radius: 50%;
    color: var(--store-navy);
    display: inline-flex;
    height: 40px;
    justify-content: center;
    position: relative;
    text-decoration: none;
    width: 40px;
}
.store-icon-link:hover { background: var(--store-navy); color: white; transform: translateY(-2px); }
.store-cart-count {
    align-items: center;
    background: #ef6a62;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: 10px;
    font-weight: 700;
    height: 18px;
    justify-content: center;
    position: absolute;
    right: -6px;
    top: -6px;
    width: 18px;
}
.store-nav-toggle { background: none; border: 0; color: var(--store-navy); display: none; font-size: 22px; padding: 5px; }

.store-search {
    background: #fff;
    border-bottom: 1px solid var(--store-line);
    display: none;
    padding: 12px 0;
}
.store-search.is-open { display: block; }
.store-search form { display: flex; margin: 0 auto; max-width: 650px; }
.store-search input { border: 1px solid var(--store-line); border-radius: 7px 0 0 7px; flex: 1; outline: 0; padding: 11px 15px; }
.store-search button { background: var(--store-navy); border: 0; border-radius: 0 7px 7px 0; color: white; padding: 0 18px; }

.storefront-page { padding: 54px 0 72px; }
.store-section { padding: 38px 0; }
.store-section--white { background: #fff; }
.store-section-heading { margin: 0 auto 28px; max-width: 670px; text-align: center; }
.store-section-eyebrow { color: var(--store-blue); font-size: 12px; font-weight: 700; letter-spacing: .15em; margin: 0 0 7px; text-transform: uppercase; }
.store-section-heading h1,
.store-section-heading h2 {
    color: var(--store-navy-deep);
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(27px, 3vw, 38px);
    margin: 0;
}
.store-section-heading p { color: var(--store-muted); margin: 10px auto 0; }

.store-hero {
    background: radial-gradient(circle at 86% 18%, rgba(148,209,251,.45), transparent 20%), linear-gradient(117deg, #fff 0%, #eff9ff 50%, #dbefff 100%);
    border-bottom: 1px solid var(--store-line);
    min-height: 510px;
    overflow: hidden;
    position: relative;
}
.store-hero:before,
.store-hero:after {
    border: 1px solid rgba(72,155,223,.18);
    border-radius: 50%;
    content: '';
    position: absolute;
}
.store-hero:before { height: 640px; right: -230px; top: -220px; width: 640px; }
.store-hero:after { height: 360px; right: 4%; top: 42px; width: 360px; }
.store-hero__inner { align-items: center; display: grid; gap: 30px; grid-template-columns: 1.02fr .98fr; min-height: 510px; position: relative; z-index: 1; }
.store-hero__content { padding: 58px 0; }
.store-hero__kicker { color: var(--store-blue); font-size: 15px; font-weight: 700; letter-spacing: .1em; margin: 0 0 8px; text-transform: uppercase; }
.store-hero h1 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(42px, 5vw, 66px); line-height: 1.06; margin: 0; max-width: 640px; }
.store-hero h1 em { color: var(--store-blue); font-style: normal; }
.store-hero__lead { color: #415873; font-size: 18px; line-height: 1.65; margin: 19px 0 25px; max-width: 550px; }
.store-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.store-button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    gap: 8px;
    justify-content: center;
    padding: 12px 21px;
    text-decoration: none;
}
.store-button--primary { background: var(--store-navy); color: #fff; }
.store-button--primary:hover { background: var(--store-navy-deep); box-shadow: 0 8px 18px rgba(12,79,159,.25); color: #fff; transform: translateY(-2px); }
.store-button--secondary { border-color: var(--store-navy); color: var(--store-navy); }
.store-button--secondary:hover { background: #fff; color: var(--store-navy-deep); transform: translateY(-2px); }
.store-hero__benefits { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 28px; }
.store-hero__benefits span { color: #46617e; font-size: 13px; font-weight: 600; }
.store-hero__benefits i { color: var(--store-blue); margin-right: 5px; }
.store-hero__visual { align-items: center; display: flex; justify-content: center; min-height: 430px; position: relative; }
.store-orb { background: radial-gradient(circle at 34% 25%, #fff, #e8f7ff 55%, #b7ddf7 100%); border: 10px solid rgba(255,255,255,.75); border-radius: 50%; box-shadow: 0 24px 65px rgba(37,120,185,.18); height: min(410px, 34vw); min-height: 320px; min-width: 320px; position: relative; width: min(410px, 34vw); }
.store-orb:before,
.store-orb:after { background: rgba(255,255,255,.65); border: 1px solid rgba(58,140,205,.16); border-radius: 50%; content: ''; position: absolute; }
.store-orb:before { height: 54px; right: 4%; top: 14%; width: 54px; }
.store-orb:after { bottom: 8%; height: 29px; left: 3%; width: 29px; }
.store-hero-product { bottom: -10px; filter: drop-shadow(0 22px 20px rgba(10,61,112,.2)); height: 94%; left: 50%; max-width: 83%; object-fit: contain; position: absolute; transform: translateX(-50%); width: auto; z-index: 2; }
.store-hero-product--empty { align-items: center; color: var(--store-navy); display: flex; font-size: 72px; height: 100%; justify-content: center; position: relative; z-index: 2; }

.store-trust { margin-top: -30px; position: relative; z-index: 4; }
.store-trust__grid { background: #fff; border: 1px solid var(--store-line); border-radius: 14px; box-shadow: var(--store-shadow); display: grid; grid-template-columns: repeat(4, 1fr); }
.store-trust__item { align-items: center; display: flex; gap: 12px; padding: 18px 20px; position: relative; }
.store-trust__item + .store-trust__item:before { background: var(--store-line); content: ''; height: 44px; left: 0; position: absolute; width: 1px; }
.store-trust__item i { color: var(--store-blue); font-size: 26px; }
.store-trust__item strong { color: var(--store-navy-deep); display: block; font-size: 13px; text-transform: uppercase; }
.store-trust__item span { color: var(--store-muted); display: block; font-size: 12px; }

.store-product-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); }
.store-product-grid--three { grid-template-columns: repeat(3, 1fr); }
.store-product-card { background: #fff; border: 1px solid var(--store-line); border-radius: 14px; display: flex; flex-direction: column; min-width: 0; overflow: hidden; position: relative; }
.store-product-card:hover { box-shadow: var(--store-shadow); transform: translateY(-5px); }
.store-product-card__image { align-items: center; background: linear-gradient(145deg, #fcfeff, #eaf6fd); display: flex; height: 230px; justify-content: center; overflow: hidden; padding: 18px; }
.store-product-card__image img { height: 100%; max-width: 100%; object-fit: contain; transition: transform .35s ease; width: 100%; }
.store-product-card:hover .store-product-card__image img { transform: scale(1.05); }
.store-product-card__body { display: flex; flex: 1; flex-direction: column; padding: 17px; }
.store-product-card__tag { color: var(--store-blue); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.store-product-card h3 { font-size: 16px; line-height: 1.42; margin: 6px 0 11px; min-height: 45px; }
.store-product-card h3 a { color: var(--store-ink); text-decoration: none; }
.store-product-card h3 a:hover { color: var(--store-navy); }
.store-product-card__price { color: var(--store-navy); font-size: 17px; font-weight: 700; margin-top: auto; }
.store-product-card__old-price { color: #98a6b4; font-size: 13px; font-weight: 400; margin-left: 5px; text-decoration: line-through; }
.store-product-card__footer { align-items: center; display: flex; justify-content: space-between; margin-top: 14px; }
.store-card-cart { align-items: center; background: var(--store-sky); border: 0; border-radius: 50%; color: var(--store-navy); display: inline-flex; height: 36px; justify-content: center; width: 36px; }
.store-card-cart:hover { background: var(--store-navy); color: #fff; transform: translateY(-2px); }
.store-card-link { color: var(--store-navy); font-size: 13px; font-weight: 700; text-decoration: none; }
.store-card-link:hover { color: var(--store-navy-deep); }

.store-feature-panel { background: linear-gradient(110deg, #edf8ff, #dff1ff); border: 1px solid #d2eafb; border-radius: 18px; display: grid; gap: 20px; grid-template-columns: .85fr 1.15fr; overflow: hidden; padding: 30px; }
.store-feature-panel h2 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 34px; margin: 0 0 12px; }
.store-feature-panel p { color: #4d6680; margin-bottom: 18px; }
.store-feature-list { display: grid; gap: 13px; grid-template-columns: repeat(2, 1fr); }
.store-feature-list__item { background: rgba(255,255,255,.82); border: 1px solid rgba(184,220,245,.9); border-radius: 12px; padding: 17px; }
.store-feature-list__item i { color: var(--store-blue); font-size: 24px; }
.store-feature-list__item strong { color: var(--store-navy-deep); display: block; font-size: 14px; margin-top: 8px; }
.store-feature-list__item span { color: var(--store-muted); display: block; font-size: 12px; margin-top: 3px; }

.store-stats { background: linear-gradient(110deg, var(--store-navy-deep), var(--store-blue)); border-radius: 14px; color: #fff; display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; }
.store-stat { padding: 21px 24px; text-align: center; }
.store-stat + .store-stat { border-left: 1px solid rgba(255,255,255,.22); }
.store-stat strong { display: block; font-size: 28px; line-height: 1; }
.store-stat span { font-size: 12px; opacity: .9; text-transform: uppercase; }

.store-footer { background: #fff; border-top: 1px solid var(--store-line); color: #52657c; }
.store-footer__benefits { border-bottom: 1px solid var(--store-line); display: grid; grid-template-columns: repeat(4, 1fr); }
.store-footer__benefit { align-items: center; display: flex; gap: 12px; justify-content: center; padding: 18px; }
.store-footer__benefit i { color: var(--store-blue); font-size: 22px; }
.store-footer__benefit strong { color: var(--store-navy-deep); display: block; font-size: 12px; text-transform: uppercase; }
.store-footer__benefit span { font-size: 12px; }
.store-footer__main { display: grid; gap: 34px; grid-template-columns: 1.4fr 1fr 1fr 1.15fr; padding: 44px 0 30px; }
.store-footer h3 { color: var(--store-navy-deep); font-size: 14px; font-weight: 700; letter-spacing: .04em; margin: 0 0 13px; text-transform: uppercase; }
.store-footer p { font-size: 13px; margin: 0 0 7px; }
.store-footer ul { list-style: none; margin: 0; padding: 0; }
.store-footer li { margin: 0 0 7px; }
.store-footer a { color: #52657c; font-size: 13px; text-decoration: none; }
.store-footer a:hover { color: var(--store-navy); }
.store-footer__brand { color: var(--store-navy); font-family: 'Playfair Display', Georgia, serif; font-size: 24px; margin-bottom: 10px; }
.store-footer__bottom { background: #eff8ff; color: #708196; font-size: 12px; padding: 13px 0; }
.store-footer__bottom .container { display: flex; justify-content: space-between; gap: 14px; }
.store-floating { bottom: 26px; display: grid; gap: 8px; position: fixed; right: 22px; z-index: 25; }
.store-floating a { align-items: center; background: var(--store-navy); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 6px 18px rgba(16,69,126,.25); color: #fff; display: flex; height: 43px; justify-content: center; text-decoration: none; width: 43px; }
.store-floating a:hover { background: var(--store-blue); color: #fff; transform: scale(1.08); }
.store-campaign-overlay { background: rgba(7,31,60,.56); display: none; inset: 0; position: fixed; z-index: 99; }
.store-campaign { background: #fff; border-radius: 16px; box-shadow: 0 25px 70px rgba(5,40,83,.32); display: none; left: 50%; max-height: calc(100vh - 36px); max-width: min(480px, calc(100vw - 32px)); overflow: auto; padding: 18px; position: fixed; text-align: center; top: 50%; transform: translate(-50%,-50%); z-index: 100; }
.store-campaign.is-visible,
.store-campaign-overlay.is-visible { display: block; }
.store-campaign img { border-radius: 10px; height: auto; max-width: 100%; }
.store-campaign h2 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 25px; margin: 16px 0 7px; }
.store-campaign p { color: var(--store-muted); font-size: 14px; }

/* Modernize legacy public pages without changing their business forms. */
#page .navbar.navbar-light.bg-light { background: #fff !important; border: 1px solid var(--store-line); border-radius: 12px; margin: 30px 0 22px; }
#page .navbar-brand { color: var(--store-navy-deep) !important; font-family: 'Playfair Display', Georgia, serif; font-weight: 700; }
#page .sidebar form,
#page .shoping__checkout,
#page .product__details__text,
#page .product__details__tab,
#page .kt-portlet,
#page .card { border: 1px solid var(--store-line) !important; border-radius: 14px !important; box-shadow: none; }
#page .sidebar form { background: #fff; }
#page .sidebar h5 { color: var(--store-navy-deep); font-size: 14px; font-weight: 700; }
#page .sidebar a { color: #506880; }
#page .sidebar a:hover { color: var(--store-navy); }
#page .product_card { border: 1px solid var(--store-line) !important; border-radius: 14px !important; box-shadow: none !important; overflow: hidden; }
#page .product_card:hover { box-shadow: var(--store-shadow) !important; }
#page .product_card .card-img-top { background: linear-gradient(145deg,#fff,#eaf6fd); height: 220px; object-fit: contain; padding: 15px; }
#page .product-title a { color: var(--store-ink) !important; }
#page .product-title a:hover { color: var(--store-navy) !important; }
#page .product-price { color: var(--store-navy) !important; font-weight: 700; }
#page .product-card_item_pic_hover li:hover a { background: var(--store-navy) !important; border-color: var(--store-navy) !important; }
#page .btn-primary,
#page .primary-btn { background: var(--store-navy) !important; border-color: var(--store-navy) !important; border-radius: 999px !important; color: #fff !important; font-weight: 700; }
#page .btn-primary:hover,
#page .primary-btn:hover { background: var(--store-navy-deep) !important; border-color: var(--store-navy-deep) !important; }
#page .form-control,
#page .form-select { border-color: #cfdfec; border-radius: 8px; box-shadow: none; min-height: 43px; }
#page .form-control:focus,
#page .form-select:focus { border-color: var(--store-blue); box-shadow: 0 0 0 .2rem rgba(47,134,207,.12); }
#page .product__details { background: #fff; padding: 48px 0; }
#page .product__details__pic { background: linear-gradient(145deg,#fff,#eaf6fd); border-radius: 16px; overflow: hidden; }
#page .product__details__pic img { object-fit: contain !important; }
#page .product__details__text h3,
#page .product__details__tab h6 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; }
#page .product__details__price { color: var(--store-navy) !important; font-weight: 700; }
#page .product__details__rating i { color: #f4b942; }
#page .shoping-cart { background: transparent; padding: 44px 0; }
#page .shoping__cart__table { background: #fff; border: 1px solid var(--store-line); border-radius: 14px; overflow: hidden; padding: 10px; }
#page .shoping__cart__table thead th { color: var(--store-navy-deep); font-size: 13px; }
#page .shoping__cart__item img { background: #f1f8fd; border-radius: 9px; object-fit: contain; padding: 4px; }
#page .shoping__checkout { background: #fff; padding: 25px; }
#page .shoping__checkout li { color: var(--store-navy-deep); font-weight: 700; }
#page .shoping__checkout li span { color: var(--store-navy); }
#page .blog,
#page .contact,
#page .post-detail { background: #fff; border: 1px solid var(--store-line); border-radius: 14px; padding: 28px; }
#page .container-fluid.py-5 { padding-bottom: 65px !important; padding-top: 30px !important; }
#page .container-fluid.py-5 > .container { margin-top: 20px !important; }
#page .container-fluid.py-5 .blog-item { background: #fff; border: 1px solid var(--store-line) !important; border-radius: 16px; box-shadow: none; color: #455f79; line-height: 1.72; padding: 30px !important; }
#page .container-fluid.py-5 .blog-item h5 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 20px; }
#page .container-fluid.py-5 h1.text-primary { color: var(--store-navy-deep) !important; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(29px,4vw,43px); }

.store-checkout { padding: 50px 0 72px; }
.store-checkout__grid { align-items: start; display: grid; gap: 25px; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); }
.store-checkout__panel { background: #fff; border: 1px solid var(--store-line); border-radius: 16px; padding: 28px; }
.store-checkout__panel h2 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 26px; margin: 0 0 5px; }
.store-checkout__panel > p { color: var(--store-muted); font-size: 14px; margin-bottom: 22px; }
.store-checkout label { color: #30445d; font-size: 13px; font-weight: 700; margin-bottom: 7px; }
.store-checkout textarea.form-control { min-height: 90px; }
.store-payment-options { display: grid; gap: 10px; }
.store-payment-option { border: 1px solid var(--store-line); border-radius: 10px; cursor: pointer; display: flex; gap: 11px; padding: 13px; }
.store-payment-option:has(input:checked) { background: var(--store-sky); border-color: #8fc3ea; }
.store-payment-option input { accent-color: var(--store-navy); margin-top: 4px; }
.store-payment-option strong { color: var(--store-navy-deep); display: block; font-size: 14px; }
.store-payment-option span { color: var(--store-muted); display: block; font-size: 12px; }
.store-bank-box { background: #f4faff; border: 1px dashed #9cc8e8; border-radius: 12px; display: none; margin-top: 14px; padding: 18px; }
.store-bank-box.is-visible { display: block; }
.store-bank-box img { background: #fff; border-radius: 10px; display: block; margin: 12px auto; max-height: 210px; max-width: 210px; padding: 7px; }
.store-order-summary { position: sticky; top: 18px; }
.store-order-item { align-items: center; border-bottom: 1px solid var(--store-line); display: grid; gap: 12px; grid-template-columns: 62px 1fr auto; padding: 12px 0; }
.store-order-item img { background: #f2f8fc; border-radius: 9px; height: 62px; object-fit: contain; padding: 4px; width: 62px; }
.store-order-item strong { color: #233a55; display: block; font-size: 14px; line-height: 1.35; }
.store-order-item span { color: var(--store-muted); font-size: 12px; }
.store-order-item b { color: var(--store-navy); font-size: 14px; white-space: nowrap; }
.store-order-total { align-items: center; display: flex; font-size: 15px; font-weight: 700; justify-content: space-between; padding-top: 18px; }
.store-order-total strong { color: var(--store-navy); font-size: 23px; }
.store-catalog { padding: 42px 0 70px; }
.store-catalog__layout { align-items: start; display: grid; gap: 24px; grid-template-columns: 250px minmax(0, 1fr); }
.store-catalog-filter { background: #fff; border: 1px solid var(--store-line); border-radius: 14px; padding: 20px; position: sticky; top: 18px; }
.store-catalog-filter h2 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 22px; margin: 0 0 17px; }
.store-catalog-filter label { color: #52657c; font-size: 12px; font-weight: 700; margin-bottom: 7px; text-transform: uppercase; }
.store-category-list { border-top: 1px solid var(--store-line); list-style: none; margin: 20px 0; padding: 12px 0 0; }
.store-category-list a { color: #506880; display: block; font-size: 14px; padding: 7px 0; text-decoration: none; }
.store-category-list a:hover,
.store-category-list a.is-active { color: var(--store-navy); font-weight: 700; }
.store-catalog__result { align-items: center; display: flex; justify-content: space-between; margin-bottom: 17px; }
.store-catalog__result h2 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 28px; margin: 0; }
.store-catalog__result span { color: var(--store-muted); font-size: 13px; }
.store-cart { padding: 48px 0 70px; }
.store-cart__layout { align-items: start; display: grid; gap: 25px; grid-template-columns: minmax(0, 1fr) 320px; }
.store-cart__panel { background: #fff; border: 1px solid var(--store-line); border-radius: 16px; padding: 24px; }
.store-cart__table { width: 100%; }
.store-cart__table th { border-bottom: 1px solid var(--store-line); color: var(--store-navy-deep); font-size: 12px; padding: 0 8px 13px; text-transform: uppercase; }
.store-cart__table td { border-bottom: 1px solid var(--store-line); padding: 14px 8px; vertical-align: middle; }
.store-cart-product { align-items: center; display: flex; gap: 12px; }
.store-cart-product img { background: #f2f8fc; border-radius: 9px; height: 68px; object-fit: contain; padding: 4px; width: 68px; }
.store-cart-product strong { color: #263a56; font-size: 14px; }
.store-cart__price { color: var(--store-navy); font-size: 14px; font-weight: 700; white-space: nowrap; }
.store-cart__qty { border: 1px solid #cfdfec; border-radius: 8px; min-height: 38px; text-align: center; width: 64px; }
.store-cart__remove { background: transparent; border: 0; color: #cf5a5a; font-size: 17px; }
.store-cart__remove:hover { color: #a43333; }
.store-cart__actions { display: flex; gap: 10px; justify-content: space-between; margin-top: 20px; }
.store-cart__summary h2 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 24px; margin: 0 0 17px; }
.store-cart__summary-line { border-bottom: 1px solid var(--store-line); display: flex; justify-content: space-between; padding: 11px 0; }
.store-cart__summary-line strong { color: var(--store-navy); font-size: 20px; }
.store-cart__summary .store-button { margin-top: 19px; width: 100%; }
.store-cart-empty { padding: 45px 20px; text-align: center; }
.store-cart-empty i { color: #9ccbe9; font-size: 54px; }
.store-cart-empty h2 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 27px; margin: 12px 0 7px; }
.store-product-detail { padding: 45px 0 70px; }
.store-breadcrumb { color: var(--store-muted); font-size: 13px; margin-bottom: 20px; }
.store-breadcrumb a { color: var(--store-navy); text-decoration: none; }
.store-product-detail__top { background: #fff; border: 1px solid var(--store-line); border-radius: 18px; display: grid; gap: 40px; grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); padding: 32px; }
.store-product-gallery__main { align-items: center; background: linear-gradient(145deg, #fff, #eaf6fd); border-radius: 14px; display: flex; height: 430px; justify-content: center; overflow: hidden; }
.store-product-gallery__main img { height: 100%; max-width: 100%; object-fit: contain; padding: 24px; width: 100%; }
.store-product-gallery__empty { color: #83b8df; font-size: 56px; }
.store-product-gallery__thumbs { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; padding-bottom: 3px; }
.store-product-gallery__thumb { background: #f4faff; border: 1px solid var(--store-line); border-radius: 8px; cursor: pointer; flex: 0 0 auto; height: 65px; padding: 4px; width: 65px; }
.store-product-gallery__thumb.is-active { border-color: var(--store-blue); box-shadow: 0 0 0 2px rgba(47,134,207,.14); }
.store-product-gallery__thumb img { height: 100%; object-fit: contain; width: 100%; }
.store-product-info__tag { color: var(--store-blue); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.store-product-info h1 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(30px, 3vw, 43px); line-height: 1.18; margin: 7px 0 12px; }
.store-product-info__rating { color: #f1b942; font-size: 14px; }
.store-product-info__rating span { color: var(--store-muted); margin-left: 7px; }
.store-product-info__price { color: var(--store-navy); font-size: 30px; font-weight: 700; margin: 18px 0; }
.store-product-info__old-price { color: #98a6b4; font-size: 15px; font-weight: 400; margin-left: 8px; text-decoration: line-through; }
.store-product-info__intro { color: #516980; line-height: 1.7; }
.store-product-buy { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 23px; }
.store-product-buy__qty { align-items: center; border: 1px solid #cfdfec; border-radius: 999px; display: flex; height: 44px; padding: 0 13px; }
.store-product-buy__qty input { border: 0; color: var(--store-ink); font-weight: 700; outline: 0; text-align: center; width: 44px; }
.store-product-buy__note { color: var(--store-muted); font-size: 12px; margin-top: 18px; }
.store-product-description { background: #fff; border: 1px solid var(--store-line); border-radius: 16px; margin-top: 24px; padding: 32px; }
.store-product-description h2 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 28px; margin: 0 0 15px; }
.store-product-description__body { color: #445d76; line-height: 1.75; overflow-wrap: anywhere; }
.store-product-description__body img { height: auto !important; max-width: 100% !important; }
.store-content-page { padding: 46px 0 70px; }
.store-content-card { background: #fff; border: 1px solid var(--store-line); border-radius: 16px; padding: 32px; }
.store-content-card img { border-radius: 11px; height: auto; max-width: 100%; }
.store-content-body { color: #455f79; line-height: 1.75; overflow-wrap: anywhere; }
.store-content-body img { height: auto !important; max-width: 100% !important; }
.store-content-body h1,
.store-content-body h2,
.store-content-body h3 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; }
.store-about-hero { align-items: center; background: linear-gradient(120deg,#ecf8ff,#fff); border: 1px solid #d6ebf9; border-radius: 16px; display: grid; gap: 32px; grid-template-columns: minmax(0, 1fr) 270px; margin-bottom: 24px; overflow: hidden; padding: 34px; }
.store-about-hero h1 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(30px, 3.5vw, 45px); margin: 0 0 10px; }
.store-about-hero p { color: #4c6781; margin: 0; }
.store-about-hero img { height: 190px; object-fit: contain; width: 100%; }
.store-about-gallery { display: grid; gap: 15px; grid-template-columns: repeat(3, 1fr); margin-top: 22px; }
.store-about-gallery img { background: #f1f8fd; height: 180px; object-fit: contain; padding: 8px; width: 100%; }
.store-news-layout { align-items: start; display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr) 270px; }
.store-news-list { display: grid; gap: 16px; }
.store-news-card { background: #fff; border: 1px solid var(--store-line); border-radius: 14px; display: grid; gap: 20px; grid-template-columns: 200px 1fr; overflow: hidden; padding: 13px; }
.store-news-card:hover { box-shadow: var(--store-shadow); transform: translateY(-3px); }
.store-news-card__image { background: #eef8ff; border-radius: 9px; display: block; height: 142px; overflow: hidden; }
.store-news-card__image img { height: 100%; object-fit: cover; width: 100%; }
.store-news-card__body { align-self: center; padding: 5px 5px 5px 0; }
.store-news-card__date { color: var(--store-blue); font-size: 12px; font-weight: 700; }
.store-news-card h2 { font-size: 19px; line-height: 1.38; margin: 5px 0 7px; }
.store-news-card h2 a { color: var(--store-navy-deep); text-decoration: none; }
.store-news-card p { color: var(--store-muted); font-size: 14px; margin: 0; }
.store-news-sidebar { background: #fff; border: 1px solid var(--store-line); border-radius: 14px; padding: 22px; position: sticky; top: 18px; }
.store-news-sidebar h2 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 22px; margin: 0 0 12px; }
.store-news-sidebar ul { list-style: none; margin: 0; padding: 0; }
.store-news-sidebar li { border-bottom: 1px solid var(--store-line); padding: 10px 0; }
.store-news-sidebar li:last-child { border: 0; }
.store-news-sidebar a { color: #4a637d; font-size: 14px; text-decoration: none; }
.store-news-sidebar a:hover { color: var(--store-navy); }
.store-news-article__meta { color: var(--store-blue); font-size: 13px; font-weight: 700; margin-bottom: 12px; }
.store-news-article__title { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(31px,4vw,48px); line-height: 1.16; margin: 0; }
.store-news-article__lead { border-left: 3px solid var(--store-blue); color: #526c84; font-size: 17px; line-height: 1.65; margin: 23px 0; padding-left: 17px; }
.store-contact-layout { align-items: start; display: grid; gap: 25px; grid-template-columns: .75fr 1.25fr; }
.store-contact-card { background: #fff; border: 1px solid var(--store-line); border-radius: 16px; padding: 28px; }
.store-contact-card h2 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 28px; margin: 0 0 12px; }
.store-contact-card p { color: var(--store-muted); }
.store-contact-method { align-items: flex-start; display: flex; gap: 12px; margin-top: 18px; }
.store-contact-method i { color: var(--store-blue); font-size: 19px; margin-top: 3px; }
.store-contact-method strong { color: #30465f; display: block; font-size: 14px; }
.store-contact-method span,
.store-contact-method a { color: var(--store-muted); font-size: 14px; text-decoration: none; }
.store-auth { display: flex; justify-content: center; padding: 55px 0 76px; }
.store-auth .controller { background: #fff; border: 1px solid var(--store-line); border-radius: 16px; box-shadow: var(--store-shadow); margin: 0; max-width: 470px; padding: 30px; width: 100%; }
.store-auth__heading { margin-bottom: 23px; text-align: center; }
.store-auth__heading h1 { color: var(--store-navy-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 31px; margin: 0; }
.store-auth__heading p { color: var(--store-muted); font-size: 14px; margin: 6px 0 0; }
.store-document-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); }
.store-document { background: #fff; border: 1px solid var(--store-line); border-radius: 14px; cursor: pointer; overflow: hidden; padding: 12px; text-align: left; }
.store-document:hover { box-shadow: var(--store-shadow); transform: translateY(-4px); }
.store-document__image { align-items: center; background: #eef8ff; border-radius: 9px; display: flex; height: 210px; justify-content: center; overflow: hidden; }
.store-document__image img { height: 100%; object-fit: contain; width: 100%; }
.store-document strong { color: var(--store-navy-deep); display: block; font-size: 15px; margin: 12px 3px 4px; }
.store-document span { color: var(--store-blue); font-size: 12px; font-weight: 700; margin: 0 3px 4px; }

@media (max-width: 991px) {
    .store-header__inner { min-height: 70px; gap: 15px; }
    .store-nav-toggle { display: inline-block; }
    .store-nav { background: #fff; border-bottom: 1px solid var(--store-line); box-shadow: 0 15px 30px rgba(13,63,115,.1); display: none; left: 0; padding: 12px 20px 18px; position: absolute; right: 0; top: 100%; }
    .store-nav.is-open { display: block; }
    .store-nav__list { align-items: flex-start; flex-direction: column; gap: 0; }
    .store-nav__list > li { width: 100%; }
    .store-nav__list a,
    .store-nav summary { display: block; padding: 10px 0; }
    .store-nav__dropdown { box-shadow: none; margin: 0 0 0 12px; position: static; }
    .store-hero__inner { grid-template-columns: 1fr .8fr; min-height: 470px; }
    .store-product-grid { grid-template-columns: repeat(3, 1fr); }
    .store-feature-panel { grid-template-columns: 1fr; }
    .store-footer__main { grid-template-columns: 1.3fr 1fr 1fr; }
    .store-footer__main > :last-child { grid-column: span 3; }
    .store-checkout__grid { grid-template-columns: 1fr; }
    .store-order-summary { position: static; }
    .store-catalog__layout { grid-template-columns: 210px minmax(0, 1fr); }
    .store-cart__layout { grid-template-columns: minmax(0, 1fr) 280px; }
    .store-product-detail__top { gap: 28px; grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr); }
    .store-news-layout { grid-template-columns: minmax(0, 1fr) 230px; }
    .store-document-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767px) {
    .store-topline__inner { justify-content: center; min-height: 34px; }
    .store-topline__support { display: none; }
    .store-header__actions .store-icon-link:first-child { display: none; }
    .store-brand { min-width: 120px; }
    .store-brand img { max-height: 45px; }
    .store-brand__fallback strong { font-size: 18px; }
    .store-hero { min-height: auto; }
    .store-hero__inner { display: block; min-height: auto; }
    .store-hero__content { padding: 48px 0 22px; text-align: center; }
    .store-hero__lead { font-size: 16px; }
    .store-hero__actions,
    .store-hero__benefits { justify-content: center; }
    .store-hero__visual { min-height: 310px; }
    .store-orb { height: 290px; min-height: 290px; min-width: 290px; width: 290px; }
    .store-trust { margin-top: 0; }
    .store-trust__grid { border-radius: 0; grid-template-columns: repeat(2, 1fr); }
    .store-trust__item { padding: 14px; }
    .store-trust__item:nth-child(3):before { display: none; }
    .store-product-grid { grid-template-columns: repeat(2, 1fr); }
    .store-product-grid--three { grid-template-columns: repeat(2, 1fr); }
    .store-product-card__image { height: 180px; padding: 12px; }
    .store-product-card__body { padding: 13px; }
    .store-product-card h3 { font-size: 14px; min-height: 40px; }
    .store-product-card__price { font-size: 15px; }
    .store-feature-list { grid-template-columns: 1fr; }
    .store-stats,
    .store-footer__benefits { grid-template-columns: repeat(2, 1fr); }
    .store-stat { padding: 18px 10px; }
    .store-stat:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.22); }
    .store-stat:nth-child(4) { border-top: 1px solid rgba(255,255,255,.22); }
    .store-footer__benefit { justify-content: flex-start; padding: 14px; }
    .store-footer__main { gap: 25px; grid-template-columns: 1fr 1fr; padding: 34px 0 25px; }
    .store-footer__main > :first-child,
    .store-footer__main > :last-child { grid-column: span 2; }
    .store-footer__bottom .container { align-items: center; flex-direction: column; text-align: center; }
    .store-floating { bottom: 16px; right: 13px; }
    .storefront-page { padding: 30px 0 45px; }
    .store-catalog { padding: 30px 0 45px; }
    .store-catalog__layout { grid-template-columns: 1fr; }
    .store-catalog-filter { position: static; }
    .store-cart__layout { grid-template-columns: 1fr; }
    .store-cart__panel { overflow-x: auto; padding: 16px; }
    .store-cart__actions { flex-direction: column; }
    .store-product-detail { padding: 30px 0 45px; }
    .store-product-detail__top { grid-template-columns: 1fr; padding: 18px; }
    .store-product-gallery__main { height: 310px; }
    .store-product-description { padding: 21px; }
    .store-content-page { padding: 30px 0 45px; }
    .store-content-card { padding: 21px; }
    .store-about-hero { grid-template-columns: 1fr; padding: 25px; text-align: center; }
    .store-about-hero img { height: 155px; }
    .store-about-gallery { grid-template-columns: repeat(2,1fr); }
    .store-news-layout,
    .store-contact-layout { grid-template-columns: 1fr; }
    .store-news-sidebar { position: static; }
    .store-news-card { gap: 13px; grid-template-columns: 115px 1fr; padding: 9px; }
    .store-news-card__image { height: 112px; }
    .store-news-card h2 { font-size: 16px; }
    .store-news-card p { -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; overflow: hidden; }
    .store-document-grid { grid-template-columns: repeat(2, 1fr); }
    .store-document__image { height: 170px; }
    #page .product_card .card-img-top { height: 180px; }
    #page .shoping__cart__table { overflow-x: auto; }
}
