Download modules/SmOS_CC/styles.css from 0001AMA/SMOS: direct link, hf CLI and curl.
- Browser
- Download file 27 kB
-
https://huggingface.co/spaces/0001AMA/SMOS/resolve/main/modules/SmOS_CC/styles.css
- Command line
-
hf download hf://spaces/0001AMA/SMOS/modules/SmOS_CC/styles.css
-
curl -L -o styles.css https://huggingface.co/spaces/0001AMA/SMOS/resolve/main/modules/SmOS_CC/styles.css
27 kB
| :root { | |
| color-scheme: dark; | |
| --font-display: "Playfair Display", Georgia, "Times New Roman", serif; | |
| --font-body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif; | |
| --bg: #070707; | |
| --text: #f3f3f3; | |
| --muted: #bababa; | |
| --red: #b80d1f; | |
| --red-bright: #e1182f; | |
| --border: #2a2a2a; | |
| --card: #101010; | |
| } | |
| html[data-theme="light"] { | |
| color-scheme: light; | |
| --bg: #f6f3ee; | |
| --text: #1c1b19; | |
| --muted: #5e5a53; | |
| --border: #e0d9ce; | |
| --card: #ffffff; | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| html, | |
| body { | |
| margin: 0; | |
| min-height: 100%; | |
| } | |
| body { | |
| font-family: var(--font-body); | |
| background: var(--bg); | |
| color: var(--text); | |
| line-height: 1.5; | |
| } | |
| a { | |
| color: inherit; | |
| text-decoration: none; | |
| } | |
| .app-shell { | |
| min-height: 100dvh; | |
| display: flex; | |
| flex-direction: column; | |
| padding-left: env(safe-area-inset-left, 0px); | |
| padding-right: env(safe-area-inset-right, 0px); | |
| } | |
| .app-header { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 1rem; | |
| padding: max(0.85rem, env(safe-area-inset-top, 0px)) max(1.1rem, env(safe-area-inset-right, 0px)) 0.85rem max(1.1rem, env(safe-area-inset-left, 0px)); | |
| border-bottom: 1px solid var(--border); | |
| } | |
| .app-brand { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.65rem; | |
| font-weight: 600; | |
| letter-spacing: 0.02em; | |
| } | |
| .app-brand img { | |
| width: 2.25rem; | |
| height: 2.25rem; | |
| } | |
| .app-back { | |
| font-size: 0.86rem; | |
| color: var(--muted); | |
| } | |
| .app-back:hover { | |
| color: var(--red-bright); | |
| } | |
| .app-brand span { | |
| font-size: clamp(0.92rem, 3.6vw, 1rem); | |
| } | |
| .app-header__actions { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.65rem; | |
| } | |
| .app-admin-link { | |
| display: inline-flex; | |
| align-items: center; | |
| min-height: 2.25rem; | |
| padding: 0.35rem 0.75rem; | |
| border-radius: 999px; | |
| border: 1px solid var(--border); | |
| font-size: 0.82rem; | |
| font-weight: 600; | |
| letter-spacing: 0.02em; | |
| color: var(--muted); | |
| } | |
| .app-admin-link:hover { | |
| color: var(--red-bright); | |
| border-color: rgba(225, 24, 47, 0.45); | |
| } | |
| .app-main { | |
| flex: 1; | |
| width: min(42rem, calc(100% - max(1.25rem, env(safe-area-inset-left, 0px)) - max(1.25rem, env(safe-area-inset-right, 0px)))); | |
| margin: 0 auto; | |
| padding: clamp(1.35rem, 5vw, 2rem) 0 clamp(1.75rem, 6vw, 2.5rem); | |
| } | |
| .app-hero { | |
| text-align: center; | |
| margin-bottom: 1.75rem; | |
| } | |
| .app-hero__logo { | |
| width: 5.5rem; | |
| height: 5.5rem; | |
| margin: 0 auto 1rem; | |
| display: block; | |
| } | |
| .app-hero__title { | |
| margin: 0 0 0.45rem; | |
| font-family: var(--font-display); | |
| font-size: clamp(1.65rem, 4vw, 2.2rem); | |
| line-height: 1.12; | |
| } | |
| .app-hero__lead { | |
| margin: 0; | |
| color: var(--muted); | |
| font-size: 0.95rem; | |
| } | |
| .service-grid { | |
| list-style: none; | |
| margin: 0; | |
| padding: 0; | |
| display: grid; | |
| gap: 0.85rem; | |
| } | |
| .service-card { | |
| display: flex; | |
| align-items: center; | |
| gap: 1rem; | |
| padding: 1rem 1.05rem; | |
| border: 1px solid var(--border); | |
| border-radius: 14px; | |
| background: var(--card); | |
| min-height: 44px; | |
| transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease; | |
| } | |
| .service-card:hover { | |
| border-color: rgba(225, 24, 47, 0.55); | |
| transform: translateY(-1px); | |
| box-shadow: 0 12px 28px rgba(225, 24, 47, 0.12); | |
| } | |
| .service-card__icon { | |
| flex: 0 0 auto; | |
| display: grid; | |
| place-items: center; | |
| width: 2.85rem; | |
| height: 2.85rem; | |
| border-radius: 12px; | |
| background: rgba(61, 143, 217, 0.16); | |
| color: #3d8fd9; | |
| } | |
| .service-card--collection .service-card__icon { | |
| background: rgba(212, 163, 79, 0.18); | |
| color: #d4a34f; | |
| } | |
| .service-card--sitting-in .service-card__icon { | |
| background: rgba(142, 58, 168, 0.18); | |
| color: #8e3aa8; | |
| } | |
| .service-card__copy { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.12rem; | |
| min-width: 0; | |
| } | |
| .service-card__name { | |
| font-weight: 700; | |
| font-size: 1.05rem; | |
| } | |
| .service-card__meta { | |
| color: var(--muted); | |
| font-size: 0.86rem; | |
| } | |
| .app-note { | |
| margin: 1.15rem 0 0; | |
| text-align: center; | |
| font-size: 0.82rem; | |
| color: var(--muted); | |
| } | |
| .order-placeholder { | |
| margin-top: 1.5rem; | |
| padding: 1.1rem 1rem; | |
| border: 1px dashed var(--border); | |
| border-radius: 12px; | |
| text-align: center; | |
| color: var(--muted); | |
| font-size: 0.92rem; | |
| } | |
| .order-placeholder strong { | |
| color: var(--text); | |
| } | |
| .theme-toggle { | |
| border: 1px solid var(--border); | |
| background: transparent; | |
| color: var(--text); | |
| width: 2.35rem; | |
| height: 2.35rem; | |
| border-radius: 999px; | |
| display: grid; | |
| place-items: center; | |
| cursor: pointer; | |
| } | |
| .theme-toggle:focus-visible { | |
| outline: 2px solid var(--red-bright); | |
| outline-offset: 2px; | |
| } | |
| .theme-icon-moon { | |
| display: none; | |
| } | |
| html[data-theme="light"] .theme-icon-sun { | |
| display: none; | |
| } | |
| html[data-theme="light"] .theme-icon-moon { | |
| display: block; | |
| } | |
| .app-hero__eyebrow { | |
| margin: 0 0 0.35rem; | |
| font-size: 0.78rem; | |
| font-weight: 600; | |
| letter-spacing: 0.06em; | |
| text-transform: uppercase; | |
| color: var(--muted); | |
| } | |
| .service-grid--two { | |
| grid-template-columns: 1fr; | |
| } | |
| .service-card--menu .service-card__icon { | |
| background: rgba(184, 13, 31, 0.16); | |
| color: var(--red-bright); | |
| } | |
| .service-card--know .service-card__icon { | |
| background: rgba(46, 160, 140, 0.16); | |
| color: #2ea08c; | |
| } | |
| .service-card--reserve .service-card__icon { | |
| background: rgba(225, 24, 47, 0.14); | |
| color: var(--red-bright); | |
| } | |
| .app-main--wide { | |
| width: min(52rem, calc(100% - 2rem)); | |
| } | |
| .app-hero--compact { | |
| margin-bottom: 0.5rem; | |
| } | |
| .app-hero--compact .app-hero__title { | |
| font-size: clamp(1.35rem, 4vw, 1.75rem); | |
| } | |
| /* ---- Smart reservation ---- */ | |
| .res-toolbar { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.85rem 1.25rem; | |
| margin-bottom: 1rem; | |
| padding: 0.85rem 1rem; | |
| border: 1px solid var(--border); | |
| border-radius: 12px; | |
| background: var(--card); | |
| } | |
| .res-toolbar__group { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.35rem; | |
| } | |
| .res-toolbar__label { | |
| font-size: 0.72rem; | |
| font-weight: 600; | |
| letter-spacing: 0.06em; | |
| text-transform: uppercase; | |
| color: var(--muted); | |
| } | |
| .res-toolbar__field input, | |
| .res-toolbar__field select { | |
| font: inherit; | |
| padding: 0.45rem 0.55rem; | |
| border: 1px solid var(--border); | |
| border-radius: 8px; | |
| background: var(--bg); | |
| color: var(--text); | |
| min-height: 44px; | |
| } | |
| .res-party-stepper { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| border: 1px solid var(--border); | |
| border-radius: 999px; | |
| padding: 0.2rem; | |
| background: var(--bg); | |
| } | |
| .res-party-btn { | |
| width: 2.25rem; | |
| height: 2.25rem; | |
| border: 0; | |
| border-radius: 999px; | |
| background: transparent; | |
| color: var(--text); | |
| font-size: 1.1rem; | |
| cursor: pointer; | |
| } | |
| .res-party-btn:hover { | |
| background: rgba(225, 24, 47, 0.12); | |
| } | |
| .res-party-val { | |
| min-width: 1.5rem; | |
| text-align: center; | |
| font-weight: 700; | |
| font-size: 1.05rem; | |
| } | |
| .res-mode-tabs { | |
| display: flex; | |
| gap: 0.5rem; | |
| margin-bottom: 1rem; | |
| } | |
| .res-mode-tab { | |
| flex: 1; | |
| padding: 0.65rem 0.85rem; | |
| border: 1px solid var(--border); | |
| border-radius: 999px; | |
| background: transparent; | |
| color: var(--muted); | |
| font: inherit; | |
| font-weight: 600; | |
| font-size: 0.88rem; | |
| cursor: pointer; | |
| } | |
| .res-mode-tab.is-active { | |
| border-color: var(--red-bright); | |
| color: var(--text); | |
| background: rgba(225, 24, 47, 0.1); | |
| } | |
| .res-map-wrap { | |
| margin-bottom: 0.65rem; | |
| } | |
| .res-legend { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.65rem 1rem; | |
| margin-bottom: 0.75rem; | |
| font-size: 0.78rem; | |
| color: var(--muted); | |
| } | |
| .res-legend span { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.35rem; | |
| } | |
| .res-swatch { | |
| display: inline-block; | |
| width: 0.85rem; | |
| height: 0.85rem; | |
| border-radius: 3px; | |
| border: 1px solid var(--border); | |
| } | |
| .res-swatch--free { | |
| background: var(--card); | |
| } | |
| .res-swatch--pick { | |
| background: rgba(225, 24, 47, 0.35); | |
| border-color: var(--red-bright); | |
| } | |
| .res-swatch--taken { | |
| background: rgba(120, 120, 120, 0.35); | |
| } | |
| .res-swatch--small { | |
| opacity: 0.45; | |
| } | |
| .res-floor { | |
| position: relative; | |
| padding: 1rem 0.75rem 0.85rem; | |
| border: 1px solid var(--border); | |
| border-radius: 14px; | |
| background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, transparent 100%); | |
| } | |
| .res-floor__zones { | |
| display: flex; | |
| justify-content: space-between; | |
| margin-bottom: 0.65rem; | |
| font-size: 0.72rem; | |
| font-weight: 600; | |
| letter-spacing: 0.08em; | |
| text-transform: uppercase; | |
| color: var(--muted); | |
| } | |
| .res-grid { | |
| display: grid; | |
| grid-template-columns: repeat(var(--res-cols, 6), minmax(0, 1fr)); | |
| gap: 0.55rem; | |
| max-width: 100%; | |
| } | |
| .res-cell { | |
| min-height: 3.5rem; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .res-cell--empty { | |
| min-height: 0; | |
| visibility: hidden; | |
| } | |
| .res-table { | |
| width: 100%; | |
| max-width: 4.25rem; | |
| aspect-ratio: 1; | |
| border: 2px solid var(--border); | |
| background: var(--card); | |
| color: var(--text); | |
| cursor: pointer; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 0.05rem; | |
| padding: 0.25rem; | |
| transition: border-color 150ms ease, transform 150ms ease, background 150ms ease; | |
| } | |
| .res-table--round { | |
| border-radius: 999px; | |
| } | |
| .res-table--square { | |
| border-radius: 10px; | |
| } | |
| .res-table__id { | |
| font-weight: 700; | |
| font-size: 0.82rem; | |
| line-height: 1.1; | |
| } | |
| .res-table__seats { | |
| font-size: 0.68rem; | |
| color: var(--muted); | |
| } | |
| .res-table:hover:not(:disabled) { | |
| border-color: var(--red-bright); | |
| transform: scale(1.04); | |
| } | |
| .res-table.is-selected { | |
| border-color: var(--red-bright); | |
| background: rgba(225, 24, 47, 0.18); | |
| box-shadow: 0 0 0 2px rgba(225, 24, 47, 0.25); | |
| } | |
| .res-table.is-taken { | |
| opacity: 0.4; | |
| cursor: not-allowed; | |
| text-decoration: line-through; | |
| } | |
| .res-table.is-small:not(.is-selected) { | |
| opacity: 0.55; | |
| } | |
| .res-map-actions { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.75rem 1rem; | |
| margin-bottom: 1rem; | |
| } | |
| .res-link-btn { | |
| border: 0; | |
| background: none; | |
| color: var(--red-bright); | |
| font: inherit; | |
| font-weight: 600; | |
| font-size: 0.88rem; | |
| cursor: pointer; | |
| text-decoration: underline; | |
| text-underline-offset: 0.15em; | |
| min-height: 44px; | |
| } | |
| .res-suggestions-wrap { | |
| margin-bottom: 1rem; | |
| } | |
| .res-suggest-intro { | |
| margin: 0 0 0.65rem; | |
| font-size: 0.92rem; | |
| color: var(--muted); | |
| } | |
| .res-suggest-list { | |
| list-style: none; | |
| margin: 0; | |
| padding: 0; | |
| display: grid; | |
| gap: 0.55rem; | |
| } | |
| .res-suggest-card { | |
| width: 100%; | |
| text-align: left; | |
| padding: 0.85rem 1rem; | |
| border: 1px solid var(--border); | |
| border-radius: 12px; | |
| background: var(--card); | |
| color: inherit; | |
| cursor: pointer; | |
| transition: border-color 150ms ease, background 150ms ease; | |
| } | |
| .res-suggest-card:hover, | |
| .res-suggest-card.is-active { | |
| border-color: var(--red-bright); | |
| background: rgba(225, 24, 47, 0.08); | |
| } | |
| .res-suggest-card__title { | |
| display: block; | |
| font-weight: 700; | |
| } | |
| .res-suggest-card__meta { | |
| display: block; | |
| font-size: 0.84rem; | |
| color: var(--muted); | |
| margin-top: 0.15rem; | |
| } | |
| .res-selection { | |
| margin-bottom: 1rem; | |
| padding: 0.85rem 1rem; | |
| border-radius: 12px; | |
| border: 1px solid var(--border); | |
| font-size: 0.9rem; | |
| } | |
| .res-selection.is-ok { | |
| border-color: rgba(46, 160, 140, 0.55); | |
| background: rgba(46, 160, 140, 0.08); | |
| } | |
| .res-selection.is-warn { | |
| border-color: rgba(212, 163, 79, 0.55); | |
| background: rgba(212, 163, 79, 0.08); | |
| } | |
| .res-selection p { | |
| margin: 0.25rem 0; | |
| } | |
| .res-warn { | |
| color: #d4a34f; | |
| font-size: 0.86rem; | |
| } | |
| .res-ok { | |
| color: #2ea08c; | |
| font-size: 0.86rem; | |
| } | |
| .res-empty { | |
| color: var(--muted); | |
| font-size: 0.92rem; | |
| } | |
| .res-form { | |
| margin-top: 0.5rem; | |
| } | |
| .res-confirm-via { | |
| border: none; | |
| margin: 0; | |
| padding: 0; | |
| display: grid; | |
| gap: 0.55rem; | |
| } | |
| .res-confirm-via legend { | |
| font-size: 0.82rem; | |
| font-weight: 600; | |
| color: var(--muted); | |
| margin-bottom: 0.15rem; | |
| } | |
| .res-confirm-via .pay-option__body input[type="email"], | |
| .res-confirm-via .pay-option__body input[type="tel"] { | |
| width: 100%; | |
| margin-top: 0.35rem; | |
| padding: 0.55rem 0.7rem; | |
| border: 1px solid var(--border); | |
| border-radius: 10px; | |
| background: var(--bg); | |
| color: var(--text); | |
| font: inherit; | |
| font-weight: 500; | |
| } | |
| .res-confirm-via .pay-option__body input[hidden] { | |
| display: none ; | |
| } | |
| .field-optional { | |
| font-style: normal; | |
| font-weight: 400; | |
| color: var(--muted); | |
| font-size: 0.85em; | |
| } | |
| .res-form-error { | |
| color: #e07070; | |
| font-size: 0.88rem; | |
| margin: 0.35rem 0 0.5rem; | |
| } | |
| .res-toolbar__field--wide select { | |
| min-width: 11rem; | |
| } | |
| @media (max-width: 639px) { | |
| .res-grid { | |
| gap: 0.4rem; | |
| } | |
| .res-table { | |
| max-width: 3.5rem; | |
| font-size: 0.9rem; | |
| } | |
| .res-toolbar { | |
| flex-direction: column; | |
| } | |
| } | |
| @media (min-width: 640px) { | |
| .service-grid:has(.service-card--reserve) { | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| } | |
| } | |
| @media (min-width: 900px) { | |
| .service-grid:has(.service-card--reserve) { | |
| grid-template-columns: repeat(4, minmax(0, 1fr)); | |
| } | |
| } | |
| .menu-filters { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.45rem; | |
| margin-bottom: 0.85rem; | |
| } | |
| .menu-filter { | |
| border: 1px solid var(--border); | |
| background: var(--card); | |
| color: var(--muted); | |
| border-radius: 999px; | |
| padding: 0.4rem 0.8rem; | |
| font: inherit; | |
| font-size: 0.82rem; | |
| font-weight: 600; | |
| cursor: pointer; | |
| } | |
| .menu-filter.is-active { | |
| border-color: rgba(225, 24, 47, 0.55); | |
| color: var(--text); | |
| background: rgba(225, 24, 47, 0.1); | |
| } | |
| .menu-list { | |
| display: grid; | |
| gap: 0.55rem; | |
| } | |
| .menu-item { | |
| display: flex; | |
| align-items: flex-start; | |
| justify-content: space-between; | |
| gap: 0.85rem; | |
| width: 100%; | |
| text-align: left; | |
| padding: 0.9rem 0.95rem; | |
| border: 1px solid var(--border); | |
| border-radius: 12px; | |
| background: var(--card); | |
| color: var(--text); | |
| font: inherit; | |
| } | |
| .menu-item.is-in-basket { | |
| border-color: rgba(225, 24, 47, 0.45); | |
| } | |
| .menu-item__copy { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.15rem; | |
| min-width: 0; | |
| flex: 1; | |
| } | |
| .menu-item__name { | |
| font-weight: 700; | |
| font-size: 0.98rem; | |
| } | |
| .menu-item__desc { | |
| color: var(--muted); | |
| font-size: 0.8rem; | |
| } | |
| .menu-item__actions { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: flex-end; | |
| gap: 0.45rem; | |
| flex: 0 0 auto; | |
| } | |
| .menu-item__price { | |
| font-weight: 700; | |
| font-size: 0.92rem; | |
| color: var(--red-bright); | |
| } | |
| .menu-group { | |
| margin: 0.85rem 0 0.35rem; | |
| font-size: 0.78rem; | |
| font-weight: 700; | |
| letter-spacing: 0.06em; | |
| text-transform: uppercase; | |
| color: var(--muted); | |
| } | |
| .menu-group:first-child { | |
| margin-top: 0; | |
| } | |
| .qty-add, | |
| .qty-btn { | |
| border: 0; | |
| font: inherit; | |
| cursor: pointer; | |
| } | |
| .qty-add { | |
| min-width: 4.25rem; | |
| min-height: 2.15rem; | |
| padding: 0.35rem 0.75rem; | |
| border-radius: 999px; | |
| background: var(--red); | |
| color: #fff; | |
| font-weight: 700; | |
| font-size: 0.82rem; | |
| } | |
| .qty-add:hover { | |
| background: var(--red-bright); | |
| } | |
| .qty-stepper { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0; | |
| border: 1px solid var(--border); | |
| border-radius: 999px; | |
| overflow: hidden; | |
| background: var(--bg); | |
| } | |
| .qty-btn { | |
| width: 2.15rem; | |
| height: 2.15rem; | |
| display: grid; | |
| place-items: center; | |
| background: transparent; | |
| color: var(--text); | |
| font-size: 1.1rem; | |
| font-weight: 600; | |
| line-height: 1; | |
| } | |
| .qty-btn:hover { | |
| background: rgba(225, 24, 47, 0.12); | |
| color: var(--red-bright); | |
| } | |
| .qty-val { | |
| min-width: 1.5rem; | |
| text-align: center; | |
| font-weight: 700; | |
| font-size: 0.9rem; | |
| } | |
| .cart-line--edit { | |
| align-items: center; | |
| gap: 0.75rem; | |
| } | |
| .cart-line__copy { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.1rem; | |
| min-width: 0; | |
| flex: 1; | |
| } | |
| .cart-line__name { | |
| font-weight: 600; | |
| font-size: 0.9rem; | |
| } | |
| .cart-line__price { | |
| color: var(--muted); | |
| font-size: 0.82rem; | |
| } | |
| .know-form { | |
| display: grid; | |
| gap: 0.65rem; | |
| } | |
| .know-label { | |
| font-weight: 600; | |
| font-size: 0.92rem; | |
| } | |
| .know-input { | |
| width: 100%; | |
| resize: vertical; | |
| min-height: 5.5rem; | |
| padding: 0.85rem 0.95rem; | |
| border: 1px solid var(--border); | |
| border-radius: 12px; | |
| background: var(--card); | |
| color: var(--text); | |
| font: inherit; | |
| line-height: 1.45; | |
| } | |
| .know-input:focus { | |
| outline: 2px solid rgba(225, 24, 47, 0.45); | |
| outline-offset: 1px; | |
| } | |
| .know-submit, | |
| .know-add-all, | |
| .cart-bar__btn, | |
| .cart-dialog__close, | |
| .cart-dialog__clear, | |
| .cart-dialog__checkout, | |
| .know-match__add { | |
| border: 0; | |
| border-radius: 999px; | |
| font: inherit; | |
| font-weight: 700; | |
| cursor: pointer; | |
| } | |
| .know-submit, | |
| .know-add-all { | |
| justify-self: start; | |
| padding: 0.7rem 1.15rem; | |
| background: var(--red); | |
| color: #fff; | |
| } | |
| .know-submit:hover, | |
| .know-add-all:hover { | |
| background: var(--red-bright); | |
| } | |
| .know-results { | |
| margin-top: 1.1rem; | |
| display: grid; | |
| gap: 0.75rem; | |
| } | |
| .know-status { | |
| margin: 0; | |
| color: var(--muted); | |
| font-size: 0.9rem; | |
| } | |
| .know-match-list { | |
| display: grid; | |
| gap: 0.55rem; | |
| } | |
| .know-match { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 0.75rem; | |
| padding: 0.85rem 0.95rem; | |
| border: 1px solid var(--border); | |
| border-radius: 12px; | |
| background: var(--card); | |
| } | |
| .know-match__copy { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.12rem; | |
| min-width: 0; | |
| flex: 1; | |
| } | |
| .know-match__name { | |
| font-weight: 700; | |
| } | |
| .know-match__meta { | |
| color: var(--muted); | |
| font-size: 0.8rem; | |
| } | |
| .cart-bar { | |
| position: sticky; | |
| bottom: max(0.75rem, env(safe-area-inset-bottom, 0px)); | |
| margin-top: 1.25rem; | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 0.75rem; | |
| padding: 0.85rem 1rem; | |
| border: 1px solid var(--border); | |
| border-radius: 14px; | |
| background: var(--card); | |
| } | |
| .cart-bar__copy { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.05rem; | |
| font-size: 0.9rem; | |
| } | |
| .cart-bar__btn { | |
| padding: 0.55rem 0.95rem; | |
| background: var(--red); | |
| color: #fff; | |
| } | |
| .cart-dialog { | |
| border: 1px solid var(--border); | |
| border-radius: 16px; | |
| padding: 0; | |
| background: var(--card); | |
| color: var(--text); | |
| width: min(24rem, calc(100% - 2rem)); | |
| } | |
| .cart-dialog::backdrop { | |
| background: rgba(0, 0, 0, 0.55); | |
| } | |
| .leave-dialog { | |
| border: 1px solid var(--border); | |
| border-radius: 16px; | |
| padding: 0; | |
| background: var(--card); | |
| color: var(--text); | |
| width: min(22rem, calc(100% - 2rem)); | |
| } | |
| .leave-dialog::backdrop { | |
| background: rgba(0, 0, 0, 0.55); | |
| } | |
| .leave-dialog__inner { | |
| margin: 0; | |
| padding: 1.2rem 1.15rem 1.25rem; | |
| } | |
| .leave-dialog__title { | |
| margin: 0 0 0.55rem; | |
| font-family: var(--font-display); | |
| font-size: 1.3rem; | |
| font-weight: 600; | |
| } | |
| .leave-dialog__copy { | |
| margin: 0 0 1.15rem; | |
| color: var(--muted); | |
| font-size: 0.95rem; | |
| line-height: 1.45; | |
| } | |
| .leave-dialog__actions { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.55rem; | |
| justify-content: flex-end; | |
| } | |
| .leave-dialog__stay, | |
| .leave-dialog__leave { | |
| cursor: pointer; | |
| border-radius: 999px; | |
| font: inherit; | |
| font-size: 0.9rem; | |
| font-weight: 600; | |
| padding: 0.55rem 1rem; | |
| } | |
| .leave-dialog__stay { | |
| border: 1px solid var(--border); | |
| background: transparent; | |
| color: var(--text); | |
| } | |
| .leave-dialog__leave { | |
| border: none; | |
| background: var(--red); | |
| color: #fff; | |
| } | |
| .cart-dialog__inner { | |
| margin: 0; | |
| padding: 1.15rem 1.1rem 1.2rem; | |
| } | |
| .cart-dialog__title { | |
| margin: 0 0 0.75rem; | |
| font-family: var(--font-display); | |
| font-size: 1.35rem; | |
| } | |
| .cart-lines { | |
| list-style: none; | |
| margin: 0; | |
| padding: 0; | |
| display: grid; | |
| gap: 0.45rem; | |
| } | |
| .cart-line { | |
| display: flex; | |
| justify-content: space-between; | |
| gap: 0.75rem; | |
| font-size: 0.9rem; | |
| } | |
| .cart-dialog__total { | |
| margin: 0.9rem 0 0.35rem; | |
| display: flex; | |
| justify-content: space-between; | |
| } | |
| .cart-dialog__note { | |
| margin: 0 0 0.9rem; | |
| color: var(--muted); | |
| font-size: 0.8rem; | |
| } | |
| .cart-bar__actions { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.45rem; | |
| justify-content: flex-end; | |
| } | |
| .cart-bar__btn--ghost { | |
| background: transparent; | |
| color: var(--text); | |
| border: 1px solid var(--border); | |
| } | |
| .cart-dialog__checkout { | |
| border: 0; | |
| border-radius: 999px; | |
| font: inherit; | |
| font-weight: 700; | |
| cursor: pointer; | |
| padding: 0.5rem 0.9rem; | |
| background: var(--red); | |
| color: #fff; | |
| } | |
| .cart-dialog__actions { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.55rem; | |
| justify-content: flex-end; | |
| } | |
| .checkout-block { | |
| margin-top: 1.25rem; | |
| padding: 1.1rem 1.05rem; | |
| border: 1px solid var(--border); | |
| border-radius: 14px; | |
| background: var(--card); | |
| } | |
| .checkout-heading { | |
| margin: 0 0 0.65rem; | |
| font-family: var(--font-display); | |
| font-size: 1.25rem; | |
| } | |
| .checkout-intro { | |
| margin: 0 0 0.9rem; | |
| color: var(--muted); | |
| font-size: 0.9rem; | |
| } | |
| .checkout-lines { | |
| list-style: none; | |
| margin: 0; | |
| padding: 0; | |
| display: grid; | |
| gap: 0.4rem; | |
| } | |
| .checkout-line { | |
| display: flex; | |
| justify-content: space-between; | |
| gap: 0.75rem; | |
| font-size: 0.92rem; | |
| } | |
| .checkout-total, | |
| .checkout-ref { | |
| margin: 0.75rem 0 0; | |
| display: flex; | |
| justify-content: space-between; | |
| gap: 0.75rem; | |
| font-size: 0.95rem; | |
| } | |
| .checkout-ref { | |
| color: var(--muted); | |
| font-size: 0.88rem; | |
| } | |
| .pay-options { | |
| display: grid; | |
| gap: 0.55rem; | |
| } | |
| .pay-option { | |
| display: flex; | |
| align-items: flex-start; | |
| gap: 0.75rem; | |
| padding: 0.85rem 0.9rem; | |
| border: 1px solid var(--border); | |
| border-radius: 12px; | |
| cursor: pointer; | |
| } | |
| .pay-option:has(input:checked) { | |
| border-color: rgba(225, 24, 47, 0.55); | |
| background: rgba(225, 24, 47, 0.06); | |
| } | |
| .pay-option input[type="radio"] { | |
| margin-top: 0.2rem; | |
| } | |
| .pay-option__body { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.15rem; | |
| min-width: 0; | |
| } | |
| .pay-option__name { | |
| font-weight: 700; | |
| } | |
| .pay-option__fee { | |
| color: var(--muted); | |
| font-size: 0.82rem; | |
| } | |
| .pay-detail { | |
| margin-top: 0.85rem; | |
| padding: 0.85rem 0.9rem; | |
| border-radius: 12px; | |
| border: 1px dashed var(--border); | |
| } | |
| .pay-detail__summary { | |
| margin: 0 0 0.75rem; | |
| font-size: 0.9rem; | |
| color: var(--muted); | |
| } | |
| .pay-bank { | |
| margin: 0; | |
| display: grid; | |
| gap: 0.45rem; | |
| } | |
| .pay-bank > div { | |
| display: flex; | |
| justify-content: space-between; | |
| gap: 0.75rem; | |
| font-size: 0.9rem; | |
| } | |
| .pay-bank dt { | |
| color: var(--muted); | |
| } | |
| .pay-bank dd { | |
| margin: 0; | |
| font-weight: 600; | |
| text-align: right; | |
| } | |
| .pay-hint { | |
| margin: 0.75rem 0 0; | |
| font-size: 0.82rem; | |
| color: var(--muted); | |
| } | |
| .checkout-form { | |
| display: grid; | |
| gap: 0.75rem; | |
| } | |
| .checkout-field { | |
| display: grid; | |
| gap: 0.35rem; | |
| font-size: 0.88rem; | |
| font-weight: 600; | |
| } | |
| .addr-lookup { | |
| display: grid; | |
| gap: 0.55rem; | |
| font-weight: 500; | |
| } | |
| .addr-lookup__row { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.45rem; | |
| } | |
| .addr-lookup__postcode { | |
| flex: 1 1 8rem; | |
| min-width: 0; | |
| border: 1px solid var(--border); | |
| border-radius: 10px; | |
| padding: 0.65rem 0.75rem; | |
| background: var(--bg); | |
| color: var(--text); | |
| font: inherit; | |
| font-weight: 500; | |
| text-transform: uppercase; | |
| } | |
| .addr-lookup__find, | |
| .addr-lookup__manual { | |
| cursor: pointer; | |
| border-radius: 999px; | |
| font: inherit; | |
| font-size: 0.88rem; | |
| font-weight: 600; | |
| padding: 0.55rem 0.95rem; | |
| } | |
| .addr-lookup__find { | |
| border: none; | |
| background: var(--text); | |
| color: var(--bg); | |
| } | |
| .addr-lookup__manual { | |
| justify-self: start; | |
| border: 1px solid var(--border); | |
| background: transparent; | |
| color: var(--muted); | |
| padding: 0.35rem 0.7rem; | |
| font-size: 0.82rem; | |
| font-weight: 500; | |
| } | |
| .addr-lookup__list { | |
| list-style: none; | |
| margin: 0; | |
| padding: 0; | |
| max-height: 14rem; | |
| overflow: auto; | |
| border: 1px solid var(--border); | |
| border-radius: 12px; | |
| background: var(--card); | |
| } | |
| .addr-lookup__item + .addr-lookup__item { | |
| border-top: 1px solid var(--border); | |
| } | |
| .addr-lookup__option { | |
| display: block; | |
| width: 100%; | |
| text-align: left; | |
| border: none; | |
| background: transparent; | |
| color: var(--text); | |
| font: inherit; | |
| font-size: 0.88rem; | |
| font-weight: 500; | |
| line-height: 1.35; | |
| padding: 0.7rem 0.8rem; | |
| cursor: pointer; | |
| } | |
| .addr-lookup__option:hover, | |
| .addr-lookup__option:focus-visible, | |
| .addr-lookup__option[aria-selected="true"] { | |
| background: color-mix(in srgb, var(--text) 8%, transparent); | |
| outline: none; | |
| } | |
| .addr-lookup textarea[name="address"] { | |
| width: 100%; | |
| } | |
| .checkout-field--check { | |
| display: flex; | |
| align-items: flex-start; | |
| gap: 0.55rem; | |
| font-weight: 500; | |
| } | |
| .checkout-field--check input { | |
| margin-top: 0.2rem; | |
| } | |
| .checkout-receipt-actions { | |
| display: grid; | |
| gap: 0.45rem; | |
| margin: 0.75rem 0 1rem; | |
| } | |
| .checkout-field[hidden], | |
| .checkout-block[hidden], | |
| [data-field-address][hidden], | |
| [data-field-table][hidden], | |
| [data-checkout-pay][hidden] { | |
| display: none ; | |
| } | |
| .checkout-field input, | |
| .checkout-field textarea { | |
| width: 100%; | |
| padding: 0.7rem 0.8rem; | |
| border: 1px solid var(--border); | |
| border-radius: 10px; | |
| background: var(--bg); | |
| color: var(--text); | |
| font: inherit; | |
| font-weight: 400; | |
| } | |
| .checkout-submit { | |
| justify-self: start; | |
| min-height: 44px; | |
| padding: 0.7rem 1.2rem; | |
| border: 0; | |
| border-radius: 999px; | |
| background: var(--red); | |
| color: #fff; | |
| font: inherit; | |
| font-weight: 700; | |
| cursor: pointer; | |
| } | |
| .checkout-submit:disabled { | |
| opacity: 0.45; | |
| cursor: not-allowed; | |
| } | |
| .pay-confirm { | |
| margin-top: 1rem; | |
| padding: 0.9rem 1rem; | |
| border: 1px solid var(--border); | |
| border-radius: 12px; | |
| background: rgba(225, 24, 47, 0.06); | |
| } | |
| .pay-confirm__lead { | |
| margin: 0 0 0.55rem; | |
| font-weight: 700; | |
| font-size: 0.92rem; | |
| } | |
| .pay-confirm__steps { | |
| margin: 0 0 0.75rem; | |
| padding-left: 1.15rem; | |
| color: var(--muted); | |
| font-size: 0.84rem; | |
| line-height: 1.45; | |
| } | |
| .pay-confirm__check { | |
| display: flex; | |
| gap: 0.55rem; | |
| align-items: flex-start; | |
| font-size: 0.88rem; | |
| font-weight: 500; | |
| cursor: pointer; | |
| } | |
| .pay-confirm__check input { | |
| margin-top: 0.2rem; | |
| flex-shrink: 0; | |
| } | |
| .checkout-gate-hint { | |
| margin: 0.35rem 0 0; | |
| font-size: 0.8rem; | |
| color: var(--muted); | |
| } | |
| .checkout-submit--link { | |
| display: inline-flex; | |
| align-items: center; | |
| margin-top: 1rem; | |
| text-decoration: none; | |
| } | |
| .checkout-done__lead { | |
| margin: 0 0 0.85rem; | |
| font-size: 0.95rem; | |
| } | |
| @media (max-width: 639px) { | |
| .cart-bar { | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| .cart-bar__actions { | |
| width: 100%; | |
| } | |
| .cart-bar__actions .cart-bar__btn { | |
| flex: 1; | |
| } | |
| } | |
| .cart-dialog__close { | |
| padding: 0.5rem 0.9rem; | |
| background: var(--red); | |
| color: #fff; | |
| } | |
| .cart-dialog__clear { | |
| padding: 0.5rem 0.9rem; | |
| background: transparent; | |
| color: var(--muted); | |
| border: 1px solid var(--border); | |
| } | |
| @media (min-width: 640px) { | |
| .service-grid { | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| } | |
| .service-grid--two { | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| } | |
| .service-card { | |
| flex-direction: column; | |
| align-items: flex-start; | |
| height: 100%; | |
| padding: 1.15rem 1rem 1.2rem; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 1023px) { | |
| .app-main { | |
| width: min(36rem, calc(100% - 2.5rem)); | |
| } | |
| .service-grid { | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| } | |
| .service-grid--two { | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| } | |
| .service-card { | |
| flex-direction: row; | |
| align-items: center; | |
| height: auto; | |
| } | |
| } | |
| @media (max-width: 639px) { | |
| .app-hero__title { | |
| font-size: clamp(1.45rem, 6.5vw, 1.85rem); | |
| } | |
| .app-hero__lead { | |
| font-size: 0.9rem; | |
| padding: 0 0.15rem; | |
| } | |
| .service-card__meta { | |
| font-size: 0.82rem; | |
| } | |
| .theme-toggle { | |
| min-width: 44px; | |
| min-height: 44px; | |
| } | |
| } | |
| @media (pointer: coarse) { | |
| .service-card, | |
| .theme-toggle, | |
| .app-back, | |
| .app-brand, | |
| .menu-filter, | |
| .know-submit, | |
| .qty-add, | |
| .qty-btn, | |
| .cart-bar__btn { | |
| min-height: 44px; | |
| } | |
| .qty-btn { | |
| width: 2.75rem; | |
| height: 2.75rem; | |
| } | |
| } | |