:root{--ink:#172c49;--green:#1f4f8f;--green-dark:#163963;--mint:#e6edf7;--muted:#778298;--line:#e2e8f1;--surface:#f5f7fa;--bs-primary:#1f4f8f}*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px}a{color:var(--green);text-decoration:none}a:hover{color:#12345f}h1,h2,h3{letter-spacing:-.04em;font-weight:650}h1{font-size:32px}h2{font-size:20px}h3{font-size:18px}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--green);margin-bottom:10px}.btn{border-radius:8px;padding:10px 18px;font-size:13px;font-weight:600;white-space:nowrap}.btn-primary{--bs-btn-bg:var(--green);--bs-btn-border-color:var(--green);--bs-btn-hover-bg:var(--green-dark);--bs-btn-hover-border-color:var(--green-dark);--bs-btn-active-bg:var(--green-dark);--bs-btn-active-border-color:var(--green-dark);--bs-btn-disabled-bg:var(--green)}.btn-outline-primary{--bs-btn-color:var(--green);--bs-btn-border-color:#b5c6df;--bs-btn-hover-bg:var(--green);--bs-btn-hover-border-color:var(--green);--bs-btn-active-bg:var(--green)}.btn-sm{padding:6px 10px}.form-control,.form-select{font-size:13px;border-color:#dce3ee;border-radius:8px;min-height:42px}.form-control:focus,.form-select:focus{border-color:#7495c1;box-shadow:0 0 0 .18rem #1f4f8f12}.form-label{font-weight:600;font-size:12px}.form-check-input:checked{background-color:var(--green);border-color:var(--green)}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--green);color:#fff;font-size:24px;font-weight:700}.admin-body{background:var(--surface)}.sidebar{width:230px!important;position:fixed;left:0;top:0;bottom:0;background:#fff!important;border-right:1px solid var(--line);z-index:1040;padding:25px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 28px;font-weight:750;font-size:18px;letter-spacing:-.04em}.brand small{display:block;font-size:10px;font-weight:400;color:var(--muted);letter-spacing:0;margin-top:2px}.sidebar nav{display:grid;gap:3px}.sidebar nav a{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:8px;color:#637086;font-weight:550;font-size:13px}.sidebar nav a span{font-size:18px;width:18px;text-align:center}.sidebar nav a.selected{background:var(--mint);color:var(--green)}.sidebar nav a:hover{background:#f3f5f9}.sidebar-catalog{margin-top:auto;border-top:1px solid var(--line);padding:20px 10px 0;font-size:12px}.admin-main{margin-left:230px;min-height:100vh}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:15px}.workspace-name{font-size:12px;font-weight:600}.workspace-name .muted{font-weight:400;margin-left:8px}.user-block{display:flex;gap:12px;align-items:center;font-weight:600;font-size:12px}.user-block small{display:block;font-size:10px;color:var(--muted);font-weight:400}.avatar{display:inline-grid;place-items:center;border-radius:50%;background:var(--mint);width:34px;height:34px;font-size:14px;color:var(--green)}.main-content{padding:32px;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading h1{margin-bottom:8px}.page-heading p:last-child{margin-bottom:0}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.kpi-card{background:#fff;border:1px solid var(--line);padding:22px;border-radius:12px}.kpi-label{display:flex;justify-content:space-between;gap:10px;color:#6d7890;font-size:11px;font-weight:550}.kpi-label span{background:var(--mint);color:var(--green);padding:5px 8px;border-radius:8px;font-size:16px}.kpi-card strong{display:block;font-size:25px;letter-spacing:-.055em;margin:12px 0 8px;overflow-wrap:anywhere}.kpi-card small{font-size:10px;color:var(--muted)}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-heading h2{margin:0}.panel-heading a{font-size:12px}.chart-wrap{height:265px;position:relative}.table{font-size:12px;vertical-align:middle;margin-bottom:0;--bs-table-border-color:#edf1f7}.table thead th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#7a8781;font-weight:600;padding:14px 12px;background:#f9fafd}.table td{padding:16px 12px}.table small{font-size:10px}.badge{font-size:10px;font-weight:500;padding:6px 9px;border-radius:5px}.text-bg-success{background:#e6eef9!important;color:#305889!important}.text-bg-warning{background:#fff2d6!important;color:#8d671b!important}.empty-cell{text-align:center;padding:50px!important;color:var(--muted)}.search-row{display:flex;gap:12px;align-items:center;margin-bottom:20px}.search-row .form-control{max-width:550px}.filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:22px}.filters .form-control,.filters .form-select{width:auto;flex:1;min-width:150px}.check-filter{display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:12px}.form-actions{border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.gallery-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.gallery-admin article{padding:12px;border:1px solid var(--line);border-radius:8px}.gallery-admin img{width:100%;height:150px;object-fit:contain;background:#f8fafd;border-radius:6px}.gallery-admin p{font-size:12px;margin:10px 0}.sale-items select{min-width:280px}.sale-items input{min-width:80px;max-width:120px}.sale-summary{margin:25px 0 0 auto;max-width:350px;display:flex;flex-direction:column;gap:8px;text-align:right}.sale-summary strong{font-size:30px}.totals{max-width:320px;margin:24px 0 0 auto}.totals p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;margin:0}.totals .total{font-size:20px}.admin-footer{text-align:center;font-size:10px;color:var(--muted);padding:25px}.login-main{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;background:radial-gradient(ellipse at 0% 0%,#dceadf,transparent 60%),#f2f6f3}.login-card{width:100%;max-width:440px;background:#fff;padding:40px;border-radius:20px;border:1px solid var(--line);box-shadow:0 20px 70px #1639630a}.login-card h1{font-size:30px}.empty-state{text-align:center;padding:65px 20px}.public-strip{background:var(--green-dark);color:#d5dfef;font-size:10px;letter-spacing:.04em;padding:9px;text-align:center}.public-header{display:flex;align-items:center;justify-content:space-between;padding-top:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}.public-brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:750;letter-spacing:-.05em}.public-header nav{display:flex;gap:28px;font-size:12px}.company-logo{max-width:150px;max-height:50px}.public-main{padding-top:30px;padding-bottom:65px}.catalog-hero{background:#edf3ed;border-radius:18px;min-height:320px;padding:46px;display:flex;align-items:center;justify-content:space-between;gap:40px}.catalog-hero h1{font-size:42px;line-height:1.2}.catalog-hero h1 em{font-style:normal;color:var(--green)}.catalog-hero p:not(.eyebrow){color:#74839a;font-size:13px;line-height:1.85;margin:18px 0 25px}.hero-art{width:270px;flex-shrink:0;transform:rotate(-7deg);text-align:center}.hero-art-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hero-art-grid span{height:100px;display:grid;place-items:center;background:#fff9;border-radius:20px;font-size:50px;color:#58816d;border:1px solid #d8e2f1}.hero-art-grid span:nth-child(2){background:var(--green);color:#eef5ec}.hero-art small{display:block;font-size:8px;letter-spacing:.12em;margin-top:20px;color:#6c8c7a}.catalog-section{margin-top:50px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:15px}.section-heading h2{font-size:26px;margin:0}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.product-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #16396310}.product-picture{display:block;background:#f4f6fa;height:205px}.product-picture img{width:100%;height:100%;object-fit:contain}.image-placeholder{height:100%;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#a5b0c7;background:linear-gradient(135deg,#f3f5fa,#eaf0f9)}.image-placeholder span{font-size:50px}.image-placeholder small{font-size:10px}.product-card-body{padding:20px}.product-card h3{font-size:16px;letter-spacing:-.02em;margin:8px 0 10px}.product-card h3 a{color:var(--ink)}.product-card p{font-size:11px;color:var(--muted);line-height:1.6;min-height:34px}.product-price{display:block;font-size:20px;letter-spacing:-.04em}.product-price small{display:block;font-size:9px;font-weight:400;letter-spacing:0;color:var(--muted);margin:4px 0 0}.availability{font-size:10px;margin:14px 0}.in-stock{color:#547eae}.out-stock{color:#9c8a73}.product-link{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:18px;padding-top:14px;font-size:11px;font-weight:650}.category-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:10px;margin-bottom:15px}.category-tabs a{border:1px solid var(--line);border-radius:7px;padding:8px 14px;font-size:11px;white-space:nowrap;color:#657b99}.category-tabs a.active{background:var(--green);color:white;border-color:var(--green)}.catalog-filters{display:flex;align-items:center;gap:12px;margin-bottom:25px;padding:16px;background:#f6f8fc;border-radius:10px}.catalog-filters .form-select{max-width:180px}.public-footer{background:#f3f6f2;border-top:1px solid var(--line);padding:35px 0;font-size:11px;color:#7a879d}.public-footer strong{font-size:18px;color:var(--ink)}.public-footer p{margin:10px 0}.public-footer .container>div{border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.breadcrumb-line{font-size:11px;color:var(--muted);margin:10px 0 30px}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:55px}.detail-image{height:480px;border-radius:15px;background:#f5f7fb;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:contain}.detail-gallery{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.gallery-thumb{width:75px;height:75px;background:#f5f7fb;border:1px solid var(--line);border-radius:8px;padding:5px}.gallery-thumb img{width:100%;height:100%;object-fit:contain}.product-info{padding:25px 0}.product-info h1{font-size:38px}.description-short{font-size:15px;line-height:1.8;margin:25px 0}.detail-price{font-size:34px;letter-spacing:-.05em}.product-description{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.product-description p{line-height:1.9;color:var(--muted)}.preserve-lines{white-space:pre-line}.alert{font-size:13px;border-radius:10px}code{font-size:10px;overflow-wrap:anywhere}@media(max-width:1199px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.main-content{padding:24px}.kpi-grid{gap:12px}.kpi-card{padding:16px}.catalog-hero h1{font-size:36px}}@media(max-width:991px){.admin-main{margin-left:0}.topbar{padding:0 18px;height:65px}.workspace-name{display:none}.sidebar{padding-top:20px}.hero-art{width:210px}.catalog-hero{padding:30px}.catalog-hero h1{font-size:30px}.product-detail{gap:30px}.detail-image{height:370px}}@media(max-width:767px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.main-content{padding:20px 14px}.page-heading{align-items:flex-start;gap:12px}.page-heading h1{font-size:25px}.panel{padding:18px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card strong{font-size:22px}.catalog-hero{padding:28px;min-height:280px}.hero-art{display:none}.catalog-hero h1{font-size:30px}.catalog-filters{flex-wrap:wrap}.catalog-filters .form-control{flex-basis:100%}.catalog-filters .form-select{flex:1;max-width:none}.catalog-section{margin-top:35px}.product-picture{height:175px}.product-card-body{padding:15px}.product-detail{grid-template-columns:1fr;gap:10px}.product-info h1{font-size:30px}.public-header nav{gap:16px}.search-row{flex-wrap:wrap}.user-block{gap:8px}.login-card{padding:28px}}@media(max-width:400px){.product-grid{grid-template-columns:1fr}.product-picture{height:220px}.kpi-grid{grid-template-columns:1fr}.page-heading{flex-direction:column}.public-brand{font-size:18px}}
/* Company assets supplied by the owner; original images and transparency preserved. */
.company-logo{width:88px;height:88px;max-width:none;max-height:none;object-fit:contain;flex-shrink:0}
.public-header{padding-top:12px;padding-bottom:12px}.public-brand-name{font-size:23px}
.admin-brand-logo{width:66px;height:66px;object-fit:contain;flex-shrink:0}.brand{gap:8px;padding:0 0 20px;font-size:16px}
.hero-art.brand-mascot{width:205px;transform:none;align-self:center}.brand-mascot img{width:100%;height:auto;max-height:315px;object-fit:contain;filter:drop-shadow(0 12px 14px #172c4920)}
.catalog-hero{background:linear-gradient(125deg,#fff8e5,#f2f5fb);padding-top:30px;padding-bottom:30px}
.login-main{background:linear-gradient(100deg,rgba(12,19,32,.66),rgba(12,19,32,.38)),url('/assets/brand/login-background.jpg') center center/cover no-repeat;min-height:100svh;padding:28px 24px;align-items:flex-end}
.login-card{margin-right:max(3vw,16px);padding:24px 34px 30px;background:rgba(255,255,255,.96);box-shadow:0 24px 80px #0005;border-color:#ffffff80;backdrop-filter:blur(10px)}
.login-brand{display:flex;justify-content:center;margin-bottom:16px}.login-brand img{width:155px;height:155px;object-fit:contain}.login-card .eyebrow{text-align:center}.login-card h1{font-size:28px}.login-main>.alert{width:100%;max-width:440px;margin-right:max(3vw,16px)}
@media(max-width:991px){.login-main{align-items:center}.login-card,.login-main>.alert{margin-right:0}.hero-art.brand-mascot{width:180px}}
@media(max-width:767px){.company-logo{width:65px;height:65px}.public-brand-name{font-size:18px}.public-header nav{gap:12px}.hero-art.brand-mascot{display:block;width:100px}.catalog-hero{gap:12px;padding:24px}.catalog-hero h1{font-size:27px}.catalog-hero p:not(.eyebrow){font-size:12px}.brand-mascot img{max-height:210px}.login-main{background-position:40% center;padding:20px 16px}.login-card{max-width:420px;padding:20px 26px 26px}.login-brand img{width:135px;height:135px}}
@media(max-width:480px){.catalog-hero{position:relative;display:block;padding-right:85px}.hero-art.brand-mascot{position:absolute;right:8px;bottom:24px;width:85px}.catalog-hero h1{font-size:25px}.catalog-hero p:not(.eyebrow) br{display:none}.catalog-hero .eyebrow{font-size:9px}.catalog-hero .btn{padding:10px 12px}.public-brand{gap:6px}.public-brand-name{font-size:16px}.public-header nav{font-size:11px}}
/* Split-panel administrative sign-in. */
.login-main{background:#f2f4f7;min-height:100svh;padding:36px;align-items:center;justify-content:center;gap:18px}
.login-main>.alert{max-width:1120px;margin:0;width:100%}
.login-shell{display:grid;grid-template-columns:1.06fr 1fr;max-width:1120px;width:100%;min-height:670px;background:#fff;border:1px solid #e3e7ed;border-radius:28px;box-shadow:0 20px 65px #1826380c;overflow:hidden;padding:12px;gap:12px}
.login-cover{position:relative;min-height:646px;border-radius:20px;overflow:hidden;background:#152238}
.login-cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% center}
.login-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#0d172a38 62%,#0d172adb 100%)}
.login-cover-caption{position:absolute;z-index:1;bottom:42px;left:34px;right:28px;color:white}
.login-cover-tag{display:inline-block;border:1px solid #ffffff60;background:#ffffff14;border-radius:20px;padding:7px 12px;letter-spacing:.16em;font-size:9px;font-weight:600;margin-bottom:18px}
.login-cover-caption h2{font-size:38px;line-height:1.15;letter-spacing:-.045em;color:#fff;margin-bottom:12px}.login-cover-caption p{color:#e1e6ef;font-size:13px;line-height:1.6;margin-bottom:0}
.login-form-panel{padding:28px 42px;display:flex;flex-direction:column;justify-content:center;color:#1b2638}
.login-form-panel .login-brand{justify-content:flex-start;margin:0 0 27px}.login-form-panel .login-brand img{width:94px;height:94px;object-fit:contain}
.login-intro .eyebrow{color:#748197;font-size:10px;letter-spacing:.13em;margin-bottom:12px}.login-intro h1{font-size:30px;line-height:1.2;font-weight:650;margin-bottom:10px}.login-intro .muted{color:#7a8493;font-size:13px;margin-bottom:30px}
.login-form{display:grid;gap:21px}.login-form .form-label{color:#344155;font-size:12px;font-weight:600;margin-bottom:9px}.login-form .form-control{min-height:49px;border:1px solid #dde3eb;background:#fafbfc;border-radius:10px;padding:12px 14px;color:#1b2638;font-size:13px}.login-form .form-control::placeholder{color:#9ba5b3}.login-form .form-control:focus{background:#fff;border-color:#687caa;box-shadow:0 0 0 3px #2947750b}
.login-password-field{position:relative}.login-password-field .form-control{padding-right:80px}.login-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#607089;font-size:11px;padding:8px;border-radius:6px}.login-password-toggle:hover{background:#eef1f5}.login-password-toggle:focus-visible{outline:2px solid #365e9d;outline-offset:1px}
.login-submit{display:flex;align-items:center;justify-content:space-between;margin-top:6px;min-height:49px;border-radius:10px;background:#18345b;border-color:#18345b;font-size:13px;padding:12px 17px;--bs-btn-hover-bg:#102746;--bs-btn-hover-border-color:#102746;--bs-btn-active-bg:#102746;--bs-btn-active-border-color:#102746}.login-submit span{font-size:19px;font-weight:400}
.login-back{display:block;text-align:center;color:#65738a;font-size:12px;margin-top:25px}.login-back:hover{color:#18345b}.login-panel-footer{display:flex;align-items:center;justify-content:center;gap:7px;padding-top:28px;margin-top:28px;border-top:1px solid #edf0f4;font-size:10px;color:#8792a3}.login-footer-dot{width:5px;height:5px;background:#7891b8;border-radius:50%}
@media(max-width:991px){.login-main{padding:24px}.login-shell{min-height:620px;grid-template-columns:1fr 1fr}.login-cover{min-height:596px}.login-form-panel{padding:25px}.login-intro h1{font-size:27px}.login-cover-caption{left:25px;bottom:32px}.login-cover-caption h2{font-size:31px}}
@media(max-width:767px){.login-main{padding:18px 14px;justify-content:flex-start}.login-shell{grid-template-columns:1fr;max-width:470px;min-height:0;padding:9px;gap:0;border-radius:23px}.login-cover{min-height:0;height:200px;border-radius:16px}.login-cover-photo{object-position:center 38%}.login-cover-caption{left:22px;bottom:18px}.login-cover-tag{margin-bottom:8px;font-size:8px;padding:4px 9px}.login-cover-caption h2{font-size:23px;margin-bottom:0}.login-cover-caption h2 br{display:none}.login-cover-caption p{display:none}.login-form-panel{padding:24px 22px 20px}.login-form-panel .login-brand{margin-bottom:17px}.login-form-panel .login-brand img{width:70px;height:70px}.login-intro h1{font-size:26px}.login-intro .muted{margin-bottom:24px}.login-form{gap:17px}.login-panel-footer{margin-top:22px;padding-top:20px}.login-main>.alert{max-width:470px}}
@media(prefers-reduced-motion:reduce){.login-shell *{transition:none!important}}
/* Larger desktop layout with approximately ten percent margin on each side. */
@media(min-width:992px){
  .login-shell{width:80vw;max-width:none;min-height:max(650px,80svh)}
  .login-main>.alert{width:80vw;max-width:none}
  .login-form-panel{padding:38px clamp(32px,4vw,80px);align-items:center}
  .login-form-panel>*{width:100%;max-width:460px}
}
@media(min-width:1200px){
  .login-form-panel .login-brand img{width:110px;height:110px}
  .login-intro h1{font-size:34px}
  .login-form .form-control,.login-submit{min-height:54px}
  .login-cover-caption{left:42px;bottom:46px}
  .login-cover-caption h2{font-size:clamp(38px,3vw,52px)}
}
/* Quiet pyrotechnic accents in the outer margins. */
.login-main{position:relative;isolation:isolate;background:radial-gradient(ellipse at 5% 12%,#ffe9c852,transparent 38%),radial-gradient(ellipse at 96% 85%,#dce6fa70,transparent 40%),radial-gradient(ellipse at 90% 8%,#f6e0eb45,transparent 30%),#f2f4f7}
.login-main::before,.login-main::after{content:'';position:fixed;pointer-events:none;z-index:-1;border-radius:50%;width:440px;height:440px;filter:blur(1.8px);mask-image:radial-gradient(circle,transparent 7%,#000 17%,#0009 38%,transparent 69%);-webkit-mask-image:radial-gradient(circle,transparent 7%,#000 17%,#0009 38%,transparent 69%)}
.login-main::before{top:-110px;left:-145px;background:repeating-conic-gradient(from 12deg,#d5a35a 0deg 1.3deg,transparent 1.3deg 16deg);opacity:.18}
.login-main::after{right:-155px;bottom:-125px;width:510px;height:510px;background:repeating-conic-gradient(from 7deg,#829ac1 0deg 1.2deg,transparent 1.2deg 12deg,#bd92af 12deg 13deg,transparent 13deg 24deg);opacity:.2}
.login-form-panel .login-brand{justify-content:center;margin-bottom:20px}
.login-form-panel .login-brand img{width:180px;height:180px}
@media(min-width:992px) and (max-height:850px){.login-form-panel{padding-top:24px;padding-bottom:24px}.login-form-panel .login-brand img{width:150px;height:150px}.login-intro .muted{margin-bottom:22px}.login-form{gap:17px}.login-panel-footer{margin-top:20px;padding-top:20px}}
@media(min-width:768px) and (max-width:991px){.login-form-panel .login-brand img{width:150px;height:150px}}
@media(max-width:767px){.login-form-panel .login-brand img{width:120px;height:120px}.login-main::before{width:300px;height:300px;left:-160px;top:-60px}.login-main::after{width:320px;height:320px;right:-190px;bottom:-70px}}
/* Double-size login logo and mascot beneath the form, on the left. */
.login-form-panel .login-brand img{width:360px;height:auto;max-width:100%;aspect-ratio:1;object-fit:contain}
.login-form-panel .login-brand{margin-bottom:16px;flex-shrink:0}
.login-panel-footer{justify-content:space-between;align-items:flex-end;gap:16px;padding-top:16px}
.login-form-mascot{width:96px;height:144px;object-fit:contain;flex-shrink:0}
.login-panel-footer>span{padding-bottom:12px;text-align:right;line-height:1.7}
@media(min-width:992px) and (max-height:850px){.login-form-panel .login-brand img{width:300px;height:auto}}
@media(min-width:768px) and (max-width:991px){.login-form-panel .login-brand img{width:300px;height:auto}}
@media(max-width:767px){.login-form-panel .login-brand img{width:240px;height:auto}.login-form-mascot{width:80px;height:120px}.login-panel-footer{gap:12px}}
/* Dark outer canvas and mascot close to the central panel divider. */
.login-main{background:radial-gradient(ellipse at 5% 12%,#6e4f302b,transparent 38%),radial-gradient(ellipse at 96% 85%,#2e466d52,transparent 42%),radial-gradient(ellipse at 90% 8%,#55384b38,transparent 32%),#121b2b}
.login-main::before{background:repeating-conic-gradient(from 12deg,#e5b36b 0deg 1.3deg,transparent 1.3deg 16deg);opacity:.22}
.login-main::after{background:repeating-conic-gradient(from 7deg,#9cb4dc 0deg 1.2deg,transparent 1.2deg 12deg,#d4a1c1 12deg 13deg,transparent 13deg 24deg);opacity:.23}
.login-form-panel .login-panel-footer{max-width:none}
.login-form-mascot{width:115.2px;height:172.8px}
@media(min-width:992px){.login-form-mascot{transform:translateX(calc(12px - clamp(32px,4vw,80px)))}}
@media(min-width:768px) and (max-width:991px){.login-form-mascot{transform:translateX(-13px)}}
@media(max-width:767px){.login-form-mascot{width:96px;height:144px;transform:translateX(-10px)}}
/* Owner-supplied gold fireworks framing the public and private workspaces. */
.catalog-body,.admin-body.admin-authenticated{position:relative;isolation:isolate;min-height:100svh;background:#fcfaf7}
.catalog-body::before,.catalog-body::after,.admin-authenticated::before,.admin-authenticated::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url('/assets/brand/site-background-hd.png');background-size:100% auto;background-repeat:no-repeat;opacity:.48}
.catalog-body::before,.admin-authenticated::before{background-position:center top;mask-image:linear-gradient(#000 0%,#000c 22%,transparent 55%);-webkit-mask-image:linear-gradient(#000 0%,#000c 22%,transparent 55%)}
.catalog-body::after,.admin-authenticated::after{background-position:center bottom;mask-image:linear-gradient(transparent 55%,#0008 78%,#000 100%);-webkit-mask-image:linear-gradient(transparent 55%,#0008 78%,#000 100%)}
.company-logo{width:160px;height:160px}.public-header{gap:20px;background:#ffffffc9;border-radius:0 0 16px 16px}.public-footer{background:#ffffffdf}
.admin-brand-logo{width:176px;height:176px}.sidebar .brand{flex-direction:column;text-align:center;gap:6px;padding:0 0 22px;flex-shrink:0}.sidebar .brand>div{font-size:15px}.sidebar{overflow-y:auto}.sidebar nav{flex-shrink:0}.sidebar-catalog{flex-shrink:0}
.admin-authenticated .topbar{background:#ffffffed}.admin-footer{background:#ffffffc9;border-radius:12px;margin:0 24px 16px}
@media(max-width:991px){.admin-brand-logo{width:150px;height:150px}}
@media(max-width:767px){.company-logo{width:112px;height:112px}.public-header{flex-wrap:wrap;gap:10px;padding-top:12px;padding-bottom:12px}.public-header .public-brand{max-width:100%}.public-header nav{margin-left:auto}.catalog-body::before,.admin-authenticated::before{mask-image:linear-gradient(#000 0%,transparent 48%);-webkit-mask-image:linear-gradient(#000 0%,transparent 48%)}.catalog-body::after,.admin-authenticated::after{mask-image:linear-gradient(transparent 65%,#000 100%);-webkit-mask-image:linear-gradient(transparent 65%,#000 100%)}}
/* Blue brand accents and the owner's higher-resolution background. */
:root{--bs-primary-rgb:31,79,143;--bs-link-color:#1f4f8f;--bs-link-hover-color:#163963}
.public-brand-name{font-family:'Trebuchet MS','Arial Black',sans-serif;font-style:italic;font-weight:900;font-size:clamp(24px,2.5vw,38px);letter-spacing:-.045em;line-height:1.12;color:#1f4f8f;max-width:560px;text-shadow:0 2px 0 #e6edf7}
.public-brand{min-width:0}.public-header .public-brand-name{overflow-wrap:anywhere}
.catalog-body::before,.catalog-body::after,.admin-authenticated::before,.admin-authenticated::after{opacity:.82;filter:none}
.catalog-hero{background:linear-gradient(125deg,#f5f8fd,#edf3fc)}
.form-control:focus,.form-select:focus{border-color:#7495c1;box-shadow:0 0 0 .18rem #1f4f8f12}
.page-link{color:#1f4f8f}.active>.page-link,.page-link.active{background:#1f4f8f;border-color:#1f4f8f}
.category-tabs a{color:#657c9c}.in-stock{color:#547eae}.product-description p{color:#778298}
@media(max-width:767px){.public-brand-name{font-size:23px;max-width:220px}}
@media(max-width:400px){.public-brand-name{font-size:20px;max-width:170px}}
/* Subtle photographic backdrop for the catalog welcome banner. */
.catalog-hero{background-color:#eef3fb;background-image:linear-gradient(100deg,rgba(247,250,255,.84) 0%,rgba(247,250,255,.74) 40%,rgba(247,250,255,.42) 70%,rgba(247,250,255,.28) 100%),url('/assets/brand/catalog-sparklers.jpg');background-size:cover;background-position:center 44%;background-repeat:no-repeat;border:1px solid #dce6f4;box-shadow:0 12px 32px #1f4f8f0a}
@media(max-width:767px){.catalog-hero{background-image:linear-gradient(180deg,rgba(247,250,255,.83) 0%,rgba(247,250,255,.73) 45%,rgba(247,250,255,.48) 100%),url('/assets/brand/catalog-sparklers.jpg');background-position:60% center}}
/* Original-intensity photo, readable translucent text panel and supplied title artwork. */
.public-brand-title{position:relative;display:block;width:min(54vw,780px);aspect-ratio:7;overflow:hidden;flex-shrink:1}
.public-brand-title img{position:absolute;top:50%;left:0;transform:translateY(-50%);width:100%;height:auto;max-width:none}
.catalog-hero{background-image:linear-gradient(100deg,rgba(9,18,36,.12),rgba(9,18,36,.04)),url('/assets/brand/catalog-sparklers.jpg');gap:32px}
.hero-copy{background:rgba(16,30,53,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #ffffff55;border-radius:16px;padding:28px 30px;max-width:760px;box-shadow:0 8px 24px #00000012}
.catalog-hero .hero-copy h1,.catalog-hero .hero-copy h1 em{color:#fff;text-shadow:0 2px 6px #0004}
.catalog-hero .hero-copy .eyebrow{color:#e0ecff}
.catalog-hero .hero-copy p:not(.eyebrow){color:#f3f6ff;line-height:1.8;text-shadow:0 1px 3px #0005}
@media(max-width:991px){.hero-copy{padding:24px}.catalog-hero{gap:22px}}
@media(max-width:767px){.public-header .public-brand{flex-direction:column;width:100%;gap:4px}.public-brand-title{width:min(100%,600px)}.public-header .company-logo{width:100px;height:100px}.catalog-hero{background-image:linear-gradient(180deg,rgba(9,18,36,.08),rgba(9,18,36,.04)),url('/assets/brand/catalog-sparklers.jpg');padding:18px}.hero-copy{padding:20px;max-width:100%}.catalog-hero .hero-art.brand-mascot{right:20px;bottom:36px;width:78px}.hero-copy p:not(.eyebrow){padding-right:55px}.hero-copy .btn{margin-right:65px}.catalog-hero h1{font-size:25px}}
@media(max-width:480px){.catalog-hero{padding-right:18px}.hero-copy{padding:20px 16px}.catalog-hero .hero-copy .eyebrow{font-size:8px}}
/* Center the supplied title independently of the logo and navigation. */
.public-header{display:grid;grid-template-columns:160px minmax(0,1fr) 160px;align-items:center;gap:20px}
.public-header .public-brand{display:contents}
.public-header .company-logo{grid-column:1;grid-row:1;justify-self:start}
.public-header .public-brand-title{grid-column:2;grid-row:1;justify-self:center;width:min(100%,780px)}
.public-header nav{grid-column:3;grid-row:1;justify-self:end;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:991px){.public-header{grid-template-columns:120px minmax(0,1fr) 100px;gap:12px}.public-header .company-logo{width:120px;height:120px}}
@media(max-width:767px){.public-header{grid-template-columns:minmax(0,1fr);gap:8px}.public-header .company-logo{grid-column:1;grid-row:1;justify-self:center;width:100px;height:100px}.public-header .public-brand-title{grid-column:1;grid-row:2;justify-self:center;width:min(100%,600px)}.public-header nav{grid-column:1;grid-row:3;justify-self:end;margin-left:0}}
.page-actions{display:flex;gap:10px;flex-wrap:wrap}
/* Night fireworks background supplied by the owner. */
.catalog-body,.admin-body.admin-authenticated{background:#230d16}
.catalog-body::before,.admin-authenticated::before{background-image:url('/assets/brand/site-background-soft-original.png');background-size:cover;background-position:center center;opacity:1;mask-image:none;-webkit-mask-image:none;filter:none}
.catalog-body::after,.admin-authenticated::after{display:none}
.catalog-body .public-footer,.admin-authenticated .admin-footer{background:#fffffff0}
.catalog-body .section-heading,.catalog-body .section-heading h2,.admin-authenticated .page-heading h1,.admin-authenticated .page-heading .eyebrow,.admin-authenticated .page-heading .muted{color:#fff}
.admin-authenticated .page-heading .btn-outline-primary{background:#fffffff2}
@media(max-width:767px){.catalog-body::before,.admin-authenticated::before{background-position:60% center}}
.catalog-body .category-tabs,.catalog-body .catalog-filters,.catalog-body .empty-state{background:#fffffff0;border-radius:16px;padding:16px}.catalog-body .section-heading .eyebrow,.catalog-body .section-heading .muted{color:#f2e5d9}
/* Quiet, light framing keeps the brand scenery behind the content. */
.catalog-body,.admin-body.admin-authenticated{background:#f6f7fa}
.catalog-body::before,.admin-authenticated::before{background-image:linear-gradient(180deg,rgba(247,249,252,.84),rgba(247,249,252,.94) 48%,rgba(247,249,252,.88)),url('/assets/brand/site-background-soft-original.png');filter:saturate(.45);opacity:1}
.catalog-body .public-header{background:#fffffff2;border-bottom:1px solid #e0e7ef}
.catalog-body .section-heading,.catalog-body .section-heading h2,.admin-authenticated .page-heading h1{color:#243b5c}
.catalog-body .section-heading .eyebrow,.admin-authenticated .page-heading .eyebrow{color:#1f4f8f}
.catalog-body .section-heading .muted,.admin-authenticated .page-heading .muted{color:#63738a}
/* More visible scenery with the original wine and gold lower curve. */
.catalog-body::before,.admin-authenticated::before{background-image:linear-gradient(180deg,rgba(247,249,252,.77),rgba(247,249,252,.89) 48%,rgba(247,249,252,.81)),url('/assets/brand/site-background-soft-original.png');filter:saturate(.65)}
.catalog-body .public-header{background:rgba(255,255,255,.48);border-bottom-color:rgba(255,255,255,.5)}
.catalog-body::after,.admin-authenticated::after{display:block;background-image:url('/assets/brand/site-background-soft-original.png');background-size:cover;background-position:center center;opacity:1;filter:none;mask-image:none;-webkit-mask-image:none;clip-path:polygon(0 86%,10% 90%,25% 95%,40% 98.5%,50% 99.5%,60% 98.5%,75% 95%,90% 90%,100% 86%,100% 100%,0 100%)}
@media(max-width:767px){.catalog-body::after,.admin-authenticated::after{background-position:60% center;clip-path:inset(97% 0 0)}}


.sidebar nav .menu-icon{flex:0 0 20px;color:#182333}.sidebar nav a.selected .menu-icon,.sidebar nav a:hover .menu-icon{color:#1f4f8f}
/* Display the owner's complete image without cropping or color overlays. */
.catalog-body,.admin-body.admin-authenticated{background:#3c2229}
.catalog-body::before,.admin-authenticated::before{background-image:url('/assets/brand/site-background-soft-original.png');background-size:contain;background-position:center center;background-repeat:no-repeat;background-color:#3c2229;filter:none;opacity:1;mask-image:none;-webkit-mask-image:none}
.catalog-body::after,.admin-authenticated::after{display:none}
.catalog-body .section-heading,.catalog-body .section-heading h2,.admin-authenticated .page-heading h1{color:#fff}
.catalog-body .section-heading .eyebrow,.catalog-body .section-heading .muted,.admin-authenticated .page-heading .eyebrow,.admin-authenticated .page-heading .muted{color:#f4e7dc}
/* Fill each viewport while preserving the supplied image proportions. */
.catalog-body::before,.admin-authenticated::before{background-size:cover;background-position:center center}
@media(max-width:767px){.catalog-body::before,.admin-authenticated::before{background-position:68% center}}
/* Transparent catalog branding frame over the original scenery. */
.catalog-body .public-header{background:transparent;border:1px solid rgba(255,223,165,.62);border-top:0;border-radius:0 0 20px 20px;box-shadow:0 4px 18px rgba(30,12,20,.08)}
.catalog-body .public-header nav a{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.65)}
.catalog-body .public-header nav a:hover{color:#ffe0a6}
.catalog-social{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:1030;display:flex;flex-direction:column;gap:12px}
.catalog-social .social-button{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;border:1px solid rgba(255,255,255,.7);box-shadow:0 4px 16px rgba(0,0,0,.22);transition:transform .15s}
.social-whatsapp{background:#148b48}.social-instagram{background:linear-gradient(135deg,#7246bc,#cc286a,#db8132)}
.catalog-social .social-button:hover{color:#fff;transform:translateY(-2px)}.catalog-social .social-button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.catalog-body .public-footer{padding-bottom:155px}
@media(max-width:767px){.catalog-social{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));gap:10px}.catalog-social .social-button{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.catalog-social .social-button{transition:none}}
/* Periodic, subtle contact pulses; respect reduced motion preferences. */
.catalog-social .social-button{position:relative;isolation:isolate}
.catalog-social .social-button::before{content:'';position:absolute;inset:0;border-radius:inherit;border:2px solid #fff;opacity:0;pointer-events:none;z-index:-1;animation:contact-ripple 7s ease-out infinite}
.catalog-social .social-instagram::before{animation-delay:3.5s}
@keyframes contact-ripple{0%{transform:scale(1);opacity:0}4%{opacity:.45}20%{transform:scale(1.45);opacity:0}100%{transform:scale(1.45);opacity:0}}
@media(prefers-reduced-motion:reduce){.catalog-social .social-button::before{animation:none}}
.click-fireworks{position:fixed;width:0;height:0;pointer-events:none;z-index:1100}
.click-firework-spark{position:absolute;display:block;width:4px;height:4px;border-radius:50%;box-shadow:0 0 5px currentColor;pointer-events:none}
@media(prefers-reduced-motion:reduce){.click-fireworks{display:none}}
/* Brighter radial trails and a central flash, confined to the catalog. */
.click-fireworks{z-index:2147483000;overflow:visible}
.click-firework-spark{width:3px;height:19px;border-radius:50%;box-shadow:0 0 8px 2px currentColor}
.click-firework-flash{position:absolute;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle,#fff 0%,#ffe0a0 25%,transparent 72%);pointer-events:none;transform:translate(-50%,-50%)}
@media(prefers-reduced-motion:reduce){.click-fireworks{display:block}.click-firework-spark{height:7px}}
.click-firework-spark{width:2px;height:15px;box-shadow:0 0 5px 1px currentColor;will-change:transform,opacity}
.click-firework-flash{will-change:transform,opacity}
@media(prefers-reduced-motion:reduce){.click-firework-spark,.click-firework-flash{will-change:auto}}

.catalog-fireworks-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:2147483000}
/* Readable product details over the catalog scenery. */
.product-back-row{margin:8px 0 18px}
.catalog-body .breadcrumb-line{display:block;background:rgba(255,255,255,.96);border:1px solid #e0e7ef;border-radius:12px;padding:12px 16px;color:#43536b;line-height:1.7;overflow-wrap:anywhere}
.catalog-body .product-detail{gap:28px;align-items:start}
.catalog-body .product-info{background:rgba(255,255,255,.97);border:1px solid #e0e7ef;border-radius:16px;padding:30px;color:#172c49;box-shadow:0 8px 28px rgba(30,20,30,.12);min-width:0;overflow-wrap:anywhere}
.catalog-body .product-info h1,.catalog-body .product-info h2,.catalog-body .detail-price{color:#172c49}
.catalog-body .product-info .muted,.catalog-body .product-description p{color:#4d5f78}
.catalog-body .product-info .description-short{color:#263b55}
.catalog-body .product-info .availability{font-size:14px;font-weight:600}.catalog-body .product-info .in-stock{color:#215587}.catalog-body .product-info .out-stock{color:#815020}
@media(max-width:767px){.catalog-body .product-detail{gap:18px}.catalog-body .product-info{padding:22px 18px}.catalog-body .product-info h1{font-size:28px}.catalog-body .product-info .btn{white-space:normal}}
/* Crisp social marks with a more visible white aura and alternating pulses. */
.catalog-social{gap:18px;right:max(24px,env(safe-area-inset-right))}
.catalog-social .social-button{width:58px;height:58px;border:1.5px solid rgba(255,255,255,.95);box-shadow:0 0 12px 3px rgba(255,255,255,.35),0 5px 18px rgba(25,15,30,.25)}
.catalog-social .social-whatsapp{background:linear-gradient(145deg,#25d366,#128c4b)}
.catalog-social .social-instagram{background:radial-gradient(circle at 28% 105%,#ffd46b 0%,#f59b38 25%,#e54270 48%,#b53297 68%,#674cc9 100%)}
.catalog-social .social-button svg{display:block;flex-shrink:0;position:relative;z-index:1}
.catalog-social .social-button::before{inset:-2px;border:2px solid rgba(255,255,255,.95);box-shadow:0 0 12px 4px rgba(255,255,255,.45);animation:contact-aura-wave 6s cubic-bezier(.2,.6,.3,1) infinite}
.catalog-social .social-button::after{content:'';position:absolute;inset:-8px;pointer-events:none;border-radius:inherit;background:radial-gradient(circle,transparent 48%,rgba(255,255,255,.45) 65%,transparent 76%);opacity:.35;z-index:-1;animation:contact-aura-glow 6s ease-in-out infinite}
.catalog-social .social-instagram::before,.catalog-social .social-instagram::after{animation-delay:3s}
@keyframes contact-aura-wave{0%{transform:scale(.95);opacity:0}5%{opacity:.8}28%{transform:scale(1.55);opacity:0}100%{transform:scale(1.55);opacity:0}}
@keyframes contact-aura-glow{0%,35%,100%{transform:scale(1);opacity:.25}12%{transform:scale(1.16);opacity:.75}}
@media(max-width:767px){.catalog-social{right:18px;gap:16px}.catalog-social .social-button{width:52px;height:52px}.catalog-social .social-button svg{width:29px;height:29px}}
@media(prefers-reduced-motion:reduce){.catalog-social .social-button::before,.catalog-social .social-button::after{animation:none}.catalog-social .social-button::after{opacity:.4}}
/* Equal visible icon sizes; a persistent white halo under the expanding pulse. */
.catalog-social .social-whatsapp svg{width:32px;height:32px}
.catalog-social .social-instagram svg{width:32px;height:32px}
.catalog-social .social-button{box-shadow:0 0 0 3px rgba(255,255,255,.6),0 0 14px 7px rgba(255,255,255,.65),0 5px 18px rgba(25,15,30,.24)}
.catalog-social .social-button::after{inset:-11px;animation:none;opacity:1;background:radial-gradient(circle,transparent 47%,rgba(255,255,255,.55) 61%,rgba(255,255,255,.18) 70%,transparent 78%)}
@media(max-width:767px){.catalog-social .social-whatsapp svg{width:28px;height:28px}.catalog-social .social-instagram svg{width:28px;height:28px}}

/* Supplied PNG social icons: aligned, without a permanent white halo. */
.catalog-social{gap:16px}
.catalog-social .social-button{width:54px;height:54px;border-radius:14px;border:0;background:none;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.catalog-social .social-button img{display:block;width:100%;height:100%;object-fit:contain;position:relative;z-index:1}
.catalog-social .social-button::after{display:none}
.catalog-social .social-button::before{inset:0;border-radius:14px;border:2px solid #fff;box-shadow:none;background:none;opacity:0;animation:contact-ripple-clear 7s ease-out infinite}
.catalog-social .social-instagram::before{animation-delay:3.5s}
@keyframes contact-ripple-clear{0%{transform:scale(1);opacity:0}4%{opacity:.75}23%{transform:scale(1.5);opacity:0}100%{transform:scale(1.5);opacity:0}}
@media(max-width:767px){.catalog-social .social-button{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.catalog-social .social-button::before{animation:none}}
/* Continuous, smooth social pulse without a permanent halo. */
.catalog-social .social-button{animation:social-soft-pulse 3s ease-in-out infinite;transform-origin:center}
.catalog-social .social-instagram{animation-delay:1.5s}
.catalog-social .social-button::before{animation:contact-ripple-fluid 3s cubic-bezier(.2,.6,.3,1) infinite}
.catalog-social .social-instagram::before{animation-delay:1.5s}
@keyframes social-soft-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@keyframes contact-ripple-fluid{0%{transform:scale(.98);opacity:0}18%{opacity:.8}80%,100%{transform:scale(1.55);opacity:0}}
.catalog-body .product-picture{overflow:hidden}
.catalog-body .product-picture img,.catalog-body .detail-image img{object-fit:cover;object-position:center;display:block}
@media(prefers-reduced-motion:reduce){.catalog-social .social-button{animation:none}.catalog-social .social-button::before{animation:none}}
@media(prefers-reduced-motion:reduce){.catalog-social .social-button{animation:social-gentle-pulse 4.5s ease-in-out infinite}.catalog-social .social-instagram{animation-delay:2.25s}}
@keyframes social-gentle-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
/* A brief white flash follows the pulse, with no permanent halo. */
.catalog-social .social-button::after{display:block;content:'';position:absolute;inset:-9px;border-radius:20px;pointer-events:none;z-index:-1;background:radial-gradient(circle,transparent 40%,rgba(255,255,255,.7) 60%,transparent 78%);opacity:0;animation:social-pulse-flash 3s ease-in-out infinite}
.catalog-social .social-instagram::after{animation-delay:1.5s}
@keyframes social-pulse-flash{0%,12%,82%,100%{opacity:0;transform:scale(.94)}42%{opacity:.85;transform:scale(1.12)}65%{opacity:0;transform:scale(1.35)}}
.catalog-body .product-card{transition:transform .25s ease,box-shadow .3s ease,border-color .3s ease}
@media(hover:hover){.catalog-body .product-card:hover{box-shadow:0 10px 28px rgba(157,38,49,.19),0 3px 10px rgba(157,38,49,.08);border-color:rgba(157,38,49,.3)}}
@media(prefers-reduced-motion:reduce){.catalog-social .social-button::after{animation-duration:4.5s}.catalog-social .social-instagram::after{animation-delay:2.25s}.catalog-body .product-card{transition:none}}
/* Venezuelan flag colors on hover, preserving the existing lift. */
@media(hover:hover){.catalog-body .product-card:hover{border-color:rgba(255,201,40,.7);box-shadow:-9px 2px 24px rgba(255,201,40,.48),0 10px 28px rgba(28,77,180,.38),9px 2px 24px rgba(211,44,57,.42)}}
/* Thin continuous waves and a softly breathing flash, with no idle interval. */
.catalog-social .social-button::before{border-width:1px;animation:social-thin-wave 2.6s linear infinite}
.catalog-social .social-button::after{inset:-6px;background:radial-gradient(circle,transparent 55%,rgba(255,255,255,.62) 65%,transparent 75%);animation:social-flow-flash 2.6s ease-in-out infinite}
.catalog-social .social-button{animation-duration:2.6s}
.catalog-social .social-instagram,.catalog-social .social-instagram::before,.catalog-social .social-instagram::after{animation-delay:1.3s}
@keyframes social-thin-wave{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}
@keyframes social-flow-flash{0%,100%{opacity:0;transform:scale(1)}50%{opacity:.75;transform:scale(1.18)}}
@media(prefers-reduced-motion:reduce){.catalog-social .social-button::before{animation:none}.catalog-social .social-button,.catalog-social .social-button::after{animation-duration:4.5s}.catalog-social .social-instagram,.catalog-social .social-instagram::after{animation-delay:2.25s}}
/* Reference-video motion: stable icons with expanding translucent color waves. */
.catalog-social .social-button{animation:none;--social-wave:37,211,102}
.catalog-social .social-instagram{--social-wave:220,55,139}
.catalog-social .social-button::before,.catalog-social .social-button::after{display:block;content:'';position:absolute;inset:1px;border-radius:50%;border:0;box-shadow:none;background:rgba(var(--social-wave),.32);pointer-events:none;z-index:-1;opacity:0;animation:social-video-wave 2.4s linear infinite}
.catalog-social .social-button::after{animation-delay:-1.2s}
.catalog-social .social-instagram::before{animation-delay:-.6s}.catalog-social .social-instagram::after{animation-delay:-1.8s}
@keyframes social-video-wave{0%{transform:scale(.98);opacity:.8}100%{transform:scale(1.9);opacity:0}}
.catalog-body .product-card:hover{border-color:#ffcb28;box-shadow:-12px 0 32px 4px rgba(255,201,40,.72),0 14px 34px 5px rgba(28,77,180,.62),12px 0 32px 4px rgba(211,44,57,.68)}
.catalog-body .product-card-body{transition:background-color .25s ease}
.catalog-body .product-card:hover .product-card-body{background:linear-gradient(135deg,rgba(255,207,50,.26),rgba(76,133,229,.22) 50%,rgba(232,75,85,.24))}
@media(prefers-reduced-motion:reduce){.catalog-social .social-button::before,.catalog-social .social-button::after{animation-duration:4s}}
/* The mobile navigation must sit above Bootstrap's 1040 backdrop. */
@media(max-width:991.98px){.admin-authenticated .sidebar.offcanvas-lg{z-index:1045}}

/* Private workspace: opaque secondary actions with contrast in every state. */
.admin-authenticated .btn:is(.btn-outline-primary,.btn-outline-secondary){background:#fff;color:#173e73;border-color:#6583aa;--bs-btn-color:#173e73;--bs-btn-bg:#fff;--bs-btn-border-color:#6583aa;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#173e73;--bs-btn-hover-border-color:#173e73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#102e57;--bs-btn-active-border-color:#102e57;--bs-btn-disabled-color:#455b77;--bs-btn-disabled-bg:#edf1f6;--bs-btn-disabled-border-color:#9baabd;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.admin-authenticated .btn:is(.btn-outline-primary,.btn-outline-secondary):is(:hover,:focus-visible){background:#173e73;color:#fff;border-color:#173e73}
.admin-authenticated .btn:is(.btn-outline-primary,.btn-outline-secondary):is(:active,.active){background:#102e57;color:#fff;border-color:#102e57}
.admin-authenticated .btn:is(.btn-outline-primary,.btn-outline-secondary):focus-visible{outline:3px solid #a9c9f2;outline-offset:3px;box-shadow:none}
.admin-authenticated .btn-outline-danger{background:#fff;color:#9f1d2c;border-color:#b34a56}
.admin-authenticated .btn-outline-danger:is(:hover,:focus-visible,:active){background:#9f1d2c;color:#fff;border-color:#9f1d2c}
.admin-authenticated .btn:disabled{opacity:.65}
/* Subtle dark edging keeps private module titles readable over the scenery. */
.admin-authenticated .page-heading h1{color:#fff;-webkit-text-stroke:.45px rgba(10,28,53,.8);paint-order:stroke fill;text-shadow:0 1px 2px rgba(8,23,44,.85),0 3px 10px rgba(8,23,44,.35)}
.admin-authenticated .page-heading .eyebrow,.admin-authenticated .page-heading .muted{text-shadow:0 1px 3px rgba(8,23,44,.85)}
.admin-authenticated .kpi-link{display:block;color:#172c49;text-decoration:none;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.admin-authenticated .kpi-link:hover{color:#172c49;border-color:#7c9ac0;box-shadow:0 5px 18px #14385d20;transform:translateY(-2px)}
.admin-authenticated .kpi-link:focus-visible{outline:3px solid #a9c9f2;outline-offset:3px}
.admin-authenticated .kpi-icon{display:grid;place-items:center;width:36px;height:36px;padding:7px;border-radius:9px;color:#1f4f8f;background:#e6edf7}
.admin-authenticated .kpi-icon svg{display:block;width:22px;height:22px}
.sidebar nav a.sidebar-submenu{margin-left:36px;font-size:11px;padding:6px 10px}
.admin-authenticated .sidebar nav .quote-notification{margin-left:auto;min-width:22px;padding:3px 6px;border-radius:20px;background:#c91f3a;color:#fff;font-size:11px;text-align:center}.quote-notification[hidden]{display:none!important}
