/* v5.3 Pro */
:root{ --blur: 14px; }
.cm-bleed{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
body{ background: radial-gradient(1200px 800px at 50% -200px, #0b1220 0%, #0a0f1c 40%, #060a12 75%, #05070c 100%), var(--cm-bg); color:var(--cm-text); }
a{ color:var(--cm-accent-2); }
.caliber-menu-wrap{ max-width:1100px; margin:0 auto; padding:16px 16px calc(var(--cm-dock-h) + 24px); }
.cm-hero{ position:relative; height:var(--cm-hero-h); background: linear-gradient(90deg, var(--cm-header-a), var(--cm-header-b)), var(--cm-surface); color:#fff; overflow:hidden; }
.cm-hero::before{ content:""; position:absolute; inset:0; background-image: var(--cm-hero-bg, none); background-size:cover; background-position:center; opacity:.15; }
.cm-hero-inner{ max-width:1100px; margin:0 auto; height:100%; display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; gap:12px; padding: 0 16px; }
.cm-logo{ display:block; background:transparent!important; border:none!important; box-shadow:none!important; filter: drop-shadow(0 4px 10px rgba(0,0,0,.35)); }
.cm-hero-title{ margin:0; text-align:center; font-weight:800; font-size: clamp(18px, 3.2vw, 28px); letter-spacing:.3px; color: var(--cm-hero-title); }
.cm-hero-sub{ margin:.1rem 0 0; text-align:center; opacity:.9; font-size:12px; color: var(--cm-hero-sub); }
.cm-hero-right{ display:flex; align-items:center; gap:10px; justify-self:end; }
.cm-hero-actions{ display:flex; gap:6px; }
.cm-social{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:999px; background:rgba(255,255,255,.16); backdrop-filter:blur(6px); color: var(--cm-icon); }
.cm-dock{ position:fixed; left:0; right:0; bottom:0; z-index:1002; background: var(--cm-dock); -webkit-backdrop-filter: blur(var(--blur)); backdrop-filter: blur(var(--blur)); padding: max(8px, env(safe-area-inset-bottom)) 12px 12px; box-shadow: 0 -10px 25px rgba(0,0,0,.35); }
.cm-dock-inner{ max-width:1100px; margin:0 auto; }
.cm-cats-scroll{ display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; position: relative; }
.cm-cats-scroll::-webkit-scrollbar{ display:none; }
.cm-chip{ flex:0 0 auto; scroll-snap-align:start; padding:12px 16px; border-radius:var(--cm-chip-radius); color:var(--cm-dock-txt); text-decoration:none; font-weight:700; font-size:14px; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); box-shadow: 0 6px 18px rgba(0,0,0,.2); transition: all .15s ease; }
.cm-chip.is-active{ background: var(--cm-dock-active); color:#111; border-color: transparent; transform: translateY(-1px); box-shadow: 0 0 0 2px rgba(255,255,255,.14) inset, 0 10px 28px rgba(0,0,0,.28), 0 0 18px rgba(255,255,255,.10); }
.cm-cat{ margin:22px 0; }
.cm-cat-head{ display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
.cm-cat-title{ margin:0; font-size:18px; font-weight:800; letter-spacing:.2px; text-align:center; color: var(--cm-cat-title); }
.cm-grid{ display:grid; grid-template-columns:1fr; gap:12px; }
.cm-item{ background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)), var(--cm-card); border:1px solid var(--cm-border); border-radius: var(--cm-radius); box-shadow: 0 10px 30px rgba(0,0,0,.35); overflow:hidden; transition: transform .12s ease, box-shadow .12s ease; }
.cm-item:hover{ transform: translateY(-2px); box-shadow: 0 14px 36px rgba(0,0,0,.45); }
.cm-thumb{ aspect-ratio:16/9; background:var(--cm-bg); }
.cm-thumb img{ width:100%; height:100%; display:block; object-fit: var(--cm-img-fit); }
.cm-info{ display:flex; gap:12px; align-items:flex-start; justify-content:space-between; padding:12px 14px; }
.cm-name{ margin:0 0 4px; font-weight:800; font-size:16px; color:var(--cm-name); }
.cm-desc{ margin:0; font-size:12px; color:var(--cm-muted); line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cm-price{ font-weight:900; color:var(--cm-price); white-space:nowrap; align-self:center; }
.cm-footer{ text-align:center; color:var(--cm-muted); padding:18px 0; font-size:12px; }
html[dir="rtl"] .cm-hero-inner{ grid-template-columns: 1fr auto 1fr; }
html[dir="rtl"] .cm-hero-right{ justify-self:start; }
html[dir="rtl"] .cm-cats-scroll{ flex-direction:row-reverse; }
html[dir="rtl"] .cm-info{ flex-direction:row-reverse; }
@keyframes cmPulse{ 0%{ transform: scale(0.98); box-shadow: 0 6px 18px rgba(0,0,0,.2);} 50%{ transform: scale(1.02); box-shadow: 0 10px 26px rgba(0,0,0,.28);} 100%{ transform: scale(1.00); box-shadow: 0 6px 18px rgba(0,0,0,.2);} }
.cm-chip.just-activated{ animation: cmPulse .35s ease; }
@media (min-width: 720px){ .cm-grid{ grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px){ .cm-grid{ grid-template-columns: 1fr 1fr 1fr; } }
.cm-header-fixed .cm-hero{ position: fixed; left:0; right:0; top:0; z-index:1003; }
.cm-header-fixed .caliber-menu-wrap{ padding-top: calc(var(--cm-hero-h) + 16px); }
body.admin-bar.cm-header-fixed .cm-hero{ top:32px; }
@media (max-width:782px){ body.admin-bar.cm-header-fixed .cm-hero{ top:46px; } }
.cm-bg-solid{ background: var(--cm-bg) !important; }


/* Pro refine */
.cm-card{ transition: transform .18s ease, box-shadow .22s ease, border-color .18s ease; box-shadow: 0 6px 20px rgba(0,0,0,.18); }
.cm-card:hover{ transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0,0,0,.28); }
.cm-thumb img{ transition: transform .35s ease; } .cm-card:hover .cm-thumb img{ transform: scale(1.05); }
.cm-chip.is-active{ box-shadow: 0 8px 24px rgba(0,0,0,.25); }
