/* Shared corner treatment for actions, cards and form controls. */
:root {
  --radius-pill: 999px;
  --radius-card: 22px;
  --radius-media: 18px;
  --radius-field: 12px;
}

/* Primary actions echo the carousel's rounded navigation. */
.button, .header-book, .booking-button, .home-discover-button,
.cat-filter-pill, .cat-filter-toggle, .cofidis-benefit {
  border-radius: var(--radius-pill);
}
.icon-button, .booking-icon-button, .cat-icon-button,
.favorite-button, .home-brands-arrow, .booking-calendar-day {
  border-radius: var(--radius-pill);
}

/* Independent cards keep their existing spacing and content. */
.services-card, .insurance-card, .booking-summary, .booking-review-box,
.booking-completion, .booking-error-summary, .booking-change-notice,
.booking-data-info, .store-details-information,
.signature-stage, .category-panel, .about-dialog, .cat-filter-dialog {
  border-radius: var(--radius-card);
}
.home-discover-card, .home-services-card, .signature-stage, .category-panel {
  overflow: hidden;
}

/* Round the image containers so photographs and overlays follow the edge. */
.home-store-mini-photo, .city-art, .frame-card-image,
.cat-card .product-visual, .detail-main-image, .detail-thumb,
.editorial-visual, .booking-heading-image, .cofidis-service-banner,
.glasses-insurance-visual, .store-details-photo {
  border-radius: var(--radius-media);
  overflow: hidden;
}

/* Choices and fields retain clear focus and selected states. */
.booking-store-option, .booking-reason-option, .booking-period-option,
.booking-field input, .cat-filter-dialog select,
.detail-thumb, .booking-product-art {
  border-radius: var(--radius-field);
}
.cat-desktop-filters select {
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  padding-left: 14px;
}
.toast { border-radius: var(--radius-field); }

/* The paired editorial panels keep straight corners. */
.home-discover-card, .home-services-card { border-radius: 0; }

/* Supplied combined Opticalia / Finessewave logo in its original blue. */
.site-header .brand-logo-upload{width:170px;height:auto;filter:none}
@media(max-width:800px){.site-header .brand-logo-upload{width:145px}}
@media(max-width:600px){.site-header .brand-logo-upload{width:120px}}
@media(max-width:380px){.site-header .brand-logo-upload{width:105px}}

/* Primary actions use the blue sampled from the supplied brand artwork. */
:root{--brand-blue:#0091c3;--brand-blue-hover:#007ca8}
.button-black,.booking-button{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}
.button-black:hover,.booking-button:hover{background:var(--brand-blue-hover);border-color:var(--brand-blue-hover);color:#fff}
.button-black:active,.booking-button:active{background:var(--brand-blue-hover);border-color:var(--brand-blue-hover)}

.brand-logo-upload{display:flex;flex-direction:column;align-items:center;gap:1px}
.brand-word-top,.brand-word-bottom{position:relative;display:block;overflow:hidden}
.brand-word-top{width:100%;aspect-ratio:1200/330}
.brand-word-bottom{width:64.166667%;aspect-ratio:770/88}
.brand-logo-upload img{position:absolute;max-width:none;height:auto;filter:none}
.brand-word-top img{width:166.666667%;left:-33.333333%;top:-251.515152%}
.brand-word-bottom img{width:259.740260%;left:-89.610390%;top:-1315.909091%}

/* Match the header lockup at a quieter footer size. */
.site-footer .brand-logo-upload{width:125px;mix-blend-mode:multiply}
@media(max-width:600px){.site-footer .brand-logo-upload{width:95px}}

/* Persistent contact shortcut, in the site's brand colour. */
.whatsapp-contact{position:fixed;z-index:40;right:24px;bottom:max(24px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:7px 7px 7px 24px;min-height:64px;border-radius:999px;background:#0091c3;color:#fff;font:500 16px/1.2 var(--sans);box-shadow:0 5px 25px #00354b26;transition:background .18s,box-shadow .18s}
.whatsapp-contact-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#ffffff26;flex-shrink:0}
.whatsapp-contact-icon svg{width:29px;height:29px}
.whatsapp-contact:hover{background:#007ca8;box-shadow:0 6px 28px #00354b38}
.whatsapp-contact:focus-visible{outline:3px solid #007ca8;outline-offset:4px}
body:has(dialog[open]) .whatsapp-contact{visibility:hidden}
@media(max-width:600px){.whatsapp-contact{right:14px;bottom:max(14px,env(safe-area-inset-bottom));min-height:54px;padding:6px 6px 6px 19px;gap:12px;font-size:14px}.whatsapp-contact-icon{width:42px;height:42px}.whatsapp-contact-icon svg{width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.whatsapp-contact{transition:none}}

@media(max-width:600px){.mobile-book-label{max-width:62px;white-space:normal;line-height:1.2;text-align:center}}
