/* OfficeDoor frontend button typography refinement */
:root{
    --od-button-weight:740;
    --od-button-letter:-.025em;
}

/* Normalize clickable controls without making Korean glyphs look swollen. */
button,
input[type="button"],
input[type="submit"],
input[type="reset"]{
    font-weight:var(--od-button-weight) !important;
    letter-spacing:var(--od-button-letter) !important;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

.header-login,
.header-register,
.header-contact,
.od-cinema-actions a,
.brand-primary-action,
.brand-text-action,
.brand-cta-card>a,
.door-search button,
.office-empty-state a,
.mobile-login,
.mobile-register,
.mobile-menu a:last-child{
    font-weight:var(--od-button-weight) !important;
    letter-spacing:var(--od-button-letter) !important;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

/* Primary desktop CTAs: slightly larger, but visually lighter and cleaner. */
.header-contact{
    min-height:46px;
    padding-left:20px;
    padding-right:20px;
    font-size:13px !important;
}
.header-login,
.header-register{
    font-size:13px !important;
}
.od-cinema-actions a{
    min-height:54px;
    padding-left:24px;
    padding-right:24px;
    font-size:13px !important;
}
.brand-primary-action,
.brand-cta-card>a{
    min-height:54px;
    padding-left:24px;
    padding-right:24px;
    font-size:13px !important;
}
.brand-text-action{
    font-size:13px !important;
}
.door-search button{
    min-height:50px;
    padding-left:22px;
    padding-right:22px;
    font-size:12px !important;
    letter-spacing:-.01em !important;
}

/* Compact UI controls should stay readable without becoming heavy. */
.mobile-menu a:last-child,
.mobile-login,
.mobile-register{
    font-weight:720 !important;
}

@media (max-width:1199px) and (hover:none),
       (max-width:1199px) and (pointer:coarse){
    .header-login,.header-register{font-size:12.5px !important}
    .od-cinema-actions a,.brand-primary-action,.brand-cta-card>a{font-size:12.5px !important}
}

@media (max-width:767px) and (hover:none),
       (max-width:767px) and (pointer:coarse){
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"]{
        letter-spacing:-.02em !important;
    }
    .od-cinema-actions a{
        min-height:48px;
        padding-left:14px;
        padding-right:14px;
        font-size:11.5px !important;
    }
    .brand-primary-action,.brand-cta-card>a{
        min-height:50px;
        font-size:12px !important;
    }
}

/* === Live complex notice === */
.live-complex-notice{position:fixed;right:24px;bottom:96px;z-index:90;width:min(380px,calc(100vw - 48px));border:1px solid rgba(15,23,42,.12);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 18px 50px rgba(15,23,42,.2);overflow:hidden;backdrop-filter:blur(12px);transition:box-shadow .18s ease}.live-complex-notice__launcher{display:none}.live-complex-notice__header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:52px;padding:0 10px 0 15px;background:#0f172a;color:#fff}.live-complex-notice__drag-handle{display:flex;align-items:center;gap:9px;min-width:0;min-height:52px;font:inherit;font-weight:800;cursor:default;user-select:none;touch-action:auto}.live-complex-notice__toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:0 5px 0 8px;border:0;border-radius:8px;background:transparent;color:#fff;font:inherit;cursor:pointer}.live-complex-notice__toggle:hover{background:rgba(255,255,255,.08)}.live-complex-notice__bell{width:9px;height:9px;border-radius:50%;font-size:0;background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.16);flex:0 0 9px}.live-complex-notice__toggle-text{font-size:12px;color:#cbd5e1;font-weight:700;letter-spacing:-.01em}.live-complex-notice__chevron{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#fff;line-height:1;flex-shrink:0;transition:transform .2s ease}.live-complex-notice__chevron svg{display:block;width:16px;height:16px}.live-complex-notice__body{max-height:min(60vh,520px);padding:17px 18px 16px;overflow:auto;overscroll-behavior:contain}.live-complex-notice__body-inner{position:relative}.live-complex-notice__title{display:block;margin-bottom:10px;font-size:17px;color:#0f172a}.live-complex-notice__content{font-size:14px;line-height:1.75;color:#334155;overflow-wrap:anywhere}.live-complex-notice__content>:first-child{margin-top:0}.live-complex-notice__content>:last-child{margin-bottom:0}.live-complex-notice__content a{color:#1d4ed8;text-decoration:underline}.live-complex-notice__content img[data-notice-image-id]{display:block;height:auto;max-width:100%;margin-top:12px;margin-bottom:12px;border-radius:10px}.live-complex-notice__content img[data-notice-size="small"]{width:30%}.live-complex-notice__content img[data-notice-size="medium"]{width:55%}.live-complex-notice__content img[data-notice-size="large"]{width:80%}.live-complex-notice__content img[data-notice-size="full"]{width:100%}.live-complex-notice__content img[data-notice-align="left"]{margin-left:0;margin-right:auto}.live-complex-notice__content img[data-notice-align="center"]{margin-left:auto;margin-right:auto}.live-complex-notice__content img[data-notice-align="right"]{margin-left:auto;margin-right:0}.live-complex-notice__image-link{display:block;margin-top:14px;border-radius:10px;overflow:hidden}.live-complex-notice__image-link img{display:block;width:100%;max-height:260px;object-fit:contain;background:#f8fafc}.live-complex-notice__file{display:block;margin-top:14px;padding:11px 12px;border-radius:9px;background:#f1f5f9;color:#0f172a;text-decoration:none;font-size:13px;font-weight:800;overflow-wrap:anywhere}.live-complex-notice__updated{display:block;margin-top:13px;color:#94a3b8;font-size:11px}.live-complex-notice__more{display:none}.live-complex-notice.is-collapsed{width:230px}.live-complex-notice.is-collapsed .live-complex-notice__body{display:none}.live-complex-notice.is-collapsed .live-complex-notice__chevron{transform:rotate(180deg)}
.complex-contact-float{position:fixed;right:22px;top:50%;z-index:88;display:flex;flex-direction:column;align-items:stretch;gap:8px;transform:translateY(-50%);font-family:inherit}.complex-contact-float__actions{display:flex;flex-direction:column;gap:8px}.complex-contact-action{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-width:154px;min-height:48px;padding:6px 12px 6px 8px;border:1px solid rgba(15,23,42,.1);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(15,23,42,.12);color:#0f172a;text-decoration:none;font-size:12px;font-weight:800;backdrop-filter:blur(12px);transition:transform .18s ease,box-shadow .18s ease}.complex-contact-action:hover{transform:translateX(-2px);box-shadow:0 14px 34px rgba(15,23,42,.17)}.complex-contact-action svg{width:21px;height:21px;justify-self:center}.complex-contact-action.is-kakao svg{fill:#111827}.complex-contact-action.is-phone{display:none}.complex-contact-float__launcher{display:none}.complex-contact-float__phone{padding:9px 12px 10px;border:1px solid rgba(15,23,42,.1);border-radius:13px;background:#0f172a;color:#fff;box-shadow:0 10px 28px rgba(15,23,42,.15)}.complex-contact-float__phone span{display:block;color:#94a3b8;font-size:10px;font-weight:800;letter-spacing:.04em}.complex-contact-float__phone strong{display:block;margin-top:3px;font-size:13px;letter-spacing:.01em}
@media(max-width:640px){.live-complex-notice{right:14px;bottom:calc(88px + env(safe-area-inset-bottom));left:14px;width:auto;border-radius:16px}.live-complex-notice.is-collapsed{right:0;bottom:0;left:auto;width:0;height:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;backdrop-filter:none}.live-complex-notice.is-collapsed .live-complex-notice__header,.live-complex-notice.is-collapsed .live-complex-notice__body{display:none}.live-complex-notice__launcher{position:fixed;right:18px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:92;display:none;align-items:center;justify-content:center;width:54px;height:54px;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:linear-gradient(145deg,#111827,#0f172a);color:#fff;box-shadow:0 12px 32px rgba(15,23,42,.28),inset 0 1px 0 rgba(255,255,255,.08);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.live-complex-notice.is-collapsed .live-complex-notice__launcher{display:inline-flex}.live-complex-notice__launcher:active{transform:scale(.96);box-shadow:0 8px 22px rgba(15,23,42,.24)}.live-complex-notice__launcher svg{width:24px;height:24px}.live-complex-notice__launcher-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.16)}.live-complex-notice__header{min-height:50px;padding:0 9px 0 14px}.live-complex-notice__drag-handle{min-height:50px;cursor:default;touch-action:auto}.live-complex-notice__toggle{min-height:34px}.live-complex-notice__body{position:relative;max-height:none;padding:14px 16px 12px;overflow:hidden}.live-complex-notice.is-mobile-summary .live-complex-notice__body-inner{max-height:248px;overflow:hidden}.live-complex-notice.is-mobile-summary .live-complex-notice__body-inner:after{content:'';position:absolute;right:0;bottom:0;left:0;height:72px;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.98) 78%);pointer-events:none}.live-complex-notice__content{font-size:13px}.live-complex-notice__title{font-size:16px;margin-bottom:8px}.live-complex-notice__content img[data-notice-image-id]{max-height:190px;object-fit:cover}.live-complex-notice__content img[data-notice-size="small"]{width:45%}.live-complex-notice__content img[data-notice-size="medium"]{width:70%}.live-complex-notice__content img[data-notice-size="large"]{width:92%}.live-complex-notice__content img[data-notice-size="full"]{width:100%}.live-complex-notice__image-link img{max-height:190px;object-fit:cover}.live-complex-notice__more{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:38px;margin-top:4px;border:0;background:transparent;color:#334155;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.live-complex-notice__more svg{width:15px;height:15px;transition:transform .2s ease}.live-complex-notice.is-mobile-expanded .live-complex-notice__more svg{transform:rotate(180deg)}.live-complex-notice.is-mobile-expanded .live-complex-notice__body{max-height:58vh;overflow:auto;overscroll-behavior:contain}.live-complex-notice.is-mobile-expanded .live-complex-notice__body-inner{max-height:none;overflow:visible}.live-complex-notice.is-mobile-expanded .live-complex-notice__body-inner:after{display:none}.complex-contact-float{right:18px;top:auto;bottom:calc(158px + env(safe-area-inset-bottom));z-index:91;align-items:flex-end;gap:9px;transform:none}.complex-contact-float__actions{position:absolute;right:0;bottom:64px;display:flex;flex-direction:column;align-items:flex-end;gap:9px;pointer-events:none}.complex-contact-action{grid-template-columns:46px auto;min-width:0;width:auto;min-height:48px;padding:2px 11px 2px 2px;border-color:rgba(255,255,255,.7);border-radius:16px;opacity:0;transform:translateY(8px) scale(.94);pointer-events:none;box-shadow:0 12px 30px rgba(15,23,42,.2);transition:opacity .18s ease,transform .18s ease}.complex-contact-action svg{width:21px;height:21px}.complex-contact-action span{white-space:nowrap;font-size:12px}.complex-contact-action.is-phone{display:grid}.complex-contact-float.is-open .complex-contact-float__actions{pointer-events:auto}.complex-contact-float.is-open .complex-contact-action{opacity:1;transform:none;pointer-events:auto}.complex-contact-float__launcher{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:56px;height:56px;padding:0 13px;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:linear-gradient(145deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 14px 34px rgba(37,99,235,.3),inset 0 1px 0 rgba(255,255,255,.16);font:inherit;font-size:12px;font-weight:900;cursor:pointer;-webkit-tap-highlight-color:transparent}.complex-contact-float__launcher svg{width:23px;height:23px}.complex-contact-float__launcher .launcher-close{display:none}.complex-contact-float.is-open .complex-contact-float__launcher .launcher-chat{display:none}.complex-contact-float.is-open .complex-contact-float__launcher .launcher-close{display:block}.complex-contact-float__phone{display:none}}

/* === Mobile contact/dock polish === */
@media (max-width:640px){
  :root{--od-mobile-accent:#d2a61a;--od-mobile-accent-deep:#b98c08;--od-mobile-ink:#141922}
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .office-detail-nav{display:none!important}

  .mobile-office-dock{position:fixed;left:0;right:0;bottom:0;z-index:96;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;height:70px;padding:8px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid rgba(15,23,42,.08);border-radius:24px 24px 0 0;background:rgba(255,255,255,.97);box-shadow:0 -10px 28px rgba(15,23,42,.10);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .mobile-office-dock__item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;min-width:0;height:54px;padding:0 2px 3px;border:0;background:transparent;color:#727b87;text-decoration:none;font:inherit;font-size:10px;font-weight:800;letter-spacing:-.02em;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .mobile-office-dock__item>svg{width:22px;height:22px;transition:color .18s ease,transform .18s ease}
  .mobile-office-dock__item.is-active{color:var(--od-mobile-ink)}
  .mobile-office-dock__item.is-active>svg{color:var(--od-mobile-accent-deep);transform:translateY(-1px)}
  .mobile-office-dock__consult{justify-content:flex-end;overflow:visible;color:var(--od-mobile-ink)}
  .mobile-office-dock__consult-icon{position:absolute;left:50%;bottom:18px;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.88);border-radius:19px;background:linear-gradient(145deg,#ead463,#d9b834);color:#2e2713;box-shadow:0 8px 18px rgba(173,128,0,.18),inset 0 1px 0 rgba(255,255,255,.5);transform:translateX(-50%);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
  .mobile-office-dock__consult-icon svg{width:26px;height:26px}
  .mobile-office-dock__live>span:last-child{font-weight:900;color:#5a4d24;transition:color .18s ease}
  .mobile-office-dock__live.is-open .mobile-office-dock__consult-icon{background:linear-gradient(145deg,#d2a61a,#b98c08);color:#17140b;box-shadow:0 10px 24px rgba(151,111,0,.28),inset 0 1px 0 rgba(255,255,255,.28);transform:translateX(-50%) translateY(-1px)}
  .mobile-office-dock__live.is-open>span:last-child{color:#302813}
  .mobile-office-dock__live-dot{position:absolute;right:8px;top:7px;width:7px;height:7px;border-radius:50%;background:#e64a45;box-shadow:0 0 0 3px rgba(230,74,69,.15)}
  .mobile-office-dock__live-dot:after{content:'';position:absolute;inset:-4px;border:1px solid rgba(230,74,69,.38);border-radius:50%;animation:od-live-pulse 1.8s ease-out infinite}
  @keyframes od-live-pulse{0%{transform:scale(.7);opacity:.9}70%,100%{transform:scale(1.7);opacity:0}}
  @media (prefers-reduced-motion:reduce){.mobile-office-dock__live-dot:after{animation:none}}

  .complex-contact-float{position:fixed;right:auto;left:50%;top:auto;bottom:calc(86px + env(safe-area-inset-bottom));z-index:95;display:block;width:auto;transform:translateX(-50%);pointer-events:none}
  .complex-contact-float__launcher,.complex-contact-float__phone{display:none!important}
  .complex-contact-float__actions{position:static;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;padding:9px 11px;border:1px solid rgba(15,23,42,.08);border-radius:19px;background:rgba(255,255,255,.98);box-shadow:0 14px 34px rgba(15,23,42,.16);opacity:0;transform:translateY(10px) scale(.96);pointer-events:none;transition:opacity .18s ease,transform .18s ease;backdrop-filter:blur(16px)}
  .complex-contact-float.is-open{pointer-events:auto}
  .complex-contact-float.is-open .complex-contact-float__actions{opacity:1;transform:none;pointer-events:auto}
  .complex-contact-action{display:flex!important;align-items:center;justify-content:center;width:46px;height:46px;min-width:46px;min-height:46px;padding:0;border:1px solid rgba(15,23,42,.08);border-radius:15px;background:#f7f8fa;box-shadow:none;color:#28313c;text-decoration:none;opacity:1;transform:none;pointer-events:auto}
  .complex-contact-action span{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
  .complex-contact-action svg{width:21px;height:21px}
  .complex-contact-action.is-kakao{background:#e5c43c;color:#28200a;border-color:rgba(40,32,10,.08)}
  .complex-contact-action.is-kakao svg{fill:currentColor}.complex-contact-action.is-kakao svg circle{fill:#e5c43c}
  .complex-contact-action.is-online{background:#eef0f3;color:#303846}
  .complex-contact-action.is-phone{background:#e8ece8;color:#345a4c}

  .live-complex-notice__launcher{display:none!important}
  .live-complex-notice{bottom:calc(86px + env(safe-area-inset-bottom));z-index:98}
  .live-complex-notice.is-collapsed{display:none}

  .mobile-office-more[hidden]{display:none!important}
  .mobile-office-more{position:fixed;inset:0;z-index:99;display:block}
  .mobile-office-more__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(15,23,42,.30);backdrop-filter:blur(2px);transition:opacity .2s ease}
  .mobile-office-more__sheet{position:absolute;right:0;bottom:0;left:0;padding:8px 14px calc(92px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -18px 44px rgba(15,23,42,.16);transform:translateY(0);transition:transform .22s cubic-bezier(.22,.7,.28,1);will-change:transform;touch-action:pan-y}
  .mobile-office-more.is-dragging .mobile-office-more__sheet{transition:none}
  .mobile-office-more.is-dragging .mobile-office-more__backdrop{transition:none}
  .mobile-office-more__handle{display:flex;align-items:center;justify-content:center;width:64px;height:22px;margin:-2px auto 4px;padding:0;border:0;background:transparent;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}
  .mobile-office-more__handle span{display:block;width:34px;height:4px;border-radius:999px;background:#d8dce2}
  .mobile-office-more__sheet>strong{display:block;margin-bottom:14px;color:var(--od-mobile-ink);font-size:15px}
  .mobile-office-more__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
  .mobile-office-more__grid>a,.mobile-office-more__grid>button{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;padding:0;border:0;background:transparent;color:#414a56;text-decoration:none;font:inherit;font-size:9.5px;font-weight:800;cursor:pointer}
  .mobile-office-more__grid span{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:#f3f4f6;color:#35404d}
  .mobile-office-more__grid svg{width:21px;height:21px}
  .mobile-office-more__grid b{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}

  .site-footer{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
}

@media (min-width:641px){.mobile-office-dock,.mobile-office-more{display:none!important}}

/* Footer end-of-page gap fix */
@media(max-width:820px){
  /*
   * The footer already reserves space for the fixed mobile dock.
   * A second body padding creates a white strip after the footer.
   */
  body{
    padding-bottom:0;
  }
}
