:root{--ink:#102033;--muted:#667085;--line:#e6eaf0;--bg:#f6f8fb;--card:#fff;--brand:#5b45f5;--brand2:#7a66ff;--success:#16794a;--danger:#b42318;--warning:#a15c00;--radius:18px;--shadow:0 18px 50px rgba(19,33,68,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}a{color:var(--brand);text-decoration:none}img{max-width:100%}.container{width:min(1180px,calc(100% - 36px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:74px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;font-size:19px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--brand),#3dc6ff);color:#fff}.nav nav{display:flex;align-items:center;gap:22px}.nav nav>a{color:#344054;font-weight:600}.cart-link span{background:var(--ink);color:#fff;border-radius:99px;padding:2px 7px;font-size:12px}.btn{appearance:none;border:0;border-radius:12px;background:var(--brand);color:#fff!important;padding:12px 18px;font-weight:750;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px}.btn:hover{background:#4934e5}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#eef0ff;color:#4538bc!important}.btn-small{padding:8px 11px;border-radius:9px;font-size:13px}.btn-block{width:100%}.hero{padding:76px 0;background:radial-gradient(circle at 80% 20%,#dff6ff,transparent 35%),linear-gradient(135deg,#f7f5ff,#fff)}.hero-inner{display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:60px}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.02;letter-spacing:-.055em;margin:12px 0 22px;max-width:820px}.hero p{font-size:20px;color:var(--muted);max-width:650px}.hero-card{background:#101828;color:#fff;padding:34px;border-radius:28px;box-shadow:var(--shadow);display:flex;flex-direction:column}.hero-card strong{font-size:64px;line-height:1.1}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--brand);font-size:12px;font-weight:850}.catalog{padding:48px 0 80px}.catalog-tools{display:flex;gap:12px;margin-bottom:26px}.catalog-tools input,.catalog-tools select{min-height:46px}.catalog-tools input{flex:1}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:.2s}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.product-card a{color:inherit}.product-logo,.detail-logo,.mini-logo{display:grid;place-items:center;background:#f2f4f7;overflow:hidden}.product-logo{height:130px;border-radius:14px;margin-bottom:18px}.product-logo img{width:100%;height:100%;object-fit:contain}.product-logo span,.detail-logo span{font-size:46px;font-weight:900;color:var(--brand)}.product-card h2{font-size:18px;line-height:1.3;margin:9px 0}.product-card p{color:var(--muted)}.category-tag{display:inline-flex;background:#f2efff;color:#5646c5;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:800}.text-link{color:var(--brand);font-weight:750}.product-detail{padding:70px 0;display:grid;grid-template-columns:420px 1fr;gap:70px;align-items:center}.detail-logo{height:360px;border-radius:28px;background:#fff;border:1px solid var(--line)}.detail-logo img{width:100%;height:100%;object-fit:contain;padding:40px}.product-detail h1{font-size:46px;line-height:1.05}.purchase-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-top:28px;display:grid;grid-template-columns:1fr 120px;gap:14px}.purchase-box button{grid-column:1/-1}label{font-weight:700;font-size:14px;display:block}input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit;margin-top:6px}textarea{resize:vertical}small,.muted,.tiny{color:var(--muted)}.form-stack{display:grid;gap:16px}.auth-shell{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:50px 18px}.auth-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:34px}.auth-card h1{font-size:38px;margin:8px 0 14px}.approval{border-left:4px solid var(--brand);background:#f5f3ff}.notice,.alert{padding:14px 16px;border-radius:12px;margin:14px 0}.notice{background:#f5f7fa}.alert.success{background:#eaf8f1;color:var(--success)}.alert.error{background:#fff0ef;color:var(--danger)}.alert ul{margin:0;padding-left:20px}.check{display:flex;gap:10px;align-items:flex-start}.check input{width:auto;margin-top:4px}.auth-switch{text-align:center;color:var(--muted)}.page-head{padding:42px 0 24px;display:flex;align-items:end;justify-content:space-between}.page-head h1{font-size:42px;margin:5px 0}.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:24px;padding-bottom:70px}.cart-list,.order-summary,.panel,.stat-card,.empty{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.cart-item{display:grid;grid-template-columns:62px 1fr 80px 100px;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.mini-logo{width:58px;height:58px;border-radius:12px}.mini-logo img{width:100%;height:100%;object-fit:contain}.cart-item span{display:block;color:var(--muted)}.order-summary{height:max-content;position:sticky;top:96px}.order-summary>div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.balance-row{background:#f7f5ff;border-radius:10px;padding:12px!important;margin:12px 0}.warning-text{color:var(--warning);font-size:13px}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;background:rgba(9,16,29,.55);z-index:60;opacity:0;visibility:hidden;transition:.2s}.drawer-backdrop.open,.modal-backdrop.open{opacity:1;visibility:visible}.checkout-drawer{position:fixed;z-index:70;right:0;top:0;height:100%;width:min(520px,100%);background:#fff;padding:42px 34px;transform:translateX(100%);transition:.28s;overflow:auto;box-shadow:-20px 0 60px rgba(0,0,0,.17)}.checkout-drawer.open{transform:none}.drawer-close{position:absolute;right:18px;top:14px;border:0;background:#eef1f5;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}.drawer-total{display:flex;justify-content:space-between;font-size:20px;padding:16px 0;border-top:1px solid var(--line)}.modal-backdrop{display:grid;place-items:center;padding:20px}.widget-modal{position:relative;width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:34px;transform:translateY(10px)}.plugin-slot{min-height:260px;border:1px dashed #c5cbd5;border-radius:15px;padding:18px}.no-scroll{overflow:hidden}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat-card span,.stat-card small{display:block;color:var(--muted)}.stat-card strong{font-size:32px;display:block;margin:6px 0}.panel{margin-bottom:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 10px;vertical-align:top}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.status{display:inline-flex;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:850;background:#eef2f6}.status.active,.status.completed,.status.credit,.status.refund{background:#e9f8ef;color:var(--success)}.status.pending,.status.processing,.status.partial{background:#fff5df;color:var(--warning)}.status.failed,.status.rejected,.status.suspended,.status.debit{background:#fff0ef;color:var(--danger)}.status.large{font-size:13px;padding:8px 13px}.order-lines{display:grid;gap:16px}.order-line{border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:18px}.redeem-box{grid-column:1/-1;background:#f7f8fa;border-radius:12px;padding:14px}.redeem-box>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.redeem-box code{word-break:break-all}.order-total{display:flex;justify-content:flex-end;gap:30px;font-size:22px;padding:22px}.admin-body{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#101828;color:#fff;padding:22px;display:flex;flex-direction:column;gap:4px;z-index:80}.sidebar>a,.sidebar .link-button{color:#d0d5dd;padding:11px 12px;border-radius:10px}.sidebar>a:hover{background:#1d2939;color:#fff}.admin-brand{color:#fff!important;margin-bottom:20px}.link-button{background:none;border:0;font:inherit;cursor:pointer;width:100%;text-align:left}.admin-main{margin-left:245px;width:calc(100% - 245px)}.admin-top{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.admin-top h1{font-size:22px}.admin-content{padding:28px}.menu-toggle{display:none}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-grid .full{grid-column:1/-1}.inline-form{display:flex;gap:8px;align-items:center}.inline-form input,.inline-form select{min-width:100px;margin:0}.admin-order-item{display:grid;grid-template-columns:1fr 180px 100px;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.top-gap{margin-top:20px}.checklist li{margin:10px}.legal{padding:60px 0;max-width:850px}.legal h1{font-size:44px}footer{background:#101828;color:#d0d5dd;padding:42px 0 22px}.footer-grid{display:flex;justify-content:space-between}.footer-grid div:last-child{display:flex;gap:20px}.footer-grid a{color:#fff}.copyright{border-top:1px solid #344054;padding-top:18px;margin-top:24px}.empty{text-align:center;padding:60px 24px}.menu-toggle{border:0;background:transparent;font-size:24px}@media(max-width:950px){.product-grid{grid-template-columns:repeat(2,1fr)}.hero-inner,.product-detail,.cart-layout{grid-template-columns:1fr}.hero-card{display:none}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.order-summary{position:static}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:none}.admin-main{margin-left:0;width:100%}.menu-toggle{display:block}.settings-grid{grid-template-columns:1fr}.settings-grid .full{grid-column:auto}}@media(max-width:650px){.nav nav>a:not(.cart-link):not(.btn){display:none}.hero{padding:50px 0}.hero h1{font-size:44px}.product-grid{grid-template-columns:1fr}.catalog-tools{flex-direction:column}.product-detail{padding-top:30px;gap:28px}.detail-logo{height:250px}.purchase-box{grid-template-columns:1fr}.purchase-box button{grid-column:auto}.cart-item{grid-template-columns:48px 1fr 65px}.cart-item>strong{grid-column:2/-1}.dashboard-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.footer-grid,.footer-grid div:last-child{flex-direction:column}.admin-content{padding:16px}.admin-top{padding:0 16px}.inline-form{flex-wrap:wrap}.order-line{grid-template-columns:1fr}.redeem-box{grid-column:auto}.admin-order-item{grid-template-columns:1fr}.checkout-drawer{padding:42px 20px}}
/* Refille Gifts admin customer management v1.3 */
.btn-success{background:#16794a}.btn-success:hover{background:#10643d}.btn-danger{background:#b42318}.btn-danger:hover{background:#941b13}.btn-ghost{background:#fff;color:var(--ink)!important;border:1px solid var(--line)}
.customer-panel-head{align-items:flex-start}.customer-panel-head h2,.customer-detail-head h2{margin:0}.customer-panel-head p{margin:4px 0 0}.filter-links{display:flex;flex-wrap:wrap;gap:7px}.filter-links a{padding:7px 11px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:750;background:#fff}.filter-links a.active{background:var(--brand);border-color:var(--brand);color:#fff}.admin-search{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:10px;margin-bottom:18px}.admin-search input{margin:0}.customers-table{min-width:1250px}.customer-name{color:var(--ink)}.balance-value{font-size:17px}.status-form{display:grid;gap:8px;min-width:170px}.status-form select{margin:0}.balance-form{display:grid;gap:8px;min-width:275px}.balance-form input{margin:0}.balance-form-row{display:flex;border:1px solid #d0d5dd;border-radius:10px;background:#fff;overflow:hidden}.balance-form-row:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(91,69,245,.12)}.balance-form-row input{border:0;border-radius:0;box-shadow:none!important}.money-prefix{display:grid;place-items:center;padding:0 0 0 12px;color:var(--muted);font-weight:800}.balance-actions{display:flex;gap:7px}.balance-actions .btn{flex:1;white-space:nowrap}.empty.compact{padding:30px 20px;border:0}.customer-detail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:24px}.back-link{display:inline-block;margin-bottom:10px;font-weight:700}.customer-balance-card{min-width:235px;background:#101828;color:#fff;border-radius:18px;padding:20px}.customer-balance-card>span{display:block}.customer-balance-card>strong{display:block;font-size:34px;margin:3px 0 12px}.customer-detail-grid{align-items:start}.balance-form-row.large input{font-size:22px;padding:14px}.amount-positive{color:var(--success)}.amount-negative{color:var(--danger)}
@media(max-width:850px){.customer-panel-head,.customer-detail-head{align-items:flex-start;flex-direction:column}.admin-search{grid-template-columns:1fr}.customer-balance-card{width:100%}.balance-actions{flex-direction:column}}
/* Stripe checkout v1.4 */
.stripe-payment-element:empty{display:none}.stripe-payment-element:not(:empty){display:block;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.stripe-error{margin:0}.stripe-secure-note{margin-top:18px}.stripe-drawer{width:min(560px,100%)}.google-pay-button{margin:14px 0;min-height:48px}.google-pay-button:empty{display:none}code{word-break:break-word}

.email-template-card{border:1px solid #ddd;border-radius:12px;margin:14px 0;background:#fff}.email-template-card summary{cursor:pointer;padding:15px;display:flex;justify-content:space-between;align-items:center}.email-template-card[open] summary{border-bottom:1px solid #eee}.email-template-card .form-stack{padding:16px}.email-template-card textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-height:180px}

/* Giftboro editable legal pages v1.3 */
.legal-document{max-width:920px;padding:64px 0 80px}.legal-header{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:30px}.legal-header h1{margin:5px 0 0;font-size:46px;letter-spacing:-.035em}.legal-content{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,5vw,54px);box-shadow:var(--shadow)}.legal-content h2{font-size:25px;line-height:1.25;margin:42px 0 13px;padding-top:4px}.legal-content h3{font-size:18px;margin:28px 0 10px}.legal-content p{margin:0 0 16px;color:#344054}.legal-content ul,.legal-content ol{padding-left:24px;margin:0 0 20px}.legal-content li{margin:7px 0;color:#344054}.legal-content a{text-decoration:underline}.legal-updated{font-weight:750;color:var(--muted)!important}.legal-editor-intro{display:flex;justify-content:space-between;align-items:center;gap:24px}.legal-editor-intro h2{margin:0}.legal-editor-intro p{max-width:780px;color:var(--muted);margin:5px 0 0}.legal-editor-links,.legal-editor-actions{display:flex;gap:10px;flex-wrap:wrap}.legal-editor-card h2{margin:4px 0 0}.legal-html-editor{min-height:620px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.55;white-space:pre}.legal-editor-actions{margin-top:16px}@media(max-width:700px){.legal-editor-intro{align-items:flex-start;flex-direction:column}.legal-header h1{font-size:38px}.legal-content{padding:23px}.legal-html-editor{min-height:460px}}

/* Giftboro polished responsive footer v1.4.1 */
.site-footer{
    margin-top:0;
    padding:0;
    background:#0d1728;
    color:#aeb9ca;
    border-top:1px solid rgba(255,255,255,.06);
}
.site-footer .footer-main{
    display:grid;
    grid-template-columns:minmax(220px,1.35fr) minmax(120px,.78fr) minmax(125px,.78fr) minmax(125px,.82fr) minmax(235px,1.28fr);
    gap:44px;
    align-items:start;
    padding-top:56px;
    padding-bottom:48px;
}
.site-footer .footer-intro,
.site-footer .footer-column{
    min-width:0;
}
.site-footer .footer-logo{
    display:inline-flex;
    align-items:center;
    gap:11px;
    color:#fff;
    font-size:20px;
    font-weight:850;
    letter-spacing:-.025em;
}
.site-footer .footer-logo-mark{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    border-radius:12px;
    background:linear-gradient(135deg,var(--brand),#3dc6ff);
    color:#fff;
    font-size:17px;
    box-shadow:0 10px 28px rgba(91,69,245,.24);
}
.site-footer .footer-intro p{
    max-width:245px;
    margin:18px 0 0;
    color:#aeb9ca;
    font-size:14px;
    line-height:1.75;
}
.site-footer .footer-column h2{
    margin:5px 0 18px;
    color:#f8fafc;
    font-size:12px;
    font-weight:850;
    line-height:1.2;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.site-footer .footer-column>a{
    display:block;
    width:max-content;
    max-width:100%;
    margin:0 0 11px;
    color:#aeb9ca;
    font-size:14px;
    line-height:1.45;
    transition:color .18s ease,transform .18s ease;
}
.site-footer .footer-column>a:hover,
.site-footer .footer-column>a:focus-visible{
    color:#fff;
    transform:translateX(2px);
}
.site-footer .footer-payment-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.site-footer .footer-payment-list span{
    display:flex;
    min-height:38px;
    align-items:center;
    justify-content:center;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:10px;
    background:rgba(255,255,255,.045);
    color:#dbe3ef;
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    text-align:center;
    white-space:normal;
}
.site-footer .footer-payment-list span:last-child{
    grid-column:1/-1;
}
.site-footer .footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    min-height:76px;
    padding-top:20px;
    padding-bottom:20px;
    border-top:1px solid rgba(255,255,255,.11);
}
.site-footer .footer-bottom p{
    margin:0;
    color:#8794a8;
    font-size:13px;
    line-height:1.5;
}
.site-footer .footer-bottom strong{
    color:#cbd5e1;
    font-weight:750;
}
@media(max-width:1050px){
    .site-footer .footer-main{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:38px 56px;
    }
    .site-footer .footer-intro{
        grid-column:1/-1;
    }
    .site-footer .footer-intro p{
        max-width:420px;
    }
}
@media(max-width:620px){
    .site-footer .footer-main{
        grid-template-columns:1fr;
        gap:32px;
        padding-top:44px;
        padding-bottom:38px;
    }
    .site-footer .footer-intro{
        grid-column:auto;
        padding-bottom:4px;
    }
    .site-footer .footer-column h2{
        margin-bottom:15px;
    }
    .site-footer .footer-payment-list{
        max-width:360px;
    }
    .site-footer .footer-bottom{
        align-items:flex-start;
        flex-direction:column;
        gap:6px;
        min-height:0;
        padding-top:22px;
        padding-bottom:24px;
    }
}

/* Giftboro v1.4.2 — customer sign-out control */
.nav-logout-form{display:inline-flex;align-items:center;margin:0;padding:0}
.nav-logout-button{appearance:none;border:0;background:transparent;color:#344054;font:inherit;font-weight:600;line-height:1.2;padding:8px 0;cursor:pointer;white-space:nowrap}
.nav-logout-button:hover,.nav-logout-button:focus-visible{color:var(--brand)}
.nav-logout-button:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:4px}
@media(max-width:650px){.nav{gap:12px}.nav nav{gap:14px}.nav-logout-button{font-size:14px}.brand{font-size:0}.brand-mark{font-size:16px}}


/* Giftboro v1.4.4 — supplied brand artwork */
.brand-logo-link{
    display:inline-flex;
    align-items:center;
    min-width:0;
    line-height:0;
}
.brand-logo-image{
    display:block;
    width:auto;
    height:44px;
    max-width:156px;
    object-fit:contain;
}
.site-footer .footer-logo{
    display:inline-flex;
    align-items:center;
    padding:0;
    line-height:0;
}
.site-footer .footer-logo-surface{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 11px;
    border-radius:12px;
    background:#fff;
    box-shadow:0 12px 32px rgba(0,0,0,.16);
}
.site-footer .footer-logo-image{
    display:block;
    width:auto;
    height:42px;
    max-width:150px;
    object-fit:contain;
}
@media(max-width:650px){
    .brand-logo-image{height:36px;max-width:126px}
    .site-footer .footer-logo-image{height:38px;max-width:136px}
}
