/* Shared customer-facing palette and controls. Status/error colors stay semantic. */
.customer-page{--noro-bg:#071019;--noro-panel:#0d1925;--noro-line:#304659;--noro-accent:#8ed8ff;background:var(--noro-bg);color:#f3f7fb}
.customer-page,.customer-page *{box-sizing:border-box}
.customer-page>header{background:#071019;border-bottom:1px solid #263d50}
.customer-page :is(.page-heading,.booking-section){background:linear-gradient(135deg,#102536,#071019)}
.customer-page :is(.page-heading,.gallery-heading,.consult-wrap) p{line-height:1.75}
.customer-page :is(.button,.rounded-cta,.consult-float){display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 20px;background:var(--noro-accent);border:1px solid var(--noro-accent);border-radius:12px;color:#071a2c;font:700 14px/1.5 Manrope,Arial,sans-serif;text-decoration:none;box-shadow:none}
.customer-page :is(.button,.rounded-cta,.consult-float):hover{background:#b5e5ff;border-color:#b5e5ff;transform:none}
.customer-page :is(.secondary-cta,.floating-project){background:#163248;border:1px solid #54748d;color:#f1f7fc}
.customer-page :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #b4e6ff;outline-offset:4px}
.customer-page :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){font-size:16px}
.customer-page :is(button,a){-webkit-tap-highlight-color:transparent}
.customer-page main{min-width:0}
.customer-page .floating-actions{left:50%;right:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:calc(100% - 24px);max-width:520px;padding:6px;gap:7px;display:flex;align-items:stretch;border:1px solid #36546a;border-radius:18px;background:#0a1724f5;box-shadow:0 8px 24px #0005;z-index:90}
.customer-page .floating-actions>a{position:static;display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:44px;padding:11px 12px;gap:6px;border-radius:12px;text-align:center;white-space:normal;font:700 13px/1.45 Manrope,Arial,sans-serif;text-decoration:none;box-shadow:none}
.customer-page .floating-actions .floating-project{background:#163248;border:1px solid #54748d;color:#f1f7fc}
.customer-page .floating-actions :is(.consult-float,.floating-whatsapp){background:var(--noro-accent);border:1px solid var(--noro-accent);color:#071a2c}
.customer-page .floating-actions>a:hover{transform:none;border-color:#b5e5ff}
.customer-page.dock-managed .floating-actions:not(.dock-visible){opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,12px)}
.customer-page.dock-managed .floating-actions.dock-visible{opacity:1;visibility:visible;transform:translateX(-50%)}
.customer-page .floating-actions{transition:opacity .16s ease,transform .16s ease}
.customer-page:has(.floating-actions){padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.customer-page .compact-footer{padding-bottom:32px!important}
.customer-page #consultForm select{display:block;width:100%;margin-top:10px;padding:14px;border:1px solid #38556c;border-radius:12px;background:#07111a;color:#f3f7fb;font:inherit;font-size:16px}
.customer-page .home-reviews{flex-wrap:wrap}
.home-review-preview{flex-basis:100%;width:100%}
.home-review-preview[hidden]{display:none}
.customer-page .home-review-summary{font-size:14px;color:#b8d9ed;margin:0 0 20px}
.home-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-review-grid .review-card{margin:0;padding:24px;border:1px solid #304659;border-radius:16px;background:#0d1925;min-width:0}
.home-review-grid .review-card-top{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.home-review-grid .review-stars{color:#8ed8ff;letter-spacing:.06em}
.home-review-grid .review-message{font-size:14px;line-height:1.8;overflow-wrap:anywhere;white-space:pre-wrap;max-height:14.4em;overflow:auto}
.home-review-grid .review-meta{font-size:12px;color:#9eb5c6}
@media(max-width:750px){
 .customer-page .floating-actions{max-width:460px}
 .customer-page .floating-actions>a{font-size:12px;padding:10px 8px;min-height:44px}
 .home-review-grid{grid-template-columns:1fr}
 .customer-page .consult-wrap{margin-block:22px;padding:20px}
 .customer-page #consultForm{padding:20px}
}
@media(prefers-reduced-motion:reduce){.customer-page .floating-actions{transition:none}}

/* Keep form content and visually hidden controls inside the viewport in RTL. */
.customer-page form{position:relative;min-width:0}
.customer-page .consult-wrap{width:100%;max-width:850px;min-width:0;margin-inline:auto}
.customer-page #consultForm{min-width:0;max-width:100%}
.customer-page #consultForm :is(label,.formrow,.photo-upload){min-width:0}
.customer-page #consultForm :is(input,textarea,select){min-width:0;max-width:100%}
.customer-page #consultForm .consult-consent input{padding:0;margin:4px 0 0}
.customer-page #consultForm .consult-consent span{min-width:0;overflow-wrap:anywhere}
.customer-page #consultForm .honey{margin:0;padding:0}
.customer-page #consultForm input[type=file]{direction:ltr;text-align:start;overflow:hidden}
.customer-page .booking-page-header{min-width:0}
.customer-page .booking-back{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){
 .customer-page #consultForm .formrow{grid-template-columns:minmax(0,1fr)}
 .customer-page #consultForm .photo-upload{padding:14px}
 .customer-page #consultForm .button{white-space:normal;overflow-wrap:anywhere}
}
