/* C2 only: N-962 slots fit their contents; N-964 evenly sized return slots. */
.order-v2 .schedule-grid{flex:0 1 auto;min-height:100px}
.order-v2 .schedule-column{align-self:start;max-height:100%}
.order-v2 .schedule-slots{flex:0 1 auto}
.carpet-hours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.carpet-hours .pill{padding:8px 3px;font-size:12px;white-space:nowrap;min-height:42px}
.c2-calendar-date{width:100%;margin-bottom:12px}
.c2-calendar{border:1px solid var(--line);background:white;border-radius:16px;padding:12px;margin-bottom:14px;box-shadow:var(--shadow)}
.c2-calendar .between>button{border:0;background:var(--pale);border-radius:50%;width:36px;height:36px;font-size:22px;color:var(--blue-dark)}
.c2-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:12px 0;text-align:center;direction:ltr}
.c2-calendar-grid small{color:var(--muted);padding:5px}
.c2-calendar-grid button{border:0;border-radius:50%;height:36px;background:transparent;color:var(--ink)}
.c2-calendar-grid button[aria-pressed=true]{background:var(--blue);color:white}
.c2-calendar-grid button:disabled{color:#bccbd2}
html[lang=ar] .c2-calendar-grid{direction:rtl}
html[lang=ar] .c2-calendar .between>button{transform:rotate(180deg)}
/* N-965: only the requested editable instructions/mic. */
.c2-note-label,label[for="checkout-notes"]{display:flex;align-items:center;gap:4px}
.c2-mic{margin-inline-start:auto;border:0;background:#e8f6fc;color:var(--blue);border-radius:50%;width:36px;height:36px;display:grid;place-items:center}
.c2-mic[aria-pressed=true]{background:var(--blue);color:white}
#checkout-notes{min-height:86px;resize:vertical}
#c2-mic-status:empty{display:none}
/* N-966: controls belong to the phone frame, outside scrolling pages. */
#app>.global-language-button{position:absolute;top:4px;right:90px;z-index:12}
#app>.global-support-button{position:absolute;top:49px;right:16px;z-index:12}
html[lang=ar] #app>.global-support-button{right:auto;left:16px}
#app:has(.approved)>.global-support-button{top:11%;right:3%}
html[lang=ar] #app:has(.approved)>.global-support-button{right:auto;left:3%}
/* C2-F6: retain the approved Arabic Home placement after fixing Chat to #app. */
html[lang=ar] #app:has(.ar-home-proposal)>.global-support-button{left:5%;right:auto;top:11.5%;width:8%;height:4%;padding:0;border:0;border-radius:0;background:var(--pale);box-shadow:none}
html[lang=ar] #app:has(.ar-home-proposal)>.global-support-button svg{width:100%;height:100%}
#app:has(.c2-chat)>.global-support-button{display:none}
#app:has(.c2-chooser)>.global-support-button{display:none}
.c2-chat-header{display:flex;align-items:center;gap:10px;padding:6px 16px 12px;border-bottom:1px solid #e3eef5;background:#f4f9fc}
.c2-chat-header>button{border:0;background:transparent;color:#1fa8dc;font-size:24px;width:22px;padding:0}
.c2-header-avatar{width:40px;height:40px;flex:none;border-radius:50%;background:white;box-shadow:0 2px 8px #12303f14;overflow:hidden;display:grid;place-items:center;color:#2a8a57;font-weight:700}
.c2-header-avatar img{width:46px;margin-top:6px}
.c2-header-avatar svg{width:22px;height:22px;color:#1fa8dc}
.notification-row small,.notification-detail p{white-space:pre-wrap}
.c2-login-hint{color:var(--blue-dark)}
.c2-chat-header b{font-size:16.5px;display:block}
.c2-chat-header small{font-size:12.5px;color:#6f8796;display:block;line-height:1.3}
.c2-card-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.c2-card-pair label{font-size:12px;color:var(--muted)}
.c2-card-pair input{margin-top:7px;direction:ltr}
.c2-order-row{align-items:flex-start;gap:8px}
.c2-order-row>span:first-child{min-width:0;flex:1}
.c2-order-state{flex:none;max-width:45%;font-size:12px;font-weight:700;color:var(--blue-dark);text-align:end;padding-top:3px}
.c2-order-actions{display:grid;gap:8px;margin:12px 0 16px}
.c2-invoice img{width:120px}
.c2-invoice table{width:100%;border-collapse:collapse;margin:20px 0;font-size:12px}
.c2-invoice th,.c2-invoice td{text-align:start;padding:10px 4px;border-bottom:1px solid var(--line)}
.c2-invoice th{font-size:11px;color:var(--muted)}
.c2-invoice-total{font-size:20px;color:var(--blue-dark);margin-top:12px}
.c2-friend-code{margin-top:14px}
/* N-968: the 17 Oct approved chooser/WhatsApp chat geometry and colours. */
.c2-chat-choices{display:flex;flex-direction:column;gap:12px}
.c2-chat-choice{width:100%;border:0;display:flex;gap:13px;align-items:center;text-align:start;color:var(--ink)}
.c2-chat-choice>span:nth-child(2){flex:1}
.c2-chat-choice b{font-size:16px;display:block}
.c2-chat-choice small{display:block;color:var(--muted);font-size:13px;line-height:1.35;margin-top:3px}
.c2-chat-choice:disabled{opacity:.5}
.c2-chat-avatar{width:46px;height:46px;border-radius:14px;background:#e8f6fc;display:grid;place-items:center;overflow:hidden;flex:none;font-weight:700;font-size:18px;color:#127fae}
.c2-chat-avatar img{width:52px}
.c2-chat-avatar.driver{background:#e1f2ea;color:#2a8a57}
.c2-chat{display:flex;flex-direction:column}
.c2-chat .page-scroll{flex:1;min-height:0;padding-bottom:12px}
.c2-chat-subtitle{font-size:12px;color:var(--muted);padding:0 16px 10px;margin:0;border-bottom:1px solid var(--line)}
.c2-chat-order,.c2-chat-note{margin:12px 16px;background:white;border-radius:12px;padding:10px 12px;font-size:12px}
.c2-chat-note{background:#eef6fb;color:#6f8796;line-height:1.4}
.c2-chat-log{display:flex;flex-direction:column;gap:12px;padding:16px}
.c2-chat-bubble{max-width:80%;padding:11px 14px;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.c2-chat-bubble.me{align-self:flex-end;background:#1fa8dc;color:white;border-radius:18px 18px 6px 18px}
.c2-chat-bubble.other{align-self:flex-start;background:white;border-radius:18px 18px 18px 6px;box-shadow:0 1px 3px #12303f0d}
.c2-chat-bubble small{font-size:11px;display:block;text-align:end;margin-top:4px;opacity:.85}
.c2-chat-photo{max-width:100%;border-radius:12px}.c2-chat-bubble audio{max-width:100%;width:230px}
.c2-chat-compose{display:flex;align-items:center;gap:7px;padding:10px 12px 8px;border-top:1px solid var(--line);background:white;flex:none}
.c2-chat-compose input.input{flex:1;min-width:0;border-radius:21px;background:#f2f7fa;font-size:14px}
.c2-chat-compose button{width:36px;height:36px;border:0;border-radius:50%;background:#e8f6fc;color:var(--blue);display:grid;place-items:center;flex:none;font-size:20px}
.c2-chat-compose .c2-send{background:#1fa8dc;color:white;font-size:17px}
.c2-person{background:white;min-height:30px}.c2-chat-test{text-align:center;margin:0;background:white;font-size:10px;color:var(--muted);padding:2px 0 12px}
.c2-test-customer{position:absolute;left:4%;right:4%;bottom:16px;display:flex;gap:5px;align-items:center;justify-content:center;font-size:9px;z-index:15;color:var(--muted)}
.c2-test-customer button{border:1px solid var(--line);border-radius:7px;background:white;padding:4px 5px;color:var(--blue-dark);font-size:9px}
@media(max-width:430px){.c2-test-customer{bottom:16px}}

.c2-chat-reply{display:flex;gap:8px;align-items:flex-end;align-self:flex-start;max-width:92%}
.c2-chat-reply .c2-chat-bubble{max-width:100%;min-width:0;line-height:1.45}
.c2-message-avatar{width:28px;height:28px;border-radius:50%;background:white;overflow:hidden;flex:none;box-shadow:0 1px 4px #00000014}
.c2-message-avatar img{width:32px;margin:3px 0 0 -2px}
.c2-message-avatar.driver{display:grid;place-items:center;background:#e1f2ea;color:#2a8a57;font-size:13px;font-weight:700}
[dir=rtl] .c2-chat-bubble.me{align-self:flex-start;border-radius:18px 18px 18px 6px}
[dir=rtl] .c2-chat-reply{align-self:flex-end;flex-direction:row-reverse}
[dir=rtl] .c2-chat-bubble.other{border-radius:18px 18px 6px 18px}

/* C2-F2: only the carpet content scrolls, keeping its title below fixed controls. */
.c2-carpet .page-scroll{display:flex;flex-direction:column;overflow:hidden}
.c2-carpet .page-scroll>.status,.c2-carpet .page-scroll>.header{flex:none}
.c2-carpet .page-scroll>.content{overflow-y:auto;min-height:0;flex:1}
/* C2-F4: the approved v4 order card, filled with this order's own fields. */
.c2-chat-order{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:14px;padding:10px 13px;box-shadow:0 1px 6px #12303f0f}
.c2-chat-pickup{font-size:12px;color:#6f8796;font-weight:700}
.c2-chat-handover{font-size:14px;font-weight:700}
.c2-chat-order small{font-size:10px;color:var(--muted)}
.c2-chat-status{font-size:11.5px;font-weight:700;border-radius:8px;padding:3px 8px;background:#e8f6fc;color:#127fae;flex:none;max-width:42%}
