/* Task 10755: native theme components; only integration/accessibility extensions. */
:where(.ice-massage-main > .section a),.ice-massage-crumbs a { color:inherit; }
.ice-massage-main :focus-visible,.ice-massage-card :focus-visible,.ice-massage-mobile-booking :focus-visible,.ice-massage-menu-toggle:focus-visible { outline:3px solid #5b5e64; outline-offset:4px; }
.ice-massage-crumbs { margin-top:20px; font-size:13px; }
.ice-massage-crumbs ol { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.ice-massage-crumbs li:not(:last-child)::after { content:' /'; margin-left:8px; opacity:.5; }
.ice-massage-hero .preview-item:nth-child(2)>* { order:0!important; }
.ice-massage-hero-image { margin:0; min-width:0; }
.ice-massage-badge { display:inline-block; align-self:flex-start; background:#eff5f6; border-radius:8px; padding:8px 12px; font-size:13px; margin:0 0 18px; }
.ice-massage-booking { font-family:inherit; cursor:pointer; }
.ice-massage-booking[data-hint]::after { content:none; display:none; }
.ice-massage-booking.btn-turquoise:hover { transition:.3s; }
.ice-massage-booking-context { margin:16px 0; color:#5b5e64; font:inherit; line-height:1.5; }
.ice-massage-section,.ice-massage-contacts,.ice-massage-native #process,.ice-massage-native #when,.ice-massage-native #limits { scroll-margin-top:110px; }
.ice-massage-back { margin:28px 0; }
.ice-massage-device { max-width:360px; margin:40px 0 0; }
.ice-massage-device img { width:100%; height:auto; max-height:470px; object-fit:contain; border-radius:16px; }
.ice-massage-card { display:flex; flex-direction:column; min-width:0; }
.ice-massage-card .ncat-img { display:block; width:100%; object-fit:cover; border-radius:16px; }
.ice-massage-card-content { flex:1; }
.ice-massage-card-copy { font-size:14px; line-height:1.7; margin:16px 0; }
.ice-massage-card-copy p { margin:0; }
.ice-massage-cross-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ice-massage-native .ice-massage-hero-session { margin-top:28px; }
/* Multiple exact tariffs use the native price row, with its existing tariff-list gap. */
.ice-massage-native .ice-massage-hero-price + .ice-massage-hero-price { margin-top:10px; }
.ice-massage-native .ice-massage-hero-session .ntext-colums-text { margin-top:12px; }
.ice-massage-native .ice-massage-hero-session .nl_ancors-link { display:inline-block; }
/* Price rows use the native .nprice-price typography, including legacy emphasis wrappers. */
.ice-massage-native .nprice-price strong { font-weight:inherit; }
.ice-massage-native .nfaq-li__link { display:block; width:100%; text-align:left; border:0; background:transparent; font-family:inherit; cursor:pointer; }
/* Native panels reserve 50px for vertical labels on phones. Keep that lane
   for long editable paragraphs on wider screens without changing panel styles. */
@media (min-width:768px) {
  .ice-massage-native .pokaz-group .custom__style__marker>li { padding-right:30px; }
}
/* Native <=412px padding is narrower than its 34px number at right:20px.
   Reserve text space inside the row; keep native row padding/styles unchanged. */
@media (max-width:412px) {
  .ice-massage-native .ice-massage-stage-copy { padding-right:34px; }
}
/* Native font/spacing remain intact; long new headings can use the full column. */
@media (max-width:565px) {
  .ice-massage-native .ntext-dop-content>h2:first-child { max-width:100%; }
}
.ice-massage-mobile-booking { display:none; }
.ice-massage-page .iceface-cookie-modal { bottom:calc(20px + var(--ice-staging-bottom,0px)); }
.ice-massage-dialog { color:#5b5e64; border:0; border-radius:16px; padding:38px; width:min(520px,calc(100vw - 40px)); box-sizing:border-box; max-height:85vh; }
.ice-massage-dialog::backdrop { background:rgba(0,0,0,.5); }
.ice-massage-dialog h2 { font-size:24px; padding-right:30px; }
.ice-massage-dialog ul { list-style:none; padding:0; }
.ice-massage-dialog li a { display:block; min-height:44px; padding:16px; background:#eff5f6; border-radius:10px; margin-top:12px; color:inherit; }
.ice-massage-dialog-close { position:absolute; top:8px; right:8px; width:44px; height:44px; font-size:28px; background:transparent; border:0; cursor:pointer; }
.ice-massage-menu { position:relative; }
.menu-flyout-column .ice-massage-menu>.ice-massage-menu-toggle,
#rmp-menu-wrap-5397 .ice-massage-menu>.ice-massage-menu-toggle { border:0; border-radius:0; padding:0; background:transparent!important; box-shadow:none; color:inherit; font:inherit; width:44px; height:44px; cursor:pointer; }
.ice-massage-menu-toggle>span { display:block; width:9px; height:9px; border-top:2px solid currentColor; border-right:2px solid currentColor; background:none; transform:rotate(45deg); }
.menu-flyout-column .ice-massage-menu { display:flex; align-items:center; }
.ice-massage-menu-caption { display:block; margin-top:3px; font-size:.85em; line-height:1.25; font-weight:400; color:#707070; }
.menu-flyout-column li.ice-massage-menu>a { display:inline-flex!important; flex-direction:column; align-items:flex-start; gap:0; padding-right:0; }
.menu-flyout-column .ice-massage-menu>.ice-massage-menu-toggle { flex:0 0 44px; align-self:flex-start; margin:-3.5px 0; }
.menu-flyout-column .ice-massage-menu>.ice-massage-menu-toggle>span { margin-left:2px; }
.menu-flyout-column .ice-massage-menu:hover>a { font-weight:700; }
.menu-flyout-column .ice-massage-menu>a::after { display:none!important; }
#rmp-menu-wrap-5397 .ice-massage-menu { display:flex; flex-wrap:wrap; align-items:flex-start; }
#rmp-menu-wrap-5397 .ice-massage-menu>.rmp-menu-item-link { display:block; width:auto; height:auto; min-height:40px; padding-top:0; padding-right:0!important; padding-bottom:18px; line-height:40px; overflow:visible; }
#rmp-menu-wrap-5397 .ice-massage-menu-caption { position:absolute; left:20px; top:33px; margin:0; color:#c9c9c9; white-space:nowrap; }
#rmp-menu-wrap-5397 .ice-massage-menu>.ice-massage-menu-toggle { position:relative; right:auto; top:auto; flex:0 0 44px; margin-left:15px; color:#fff; }
#rmp-menu-wrap-5397 .ice-massage-menu>.ice-massage-menu-toggle>span { position:absolute; left:10px; top:10px; width:20px; height:20px; margin:0; border:0; background:url('/wp-content/uploads/2025/10/right-arrow-b.png') no-repeat; background-size:100% auto; filter:none; transform:none; }
#rmp-menu-wrap-5397 .ice-massage-menu-open>.ice-massage-menu-toggle>span { background-image:url('/wp-content/uploads/2025/10/down-arrow-b.png'); }
#rmp-menu-wrap-5397 .ice-massage-menu>.rmp-submenu { display:none!important; flex:0 0 100%; }
#rmp-menu-wrap-5397 .ice-massage-menu.ice-massage-menu-open>.rmp-submenu { display:block!important; }
@media (max-width:767px) {
  .ice-massage-crumbs { font-size:11px; }
  .ice-massage-hub-services,.ice-massage-cross-services { grid-template-columns:minmax(0,1fr); }
  .ice-massage-native .ice-massage-hero-price { flex-wrap:wrap; }
  .ice-massage-section,.ice-massage-contacts,.ice-massage-native #process,.ice-massage-native #when,.ice-massage-native #limits { scroll-margin-top:90px; }
  .ice-massage-mobile-booking { display:block; position:fixed; left:20px; right:20px; bottom:calc(12px + var(--ice-staging-bottom,0px) + env(safe-area-inset-bottom)); z-index:85; }
  .ice-massage-mobile-booking .btn-turquoise { width:100%; }
  .ice-massage-page .nfooter { padding-bottom:calc(90px + var(--ice-staging-bottom,0px)); }
  .ice-massage-page .iceface-cookie-modal { bottom:calc(76px + var(--ice-staging-bottom,0px) + env(safe-area-inset-bottom)); }
  .ice-massage-dialog { padding:28px 22px; }
}
