/* FilamentLab — shop front-end (scoped to .fl-shop, RTL-aware) */
.fl-shop{display:block}
.fl-shop *{box-sizing:border-box}

.fl-shop-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0f172a 0%,#132a4a 55%,#0b3b53 100%);
  color:#eaf2fb;border-radius:18px;padding:34px 30px;margin-bottom:22px;
}
.fl-shop-hero h1{margin:0 0 8px;font-size:clamp(26px,3.2vw,38px);line-height:1.15;color:#fff}
.fl-shop-hero p{margin:0;max-width:70ch;color:#c7d7ea;line-height:1.6}
.fl-shop-hero .fl-shop-eyebrow{
  display:inline-block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:#7fd4ff;margin-bottom:10px;font-weight:600
}
[dir="rtl"] .fl-shop-hero{text-align:right}
[dir="rtl"] .fl-shop-hero .fl-shop-eyebrow{letter-spacing:normal}

.fl-shop-toolbar{
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
  margin:18px 0 22px;padding:12px 14px;border:1px solid #e3e9f1;border-radius:14px;background:#f8fafc;
}
.fl-seg{display:inline-flex;border:1px solid #d5dde8;border-radius:10px;overflow:hidden;background:#fff}
.fl-seg a{
  padding:7px 14px;font-size:13px;font-weight:600;color:#33455c;text-decoration:none;line-height:1.4;
  border-inline-end:1px solid #e3e9f1;
}
.fl-seg a:last-child{border-inline-end:0}
.fl-seg a:hover{background:#eef4fb;color:#0b3b53}
.fl-seg a.is-active{background:#0b3b53;color:#fff}
.fl-toolbar-label{font-size:13px;font-weight:600;color:#4a5b72;margin-inline-end:8px}
.fl-cart-link{
  display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:10px;
  background:#0b3b53;color:#fff;font-weight:600;font-size:13px;text-decoration:none;line-height:1.4;
}
.fl-cart-link:hover{background:#0f4d6b;color:#fff}
.fl-cart-count{
  display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;
  background:#7fd4ff;color:#062033;border-radius:999px;font-size:12px;font-weight:700
}

.fl-coming{
  border:1px solid #e3e9f1;border-radius:16px;background:#fff;padding:34px 28px;text-align:center
}
.fl-coming h2{margin:0 0 10px;font-size:clamp(20px,2.4vw,26px);color:#132a4a}
.fl-coming p{max-width:62ch;margin:0 auto 10px;color:#4a5b72;line-height:1.65}
.fl-coming .fl-coming-actions{margin-top:18px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.fl-coming ul{max-width:52ch;margin:16px auto;padding:0;list-style:none;text-align:start;color:#33455c}
.fl-coming ul li{position:relative;padding-inline-start:24px;margin-bottom:8px;line-height:1.55}
.fl-coming ul li::before{content:"";position:absolute;inset-inline-start:6px;top:.55em;width:7px;height:7px;border-radius:50%;background:#7fd4ff}

.fl-grid{display:grid;gap:var(--fl-gap,18px);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.fl-card{
  display:flex;flex-direction:column;border:1px solid #e3e9f1;border-radius:14px;background:#fff;overflow:hidden;
  transition:box-shadow .18s ease,transform .18s ease
}
.fl-card:hover{box-shadow:0 10px 26px rgba(16,42,74,.10);transform:translateY(-2px)}
.fl-card__media{
  aspect-ratio:4/3;background:linear-gradient(135deg,#eef4fb,#dfeaf6);display:flex;align-items:center;justify-content:center;
  color:#8aa2bd;font-size:13px;font-weight:600
}
.fl-card__media img{width:100%;height:100%;object-fit:cover}
.fl-card__body{padding:14px 15px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.fl-card__sku{font-size:11.5px;letter-spacing:.04em;color:#7b8ba1;font-weight:600}
.fl-card__title{margin:0;font-size:15.5px;line-height:1.35;color:#16283f;font-weight:600}
.fl-card__opts{font-size:12.5px;color:#5a6b81;line-height:1.5}
.fl-card__foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.fl-price{font-size:18px;font-weight:700;color:#0b3b53;line-height:1.2}
.fl-price small{display:block;font-size:11.5px;font-weight:600;color:#7b8ba1;margin-top:2px}
.fl-price--ask{font-size:14px;color:#5a6b81;font-weight:600}

.fl-badge{
  display:inline-block;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;line-height:1.5;
  background:#eef4fb;color:#33455c
}
.fl-badge--in{background:#e7f7ee;color:#146c43}
.fl-badge--low{background:#fff5e2;color:#8a5a00}
.fl-badge--out{background:#fdecec;color:#9b2226}

.fl-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;
  border:1px solid transparent;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;text-decoration:none;
  font-family:inherit;transition:background .15s ease,border-color .15s ease,color .15s ease
}
.fl-btn--primary{background:#0b3b53;color:#fff}
.fl-btn--primary:hover{background:#0f4d6b;color:#fff}
.fl-btn--primary[disabled],.fl-btn--primary.is-disabled{background:#a8b6c6;cursor:not-allowed;color:#fff}
.fl-btn--outline{background:#fff;border-color:#c8d4e2;color:#1c334f}
.fl-btn--outline:hover{background:#f2f7fc;border-color:#9db2c9}
.fl-btn--ghost{background:transparent;color:#33455c}
.fl-btn--ghost:hover{background:#eef4fb}
.fl-btn--block{width:100%}

.fl-qty{display:inline-flex;align-items:center;border:1px solid #d5dde8;border-radius:9px;overflow:hidden;background:#fff}
.fl-qty button{
  width:34px;height:36px;border:0;background:#f4f7fb;color:#26374d;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit
}
.fl-qty button:hover{background:#e6eef7}
.fl-qty input{
  width:52px;height:36px;border:0;text-align:center;font-size:14px;font-weight:600;color:#16283f;
  font-family:inherit;background:#fff
}
.fl-qty input:focus{outline:2px solid #7fd4ff;outline-offset:-2px}

.fl-notice{border-radius:12px;padding:12px 15px;font-size:13.5px;line-height:1.6;margin:0 0 14px}
.fl-notice--info{background:#eef6fd;border:1px solid #cfe3f6;color:#1b4b73}
.fl-notice--warn{background:#fff8e8;border:1px solid #f2e0b6;color:#7a5600}
.fl-notice--ok{background:#eaf8f0;border:1px solid #c4e7d3;color:#146c43}
.fl-notice--err{background:#fdecec;border:1px solid #f5cfcf;color:#9b2226}

.fl-empty{text-align:center;padding:36px 20px;border:1px dashed #cfd9e6;border-radius:14px;color:#5a6b81;background:#fbfcfe}

.fl-table{width:100%;border-collapse:collapse;font-size:14px}
.fl-table th,.fl-table td{padding:11px 10px;border-bottom:1px solid #e8edf4;text-align:start;vertical-align:middle}
.fl-table th{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#7186a0;font-weight:700}
.fl-table tfoot td{border-bottom:0;font-weight:600;color:#26374d}
.fl-table .fl-table__total td{font-size:16px;color:#0b3b53;font-weight:700}
.fl-table__num{white-space:nowrap}

.fl-layout{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 320px;align-items:start}
@media (max-width:900px){.fl-layout{grid-template-columns:1fr}}
.fl-panel{border:1px solid #e3e9f1;border-radius:14px;background:#fff;padding:20px}
.fl-panel h2{margin:0 0 14px;font-size:17px;color:#16283f}

.fl-field{margin-bottom:14px}
.fl-field label{display:block;font-size:13px;font-weight:600;color:#33455c;margin-bottom:6px}
.fl-field input,.fl-field select,.fl-field textarea{
  width:100%;padding:10px 12px;border:1px solid #cfd9e6;border-radius:9px;font-size:14px;font-family:inherit;
  color:#16283f;background:#fff
}
.fl-field input:focus,.fl-field select:focus,.fl-field textarea:focus{outline:2px solid #7fd4ff;outline-offset:-2px;border-color:#7fd4ff}
.fl-field--error input,.fl-field--error textarea{border-color:#e08b8b;background:#fffafa}
.fl-row{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media (max-width:640px){.fl-row{grid-template-columns:1fr}}
.fl-check{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:#33455c;line-height:1.5}
.fl-check input{margin-top:2px}

.fl-pay-options{display:flex;flex-direction:column;gap:10px;margin:6px 0 4px}
.fl-pay-option{
  display:flex;gap:11px;align-items:flex-start;border:1px solid #d5dde8;border-radius:11px;padding:12px 14px;background:#fff;cursor:pointer
}
.fl-pay-option:hover{background:#f7fafd}
.fl-pay-option.is-selected{border-color:#0b3b53;background:#f2f8fc;box-shadow:0 0 0 1px #0b3b53 inset}
.fl-pay-option input{margin-top:3px}
.fl-pay-option strong{display:block;font-size:14px;color:#16283f;margin-bottom:3px}
.fl-pay-option span{font-size:12.5px;color:#5a6b81;line-height:1.5}

.fl-meta{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;color:#4a5b72;padding:7px 0}
.fl-meta strong{color:#16283f}
.fl-meta--total{border-top:1px solid #e8edf4;margin-top:8px;padding-top:12px;font-size:16px}
.fl-meta--total strong{color:#0b3b53;font-size:18px}

.fl-loading{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:fl-spin .7s linear infinite}
@keyframes fl-spin{to{transform:rotate(360deg)}}

@media (max-width:640px){
  .fl-shop-hero{padding:24px 20px;border-radius:14px}
  .fl-shop-toolbar{flex-direction:column;align-items:stretch}
  .fl-seg{width:100%}
  .fl-seg a{flex:1;text-align:center}
  .fl-table thead{display:none}
  .fl-table tr{display:block;border-bottom:1px solid #e8edf4;padding:8px 0}
  .fl-table td{display:flex;justify-content:space-between;gap:12px;border:0;padding:5px 0}
  .fl-table td::before{content:attr(data-label);font-size:12px;font-weight:700;color:#7186a0;text-transform:uppercase}
}
