/* Shared screen polish: readable contrast, consistent controls and bilingual mobile layouts. */
/* Cairo from Google Fonts, self-hosted unchanged. License: vendor/fonts/Cairo-OFL.txt. */
@font-face {
  font-family:'Cairo'; font-style:normal; font-weight:400 900; font-display:swap;
  src:url('vendor/fonts/cairo-arabic.woff2') format('woff2');
  unicode-range:U+0600-06FF,U+0750-077F,U+0870-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF0-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}
@font-face {
  font-family:'Cairo'; font-style:normal; font-weight:400 900; font-display:swap;
  src:url('vendor/fonts/cairo-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@media screen {
  :root { --action-red:#cf1d2b; --action-red-hover:#b71925; }
  [dir=rtl] body { font-family:'Cairo',Arial,sans-serif; }
  [dir=rtl] body :is(h1,h2,h3,h4,h5,h6),[dir=rtl] body .hero h1,
  [dir=rtl] body .product-info h3,[dir=rtl] body .contact-band h2 {
    font-family:'Cairo',Arial,sans-serif; font-style:normal;
  }

  .public-site .btn:not(.secondary):not(.light):not(.dark):not(.text),
  .public-site .product-bottom button,
  .premium-quotation .btn:not(.secondary):not(.light):not(.dark):not(.text),
  .dealer-simple .dealer-order-footer .btn {
    background:var(--action-red); border-color:var(--action-red); color:#fff;
  }
  .public-site .btn:not(.secondary):not(.light):not(.dark):not(.text):hover,
  .public-site .product-bottom button:hover,
  .premium-quotation .btn:not(.secondary):not(.light):not(.dark):not(.text):hover,
  .dealer-simple .dealer-order-footer .btn:hover {
    background:var(--action-red-hover); border-color:var(--action-red-hover);
  }
  .owner-app .btn.text,.admin-app .btn.text,.modal .btn.text {
    background:transparent; border-color:transparent; color:#b51c28;
  }
  .owner-app .btn.text:hover,.admin-app .btn.text:hover,.modal .btn.text:hover {
    background:#fff0f1; color:#991723;
  }
  .public-site .btn.text { background:transparent; border-color:transparent; color:#ff6670; }
  .public-site .btn.text:hover { background:#261418; color:#ff8991; }

  .public-site .hero { padding-block:40px 36px; gap:clamp(28px,4vw,56px); min-height:480px; }
  .public-site .hero-copy>.eyebrow { font-size:11px; letter-spacing:.16em; color:#b8b8c0; }
  .public-site .hero-copy>.eyebrow::before { content:none; }
  .public-site .hero h1 {
    font-style:normal; font-size:clamp(64px,6.6vw,92px); line-height:1.03;
    letter-spacing:-.025em; margin-block:18px 20px;
  }
  .public-site .hero h1 span { color:#e9535b; }
  .public-site .hero-copy>p { max-width:38ch; font-size:15px; line-height:1.75; color:#b8b8c0; }
  .public-site .hero-actions { margin-top:24px; }
  .public-site .hero-film { border-color:#2d2d32; border-radius:8px; }
  [dir=rtl] .public-site .hero h1 { font-size:clamp(48px,5vw,68px); line-height:1.25; }

  .lang,.icon-btn { min-width:44px; min-height:44px; }
  .btn.small,.btn.text,.filter-tabs button { min-height:44px; }
  .public-back,.back-link,.quotation-back-link { min-height:44px; align-items:center; }
  .public-site .footer-links a,.public-site .management-entry { min-height:44px; }
  .quote-edit-line { grid-template-columns:minmax(0,1.6fr) minmax(0,.5fr) minmax(0,.7fr) 44px; }
  .quote-edit-line .icon-btn { width:44px; height:46px; }

  .public-site :is(.field input,.field select,.field textarea,.locator-search,.locator-quick-form input),
  .public-site .request-item :is(input,select) { border-color:#74747e; }
  .owner-app .owner-field :is(input,select,textarea),
  .admin-app .field :is(input,select,textarea),
  .dealer-simple .dealer-product-row input,
  .cloud-auth-field input,
  body.workspace-light .modal .field :is(input,select,textarea) { border-color:#87909d; }
  .cloud-auth-field input::placeholder { color:#68717d; opacity:1; }
  .cloud-auth-field input:focus { outline:2px solid #b71925; outline-offset:2px; }
  .dealer-select { min-height:46px; border-color:#87909d; }
  .owner-app :is(.owner-caption,.owner-overview-card p),
  .admin-app :is(.breadcrumbs,.collection-note),
  .dealer-simple :is(.dealer-product-price small,.dealer-product-row label,.dealer-estimate-total small,
    .dealer-order-help,.dealer-card-date,.dealer-empty p,.dealer-account-balance>span,
    .dealer-account-balance p,.dealer-account-metrics span,.dealer-ledger-entry p,
    .dealer-ledger-meta,.portal-title .eyebrow) { color:#626975; }
  .dealer-simple .dealer-order-footer #dealer-order-estimate>p { color:#626975; }
  .owner-app .owner-review-note.is-connected {
    background:#edf6f0; border-color:#bed9c7; border-inline-start-color:#2f7950; color:#285f3f;
  }

  .order-product-field,.order-quantity-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
  .request-item { grid-template-columns:minmax(0,1fr) 90px 44px; align-items:end; }
  .request-item label { font-size:13px; font-weight:600; line-height:1.5; }
  .request-item :is(input,select) { min-height:48px; }
  .request-item .icon-btn { width:44px; height:48px; }
  .request-item input { direction:ltr; text-align:center; }
  .field input:is([type=email],[type=tel],[type=url]),
  .owner-field input:is([type=email],[type=tel],[type=url]) { direction:ltr; text-align:left; }
  .modal-top h2,.summary-line>span,.owner-topline>span { overflow-wrap:anywhere; min-width:0; }
  .modal-body { min-width:0; }
  .public-site .hero-facts { color:#aaaab3; }
  .public-site .footer-bottom { color:#aaaab3; }
  .public-site .filter-tabs button { color:#c6c6cd; }
  .public-site .filter-tabs button.active { color:#161618; }
  [dir=rtl] body :is(h1,h2,h3,.eyebrow,.hero-facts,.owner-kicker,.owner-sidebar-label,
    .workspace-label,.product-edition,.quotation-product-size,.bundle-ribbon,.bundle-kicker,
    .bundle-quantity,.footer-links strong,.pack-pending>span) { letter-spacing:normal!important; }
}

@media screen and (max-width:760px) {
  [dir=rtl] .public-site :is(.page-top p,.hero-copy>p,.locator-feature p,.section-head p,.trade-enquiry p) {
    font-size:15px; line-height:1.9; font-weight:500;
  }
  [dir=rtl] .public-site :is(.note,.province-price-note,.price-list-actions p,.product-desc,.bundle-unit),
  [dir=rtl] body :is(.owner-caption,.owner-field small,.field small,.cloud-auth-help,.cloud-auth-field small,
    .dealer-order-help,.dealer-ledger-entry p,.dealer-account-balance p) { font-size:14px; line-height:1.85; }
  .owner-app .owner-field :is(input,select,textarea),
  .admin-app .field :is(input,select,textarea),
  .modal .field :is(input,select,textarea),
  .request-item :is(input,select),.dealer-select { font-size:16px; }
  .quote-edit-line { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 44px; }
  .quote-edit-line>.field:first-child { grid-column:1/-1; }
  .dealer-simple :is(.dealer-section-head p,.dealer-product-price,.dealer-order-card p,
    .dealer-order-help,.dealer-ledger-entry p,.dealer-account-balance p,.dealer-account-metrics span) { font-size:13px; }
  .dealer-simple :is(.dealer-product-price small,.dealer-product-row label,.dealer-card-date,
    .dealer-ledger-meta,.dealer-estimate-total small,.dealer-product-name>span) { font-size:12px; }
  .dealer-simple .dealer-product-name strong { font-size:14px; }
  .dealer-tabs button { font-size:12px; }
  .owner-app .owner-overview-card p,.owner-app .owner-caption,
  .admin-app .admin-heading p,.admin-app .note { font-size:13px; }
  .quotation-tools .btn { font-size:13px; }
}

@media screen and (max-width:600px) {
  .public-site .hero { min-height:0; padding-block:26px 28px; gap:22px; }
  .public-site .hero h1 { font-size:clamp(46px,12vw,62px); line-height:1.05; margin-block:14px 16px; }
  .public-site .hero-copy>p { font-size:14px; line-height:1.7; max-width:36ch; }
  .public-site .hero-actions { margin-top:20px; gap:10px; }
  [dir=rtl] .public-site .hero h1 { font-size:clamp(40px,11vw,50px); line-height:1.25; }
  .public-mobile-nav { grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; padding-inline:6px; }
  .public-mobile-nav a { min-width:0; min-height:54px; padding:6px 2px; font-size:11px; line-height:1.35; text-align:center; }
  .public-mobile-nav a span { max-width:100%; overflow-wrap:normal; }
  .public-site .price-list-page .page-top { padding-block:22px 12px; }
  .public-site .price-list-page .page-top h1 { font-size:32px; line-height:1.2; margin-block:12px; }
  .price-list-page .price-date { margin-top:12px!important; }
  .price-list-page .province-price-note { margin-block:12px 10px; padding:10px 12px; }
  .price-list-page .price-list-actions { gap:8px; margin-bottom:18px; }
  .price-list-page .price-list-actions .btn { padding-inline:12px; }
  .price-list-page .price-list-actions p { font-size:13px; }
  .price-list-page .bundle-section { padding-block:10px 36px; }
  .price-list-page .bundle-section-heading { margin-bottom:18px; }
  .price-list-page .bundle-section-heading>p { margin-top:10px; }
  .request-item { grid-template-columns:minmax(0,1fr) 70px 44px; gap:9px; margin-bottom:20px; }
  .request-item .order-product-field { grid-column:1/-1; }
  .request-item .order-quantity-field { grid-column:1/3; }
  .request-item .order-quantity-field input { max-width:120px; text-align:start; }
  .request-item .icon-btn { grid-column:3; }
  .cloud-auth-intro,.cloud-auth-help,.cloud-auth-field small { font-size:13px; }
  .public-site .footer-links { gap:22px; }
  .public-site .hero-actions .btn,.public-site .stockist-card .actions .btn { font-size:13px; }
  #toast { bottom:calc(82px + env(safe-area-inset-bottom,0px)); }
}

@media screen and (prefers-reduced-motion:reduce) {
  .btn,.product,.product-gallery-thumb,.owner-overview-card { transition:none; }
  .btn:hover,.product:hover { transform:none; }
}
