.cy-web-services { --cy-service-ink:#4d463c; --cy-service-muted:#716551; --cy-service-line:#e4ded5; --cy-service-accent:#b09e80; color:var(--cy-service-ink); }
.cy-web-services [hidden] { display:none !important; }
.cy-web-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:28px 0 48px; align-items:start; }
.cy-web-service-card { overflow:hidden; background:#fff; border:1px solid var(--cy-service-line); border-radius:18px; box-shadow:0 6px 22px #7165510a; }
.cy-web-service-card,.cy-web-service-booking,.cy-web-service-history { text-align:left; min-width:0; }
.cy-web-service-cover { width:100%; height:190px; display:block; object-fit:cover; }
.cy-web-service-body { padding:24px; }
.cy-web-service-body h3 { margin:0 0 12px; font-size:1.35rem; }
.cy-web-service-body p { margin:10px 0 18px; line-height:1.6; }
.cy-web-service-options { margin:12px 0 22px; }
.cy-web-service-options summary { cursor:pointer; color:var(--cy-service-muted); padding:10px 0; font-weight:600; }
.cy-web-service-options>div { max-height:450px; overflow-y:auto; padding-right:8px; }
.cy-web-service-variant { display:flow-root; border-top:1px solid var(--cy-service-line); padding:14px 0; overflow-wrap:anywhere; }
.cy-web-service-variant>strong,.cy-web-service-price { display:block; }
.cy-web-service-price { color:var(--cy-service-muted); font-size:.9rem; line-height:1.6; margin-top:4px; }
.cy-web-service-variant img { width:72px; height:72px; object-fit:cover; float:right; border-radius:10px; margin:0 0 12px 12px; }
.cy-web-service-variant ul { margin:12px 0 0; padding-left:20px; font-size:.95rem; line-height:1.6; }
.cy-web-service-note { font-size:.9rem; color:var(--cy-service-muted); }
.cy-web-services-button,.cy-web-services-secondary { display:inline-flex; justify-content:center; align-items:center; min-height:44px; gap:8px; border-radius:9px; padding:11px 18px; font:inherit; font-size:.95rem; line-height:1.4; text-decoration:none; cursor:pointer; text-align:center; }
.cy-web-services-button { background:#716551; color:#fff; border:1px solid #716551; }
.cy-web-services a.cy-web-services-button { color:#fff; }
.cy-web-services-button:hover { background:#5f5544; color:#fff; }
.cy-web-services-secondary { background:#fff; color:#5f5544; border:1px solid #b09e80; }
.cy-web-services button:disabled { opacity:.55; cursor:wait; }
.cy-web-services :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #b09e80; outline-offset:3px; }
.cy-web-service-booking { padding:36px; background:#f8f6f2; border:1px solid var(--cy-service-line); border-radius:18px; scroll-margin-top:100px; }
.cy-web-service-booking h2 { margin-top:0; }
.cy-web-service-booking fieldset { border:0; padding:0; margin:0; min-width:0; }
.cy-web-service-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.cy-web-service-booking label { display:block; margin:0 0 18px; font-weight:500; line-height:1.5; }
.cy-web-service-booking :is(input:not([type=checkbox]),select,textarea) { display:block; box-sizing:border-box; width:100%; min-height:46px; margin-top:7px; padding:11px 12px; border:1px solid #cfc5b7; border-radius:8px; font:inherit; color:var(--cy-service-ink); background:#fff; }
.cy-web-service-booking textarea { resize:vertical; }
.cy-web-service-booking input[type=checkbox] { width:20px; height:20px; vertical-align:middle; margin:0 5px 0 0; accent-color:#716551; }
.cy-web-selected-variant { display:flow-root; line-height:1.6; margin:0 0 20px; }
.cy-web-selected-variant:empty { display:none; }
.cy-web-selected-variant img { width:140px; height:110px; object-fit:cover; border-radius:12px; float:right; margin:0 0 16px 20px; }
.cy-web-selected-variant ul { padding-left:20px; }
.cy-web-services-message { min-height:0; line-height:1.6; }
.cy-web-services-message:empty { display:none; }
.cy-web-services-message.is-error { color:#a33329; }
.cy-web-service-review { background:#fff; padding:24px; border:1px solid var(--cy-service-line); border-radius:12px; margin-top:26px; }
.cy-web-service-review h3 { margin-top:0; }
.cy-web-service-review dl { margin:0; }
.cy-web-service-review dl>div { display:grid; grid-template-columns:minmax(110px,1fr) 3fr; gap:12px; padding:9px 0; border-bottom:1px solid #eee8df; }
.cy-web-service-review dt { color:var(--cy-service-muted); }
.cy-web-service-review dd { margin:0; overflow-wrap:anywhere; white-space:pre-line; }
.cy-web-service-total { display:block; font-size:1.35rem; margin:18px 0; }
.cy-web-service-confirm { margin-top:20px; }
.cy-web-service-history { margin:48px 0 24px; }
.cy-web-service-history-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:18px; }
.cy-web-service-history-heading h2 { margin:0; }
.cy-web-service-history-item { display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid var(--cy-service-line); padding:20px 0; }
.cy-web-service-history-item h3 { margin:0 0 8px; font-size:1.15rem; }
.cy-web-service-history-item p { margin:5px 0; }
.cy-web-service-resume { display:grid; gap:12px; max-width:310px; }
.cy-web-service-resume label { font-size:.9rem; line-height:1.6; }
.cy-web-service-resume input[type=checkbox] { width:18px; height:18px; accent-color:#716551; vertical-align:middle; }
@media(max-width:1000px) { .cy-web-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .cy-web-service-grid,.cy-web-service-fields { grid-template-columns:1fr; } .cy-web-service-booking { padding:22px 18px; } .cy-web-service-body { padding:22px; } .cy-web-service-history-item { align-items:flex-start; flex-direction:column; gap:12px; } .cy-web-service-review { padding:18px; } .cy-web-service-review dl>div { grid-template-columns:1fr; gap:4px; } .cy-web-selected-variant img { width:90px; height:90px; } }
