/* Isolated responsive contact dock; service tabs are mobile only. */
.iro-service-tabs,.iro-mobile-actions,.iro-service-spacer{display:none}
body.iro-mobile-ui{padding-bottom:110px!important}
.iro-mobile-ui .quick_bnr,.iro-mobile-ui .iro-mobile-dock,.iro-mobile-ui .mobile-contact-bar{display:none!important}
.iro-mobile-ui .iro-legacy-quick{display:none!important}
.iro-mobile-ui .cv-dock{left:24px;right:24px;bottom:20px;padding:8px!important;border:1px solid #e3ded1;border-radius:22px;background:rgba(255,253,247,.98);box-shadow:0 8px 32px #25271926;max-width:620px;margin:auto;gap:0!important}
.iro-mobile-ui .cv-dock>.cv-actions{display:none!important}
.iro-mobile-ui .iro-mobile-actions{display:grid;grid-template-columns:1fr 1.3fr 1.25fr;width:100%;gap:6px;align-items:stretch}
.iro-mobile-actions a,.iro-mobile-actions button{appearance:none;border:0;background:transparent;color:#554f42!important;font-family:inherit;text-decoration:none!important;font-size:15px;font-weight:650;line-height:1.3;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px;min-height:54px;border-radius:15px;cursor:pointer;padding:8px 12px;white-space:nowrap}
.iro-mobile-actions svg{width:21px;height:21px;stroke-width:1.65;flex-shrink:0}
.iro-mobile-actions .iro-book{background:#4d6040;color:#fffef5!important;box-shadow:inset 0 1px 0 #ffffff1a}
.iro-mobile-actions :is(a,button):hover{background:#f0eee5}
.iro-mobile-actions .iro-book:hover{background:#405334}
.iro-mobile-actions :is(a,button):active{filter:brightness(.95)}
.iro-mobile-ui .rh-copy .cv-home-actions,.iro-mobile-ui .uniform-copy .cv-hero-actions{display:none!important}
.iro-mobile-ui .rh-copy .cv-case-link{margin-top:14px}
.iro-photo-sheet{border:1px solid #e5dfd5;border-radius:24px;padding:26px;width:min(440px,calc(100% - 24px));background:#fffdf8;color:#3c392f;box-shadow:0 24px 80px #231f2540;font-family:inherit}
.iro-photo-sheet::backdrop{background:#29291e88;backdrop-filter:blur(3px)}
.iro-photo-sheet h2{font-size:24px;line-height:1.4;margin:8px 0 12px;font-weight:750;letter-spacing:-.7px}
.iro-photo-sheet p{font-size:14px;line-height:1.7;color:#726e62;margin:0 0 22px;word-break:keep-all}
.iro-photo-sheet .iro-sheet-close{float:right;border:0;border-radius:50%;width:40px;height:40px;background:#f1eee6;font-size:24px;cursor:pointer;color:#565143}
.iro-photo-sheet .iro-sheet-label{font-size:11px;letter-spacing:2px;color:#8c805e;font-weight:700}
.iro-photo-sheet .iro-photo-link{display:flex;align-items:center;justify-content:space-between;min-height:56px;border-radius:14px;padding:14px 18px;margin:10px 0;text-decoration:none;font-size:16px;font-weight:700;color:#25452b;background:#edf5e9;border:1px solid #d9e9d3}
.iro-photo-sheet .iro-photo-link.iro-kakao{background:#fff2a8;border-color:#f1df7a;color:#403522}
.iro-photo-sheet .iro-photo-foot{font-size:12px;margin:18px 0 2px;color:#7b766a}
.iro-photo-sheet .iro-reserve-link{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:18px 20px;border:0;border-radius:15px;color:#fffef5;background:#4d6040;text-align:left;font-family:inherit;cursor:pointer}
.iro-reserve-link strong{display:block;font-size:16px;line-height:1.5;font-weight:700}.iro-reserve-link small{display:block;font-size:12px;line-height:1.6;margin-top:3px;color:#e4eadc}
.iro-photo-sheet .iro-sheet-divider{display:flex;align-items:center;gap:10px;margin:22px 0 12px;color:#817966;font-size:12px;line-height:1.5}.iro-sheet-divider:before,.iro-sheet-divider:after{content:'';height:1px;background:#e6e1d5;flex:1}
.iro-photo-sheet{max-height:calc(100dvh - 32px);overflow-y:auto}
@media(min-width:1001px){
  .iro-mobile-ui .iro-photo-sheet{position:fixed;inset:0;margin:auto!important;box-sizing:border-box;max-height:calc(100dvh - 48px)}
}
.iro-service-tabs a:focus-visible,.iro-mobile-actions :is(a,button):focus-visible,.iro-photo-sheet :is(a,button):focus-visible{outline:3px solid #ad863d;outline-offset:2px}
@media(max-width:1000px){
  body.iro-mobile-ui{padding-bottom:calc(102px + env(safe-area-inset-bottom))!important;--iro-header-bottom:80px}
  .iro-mobile-ui .iro-service-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;top:var(--iro-header-bottom);left:0;right:0;z-index:220;background:#fffcf6;border-top:1px solid #e9e2d5;border-bottom:1px solid #e5ded0;padding:0 8px;box-shadow:0 5px 14px #3e352309}
  .iro-service-tabs a{position:relative;display:flex;align-items:center;justify-content:center;text-decoration:none!important;min-height:48px;padding:4px 2px;color:#635b4c!important;font-family:inherit;font-size:13px;font-weight:700;line-height:1.4;white-space:nowrap;letter-spacing:-.5px}
  .iro-service-tabs a[aria-current=page]{color:#455738!important;background:#f3f3e9;font-weight:800}
  .iro-service-tabs a[aria-current=page]:after{content:'';height:3px;position:absolute;left:18px;right:18px;bottom:0;background:#64744e;border-radius:3px 3px 0 0}
  .iro-mobile-ui .iro-service-spacer{display:block;height:48px}
  .iro-mobile-ui .quick_bnr,.iro-mobile-ui .iro-mobile-dock,.iro-mobile-ui .mobile-contact-bar{display:none!important}
  .iro-mobile-ui .cv-dock{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:6px!important;border:1px solid #e3ded1;border-radius:22px;background:rgba(255,253,247,.98);box-shadow:0 8px 32px #25271926;max-width:500px;margin:auto;gap:0!important}
  .iro-mobile-ui .cv-dock>.cv-actions{display:none!important}
  .iro-mobile-ui .iro-mobile-actions{display:grid;grid-template-columns:1fr 1.1fr 1.55fr;width:100%;gap:4px;align-items:stretch}
  .iro-mobile-actions a,.iro-mobile-actions button{appearance:none;border:0;background:transparent;color:#554f42!important;font-family:inherit;text-decoration:none!important;font-size:12px;font-weight:650;line-height:1.3;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:58px;border-radius:16px;cursor:pointer;padding:5px 3px;white-space:nowrap}
  .iro-mobile-actions svg{width:21px;height:21px;stroke-width:1.65;flex-shrink:0}
  .iro-mobile-actions .iro-book{background:#4d6040;color:#fffef5!important;flex-direction:row;gap:8px;font-size:15px;box-shadow:inset 0 1px 0 #ffffff1a}
  .iro-mobile-actions .iro-book svg{width:20px;height:20px}
  .iro-mobile-actions :is(a,button):active{filter:brightness(.95)}
  /* Mobile hero CTAs are redundant with the persistent consultation dock. */
  .iro-mobile-ui .rh-copy .cv-home-actions,.iro-mobile-ui .uniform-copy .cv-hero-actions{display:none!important}
  .iro-mobile-ui .rh-copy .cv-case-link{margin-top:14px}
  .iro-mobile-ui:has(.preview-mobile-menu.is-open) .cv-dock{visibility:hidden}
  .iro-photo-sheet{margin:auto 12px calc(16px + env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:500px;padding:24px;border-radius:24px}
}
@media(max-width:350px){.iro-service-tabs a{font-size:12px;letter-spacing:-.7px}.iro-mobile-ui .cv-dock{left:8px;right:8px}.iro-mobile-actions .iro-book{font-size:14px;gap:5px}.iro-mobile-actions :is(a,button){font-size:11px}}
@media(prefers-reduced-motion:reduce){.iro-photo-sheet::backdrop{backdrop-filter:none}}

/* Mobile menu consolidation. Agency page navigation stays unchanged on desktop. */
.iro-header-event{display:none!important}
.iro-page-toc>summary{display:none}
@media(max-width:1000px){
  .iro-mobile-ui .uniform-tabs{display:none!important}
  .iro-mobile-ui .header-utils li.iro-header-event{display:flex!important;align-items:center}
  .iro-header-event a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 10px;border:1px solid #dbd0b8;border-radius:9px;background:#f5f0e3;color:#66532d!important;font-size:13px;font-weight:750;white-space:nowrap;text-decoration:none!important}
  .iro-mobile-ui .header-utils ul{gap:6px!important}
  .iro-mobile-ui .header-utils li.iro-header-event{margin:0!important}
  .iro-mobile-ui #iro-waste-page .iro-page-toc{box-sizing:border-box;width:max-content;max-width:calc(100% - 32px);margin:8px 16px 12px!important;padding:0!important;border:1px solid #e4dfd3;border-radius:9px;background:#fffdf8;overflow:hidden}
  .iro-mobile-ui #iro-waste-page .iro-page-toc[open]{width:calc(100% - 32px)}
  .iro-mobile-ui .iro-page-toc>summary{box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:18px;list-style:none;cursor:pointer;padding:6px 11px;font-size:12px;line-height:1.4;font-weight:650;color:#625945;min-height:36px}
  .iro-page-toc>summary::-webkit-details-marker{display:none}
  .iro-page-toc>summary:after{content:'＋';font-size:16px;font-weight:400}
  .iro-page-toc[open]>summary:after{content:'−'}
  .iro-mobile-ui .iro-page-toc .page-nav{position:static!important;display:grid!important;grid-template-columns:1fr 1fr;gap:4px;padding:0 8px 8px!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
  .iro-mobile-ui .iro-page-toc .page-nav a{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:36px;padding:6px!important;font-size:12px!important;border-radius:6px;background:#f3f1e9;color:#625945}
  .iro-mobile-ui:has(.preview-mobile-menu.is-open) .iro-service-tabs{visibility:hidden}
}
@media(max-width:350px){.iro-header-event a{padding:0 7px;font-size:12px}.iro-mobile-ui .header-utils ul{gap:4px!important}}

/* Keep the menu toggle reachable on narrow phones, including the scrollbar. */
@media(max-width:350px){
 .iro-mobile-ui .header .header-left{flex:0 0 108px!important;width:108px!important;min-width:0!important}
 .iro-mobile-ui .header .header-title{width:108px!important;min-width:0!important}
 .iro-mobile-ui .header .iro-brand-logo{width:108px!important;max-width:108px!important}
 .iro-mobile-ui .header .iro-brand-logo img{max-width:100%!important}
}
