/* BLANCO rounded interface layer: warm, restrained softness for interactive elements and content cards. */
:root{
  --blanco-radius-control:12px;
  --blanco-radius-card:18px;
  --blanco-radius-media:16px;
  --blanco-radius-pill:999px;
  --blanco-rounded-shadow:0 10px 28px rgba(70,50,47,.07);
}

/* Form controls and main-page action controls. */
body main input:not([type="checkbox"]):not([type="radio"]),
body main select,
body main textarea,
body main button,
body main input[type="submit"],
body main input[type="button"],
body main input[type="reset"]{
  border-radius:var(--blanco-radius-control)!important;
}
body main :is(a[class*="btn"],a[class*="button"],a[class*="action"],a[class*="cta"],a[class*="reserve"],a[class*="contact"],a[class*="more"]){
  border-radius:var(--blanco-radius-control)!important;
}

/* Content cards retain their existing editorial layout while gaining a soft outer silhouette. */
body main :is([class*="__card"],[class*="__tile"],[class*="__panel"],[class*="__box"],.faq-page__item,.contact-form,.contact-form-confirm,.contact-form-complete){
  border-radius:var(--blanco-radius-card)!important;
  overflow:hidden!important;
}
body main :is([class*="__card"],[class*="__tile"],[class*="__panel"],[class*="__box"],.faq-page__item){
  box-shadow:var(--blanco-rounded-shadow)!important;
}

/* Photographs and gallery modules use a smaller, consistent radius without rounding logos. */
body main :is(figure,[class*="__photo"],[class*="__image"],[class*="__gallery"]){
  border-radius:var(--blanco-radius-media)!important;
  overflow:hidden!important;
}
body main :is(figure,[class*="__photo"],[class*="__image"],[class*="__gallery"]) img{
  border-radius:inherit!important;
}

/* Contact-page controls receive the same rounded character. */
body main .contact-reservation__line-action,
body main .contact-reservation__phone-action,
body main .contact-reservation__shops-link,
body main .contact-form__field input,
body main .contact-form__field select,
body main .contact-form__field textarea,
body main .contact-form__actions button,
body main .contact-form__reset,
body main .contact-form__back,
body main .contact-form__next,
body main .contact-form-complete a,
body main .privacy-policy__back{
  border-radius:var(--blanco-radius-control)!important;
}
body main .contact-reservation__store-card,
body main .contact-reservation__region,
body main .contact-reservation__phone-region{
  border-radius:var(--blanco-radius-card)!important;
  overflow:hidden!important;
  box-shadow:var(--blanco-rounded-shadow)!important;
}

/* Shared floating reservation action. */
body .blanco-reservation-float{
  border-radius:var(--blanco-radius-pill)!important;
}

/* index2.html retains an independent homepage structure. */
body .hero__strip-item,
body .campaign__item,
body .menu__card,
body .shops__card,
body .contact__btn,
body .about__image-main,
body .about__image-sub{
  border-radius:var(--blanco-radius-card)!important;
  overflow:hidden!important;
}
body .hero__strip-item,
body .campaign__item,
body .about__image-main,
body .about__image-sub{
  border-radius:var(--blanco-radius-media)!important;
}
body .menu__card,
body .shops__card{
  box-shadow:var(--blanco-rounded-shadow)!important;
}
body .contact__btn{
  border-radius:var(--blanco-radius-control)!important;
}
/* Keep the close control outside the popup panel's rounded edge visible. */
body .campaign-popup__panel{
  border-radius:var(--blanco-radius-card)!important;
  overflow:visible!important;
}
body .campaign-popup__slides{
  border-radius:var(--blanco-radius-card)!important;
  overflow:hidden!important;
}

/* The Osaka Sakai detail page also uses its own standalone structure. */
body .store-detail-map__wrap,
body .store-detail-gallery__item,
body .store-detail-actions a,
body .store-back,
body .store-detail-table{
  border-radius:var(--blanco-radius-control)!important;
  overflow:hidden!important;
}
body .store-detail-gallery__item,
body .store-detail-map__wrap{
  border-radius:var(--blanco-radius-media)!important;
}
body .store-detail-actions a{
  border-radius:var(--blanco-radius-control)!important;
}

@media (max-width:760px){
  :root{--blanco-radius-control:10px;--blanco-radius-card:15px;--blanco-radius-media:13px}
  body .blanco-reservation-float{
    border-radius:16px 16px 0 0!important;
  }
}
