/* Responsive and final component overrides */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.mobile-menu-button{
  display:none;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  color:#fff;
  font-size:21px;
  cursor:pointer;
}

.text-link{
  color:var(--primary);
  text-decoration:underline;
  text-underline-offset:3px;
}
.text-link:hover{ color:#ffad4d; }

.auth-card{ max-width:600px; margin:0 auto; }
.auth-card--wide{ max-width:820px; }
.field{ display:grid; gap:8px; margin-bottom:16px; }
.label-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.form-help{ margin:6px 0 0; font-size:12px; color:var(--muted); line-height:1.5; }
.form-grid{ display:grid; gap:16px; }
.form-grid--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-grid__full{ grid-column:1/-1; }
.auth-actions{ display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin-top:18px; }
.notice{ padding:14px 16px; border-radius:12px; border:1px solid rgba(255,255,255,.14); margin-bottom:16px; }
.notice--error{ background:rgba(255,80,80,.11); border-color:rgba(255,80,80,.28); }
.notice--success{ background:rgba(80,255,120,.10); border-color:rgba(80,255,120,.25); }

.contact-grid{ display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr); gap:18px; align-items:stretch; }
.contact-card{ min-height:100%; }
.contact-card h2{ margin-top:0; }
.hp-field{ position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
textarea.input{ resize:vertical; min-height:150px; }

.account-card{ max-width:820px; margin:0 auto; }
.account-info-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.account-info-grid>div{ padding:16px; border-radius:14px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.04); display:grid; gap:5px; }
.account-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.btn--secondary{ background:rgba(240,140,36,.18); border-color:rgba(240,140,36,.45); color:#fff; }
.btn--secondary:hover{ background:rgba(240,140,36,.28); }
.btn--small{ padding:8px 11px; font-size:12px; }

.check-row{ display:flex; align-items:flex-start; gap:11px; line-height:1.5; cursor:pointer; }
.check-row input{ width:18px; height:18px; margin-top:3px; accent-color:var(--primary); flex:0 0 auto; }
.checkout-consent{ border-color:rgba(240,140,36,.28); }

.order-list{ display:grid; gap:18px; }
.order-card h2{ margin:0; }
.order-card__header,.order-detail-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap; }
.order-badges{ display:flex; flex-wrap:wrap; gap:8px; }
.status-pill{ display:inline-flex; align-items:center; border-radius:999px; padding:6px 10px; font-size:12px; font-weight:900; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); }
.status-pill--paid{ background:rgba(80,255,120,.12); border-color:rgba(80,255,120,.30); }
.status-pill--pending{ background:rgba(240,140,36,.14); border-color:rgba(240,140,36,.38); }
.status-pill--cancelled,.status-pill--refunded{ background:rgba(255,80,80,.11); border-color:rgba(255,80,80,.30); }
.order-overview-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.45fr); gap:18px; margin-top:18px; }
.order-meta,.order-totals{ display:grid; gap:9px; }
.order-meta>div,.order-totals>div{ display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid rgba(255,255,255,.08); padding-bottom:8px; }
.order-meta span,.order-totals span{ color:var(--muted); }
.order-total-main{ font-size:20px; color:var(--primary); border-bottom:0!important; padding-top:5px; }
.payment-action-box{ margin-top:18px; padding:18px; border-radius:15px; border:1px solid rgba(240,140,36,.30); background:rgba(240,140,36,.10); display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; }
.payment-action-box h2{ margin-top:0; }
.pay-retry-form{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.pay-retry-form .input{ min-width:190px; }
.bank-details{ display:grid; gap:8px; margin:14px 0 0; }
.bank-details>div{ display:grid; grid-template-columns:160px minmax(0,1fr); gap:12px; }
.bank-details dt{ color:var(--muted); font-weight:800; }
.bank-details dd{ margin:0; font-weight:900; overflow-wrap:anywhere; }
.order-items-wrap{ overflow:auto; margin-top:18px; }
.order-items-table{ width:100%; border-collapse:collapse; min-width:880px; }
.order-items-table th,.order-items-table td{ text-align:left; padding:11px; border-bottom:1px solid rgba(255,255,255,.09); vertical-align:top; }
.order-items-table th{ color:rgba(243,244,246,.80); font-size:12px; text-transform:uppercase; letter-spacing:.03em; }
.order-card__footer{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.order-detail-card{ max-width:1100px; margin:0 auto; }
.order-detail-total{ font-size:28px; color:var(--primary); }
.order-mini-summary{ display:flex; justify-content:space-between; gap:12px; padding:14px; border:1px solid rgba(255,255,255,.1); border-radius:12px; margin:14px 0; }
.empty-state{ text-align:center; padding:36px; }

.legal-page{ max-width:1000px; }
.legal-card{ padding:clamp(22px,4vw,46px); }
.legal-card h1{ margin-top:0; font-size:clamp(30px,5vw,46px); }
.legal-card h2{ margin-top:32px; color:#fff; }
.legal-card h3{ margin-top:20px; }
.legal-card p,.legal-card li{ line-height:1.75; }
.legal-table-wrap{ overflow:auto; }
.legal-table{ width:100%; min-width:680px; border-collapse:collapse; }
.legal-table th,.legal-table td{ padding:12px; border:1px solid rgba(255,255,255,.11); text-align:left; vertical-align:top; }
.legal-table th{ background:rgba(255,255,255,.06); }

.cookie{ position:fixed; inset:auto 16px 16px 16px; z-index:500; }
.cookie__inner{ max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:20px; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:rgba(35,39,43,.97); box-shadow:0 22px 60px rgba(0,0,0,.5); backdrop-filter:blur(12px); }
.cookie__title{ margin:0 0 6px; font-size:20px; }
.cookie__desc,.cookie__hint{ margin:4px 0; }
.cookie__actions{ display:flex; gap:10px; flex-wrap:wrap; flex:0 0 auto; }

.trust-strip{ display:flex; gap:12px; flex-wrap:wrap; margin:14px 0 20px; }
.trust-strip__item{ display:flex; align-items:center; gap:8px; padding:9px 12px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); font-size:13px; font-weight:800; }
.trust-strip__item::before{ content:'✓'; color:var(--primary); font-weight:1000; }

@media (max-width:980px){
  .hero{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr; }
  .grid--3{ grid-template-columns:1fr; }
  .filters__form{ grid-template-columns:1fr; }
  .product-grid{ grid-template-columns:1fr; }

  .topbar__inner{ flex-wrap:wrap; }
  .brand__link{ order:1; }
  .topbar__right{ order:2; margin-left:auto; }
  .mobile-menu-button{ display:inline-flex; order:3; }
  .nav{ order:4; width:100%; display:none; flex-direction:column; align-items:stretch; gap:4px; padding:10px 0 4px; }
  .nav.nav--open{ display:flex; }
  .nav__link{ width:100%; }

  .contact-grid,.order-overview-grid{ grid-template-columns:1fr; }
}

@media (max-width:700px){
  .container{ width:min(100% - 24px,1160px); }
  .form-grid--2,.account-info-grid{ grid-template-columns:1fr; }
  .form-grid__full{ grid-column:auto; }
  .cookie__inner{ align-items:stretch; flex-direction:column; }
  .cookie__actions .btn{ flex:1; }
  .payment-action-box{ align-items:stretch; }
  .pay-retry-form,.pay-retry-form .input,.pay-retry-form .btn{ width:100%; }
  .bank-details>div{ grid-template-columns:1fr; gap:2px; }
  .order-card__header,.order-detail-head{ flex-direction:column; }
  .topbar__right{ gap:7px; }
  .lang-switch__btn{ padding:7px 8px; }
  .brand__logo{ width:46px; height:46px; }
  .brand__name{ font-size:17px; }
}
.commercial-license-badge{
  display:inline-flex;
  vertical-align:middle;
  margin-left:7px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(80,255,120,.35);
  background:rgba(80,255,120,.12);
  color:#9cffb7;
  font-size:11px;
  font-weight:900;
  line-height:1.2;
}
