/* webpage_estimate_001.css
   Webpage skin dedicated style.
   PC base styles first, mobile overrides are separated with media queries below.
*/

.estimate-page-001{max-width:1180px;margin:0 auto;padding:70px 20px 90px;color:#1f2937;font-family:inherit}.estimate-page-001 *{box-sizing:border-box}.estimate-hero{padding:54px 42px;border-radius:26px;background:linear-gradient(135deg,#f8fbff 0%,#eef7f5 100%);border:1px solid #e6edf0;box-shadow:0 18px 50px rgba(15,40,70,.08)}.estimate-eyebrow{font-size:13px;letter-spacing:.22em;font-weight:800;color:#25866f;text-transform:uppercase;margin-bottom:14px}.estimate-hero h1{margin:0 0 14px;font-size:42px;line-height:1.22;color:#15283b;font-weight:800}.estimate-hero p{margin:0;font-size:17px;line-height:1.75;color:#526071}.estimate-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;margin-top:34px}.estimate-card{background:#fff;border:1px solid #e8edf1;border-radius:22px;box-shadow:0 16px 45px rgba(18,45,70,.08);padding:34px}.estimate-card h2{margin:0 0 20px;font-size:24px;color:#17293d}.estimate-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.estimate-field{margin-bottom:16px}.estimate-field.full{grid-column:1/-1}.estimate-field label{display:block;margin-bottom:8px;font-size:14px;font-weight:700;color:#23364a}.estimate-field input,.estimate-field select,.estimate-field textarea{width:100%;height:48px;border:1px solid #d9e2e8;border-radius:12px;background:#fbfdff;padding:0 14px;font-size:15px;color:#1f2937;outline:none;transition:.2s}.estimate-field textarea{height:138px;padding:14px;resize:vertical;line-height:1.6}.estimate-field input:focus,.estimate-field select:focus,.estimate-field textarea:focus{border-color:#2aa889;background:#fff;box-shadow:0 0 0 4px rgba(42,168,137,.12)}.estimate-privacy{margin:6px 0 20px;font-size:13px;color:#566575;line-height:1.6}.estimate-privacy-title{display:inline-block;margin-bottom:6px;padding:2px 7px;background:#4c3bd7;color:#fff;font-size:13px;font-weight:800;line-height:1.25}.estimate-privacy-title .req{color:#ff3b30;margin-left:3px}.estimate-privacy-scroll{height:160px;overflow-y:auto;border:1px solid #ddd;background:#fff;padding:10px;margin-bottom:10px;color:#222;font-size:13px;line-height:1.65}.estimate-privacy-scroll p{margin:0}.estimate-privacy-check{display:flex;align-items:center;gap:8px;color:#333;font-size:13px;line-height:1.45}.estimate-privacy-check input{width:18px;height:18px;margin:0;flex:0 0 auto}.estimate-date-picker-wrap{position:relative;width:100%;height:48px;border:1px solid #d9e2e8;border-radius:12px;background:#fbfdff;cursor:pointer;transition:.2s}.estimate-date-picker-wrap:hover{border-color:#2aa889;background:#fff}.estimate-date-picker-wrap:focus-within{border-color:#2aa889;background:#fff;box-shadow:0 0 0 4px rgba(42,168,137,.12)}.estimate-date-picker-wrap input{width:100%;height:46px;border:0!important;background:transparent!important;box-shadow:none!important;padding:0 52px 0 14px;cursor:pointer}.estimate-date-picker-icon{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:9px;background:linear-gradient(135deg,#e7f7f3,#d7efe9);display:flex;align-items:center;justify-content:center;color:#1f7f6d;pointer-events:none}.estimate-date-picker-icon svg{width:17px;height:17px}#ui-datepicker-div{z-index:100000!important}.estimate-calendar-ui,.estimate-calendar-ui *{box-sizing:border-box!important}.estimate-calendar-ui{width:286px!important;font-size:14px!important;padding:8px!important;border-radius:15px!important;box-shadow:0 18px 45px rgba(15,40,70,.22)!important;border:1px solid #d9e2e8!important;background:#fff!important;z-index:100000!important}.estimate-calendar-ui .ui-datepicker-header{padding:8px 0!important;border-radius:11px!important;background:#1f7f6d!important;border:0!important;color:#fff!important}.estimate-calendar-ui .ui-datepicker-title{font-size:16px!important;font-weight:800!important}.estimate-calendar-ui .ui-datepicker-calendar{width:100%!important;margin:8px 0 0!important}.estimate-calendar-ui .ui-datepicker-calendar th{padding:6px 0!important;font-size:13px!important}.estimate-calendar-ui .ui-datepicker-calendar td{padding:3px!important}.estimate-calendar-ui .ui-datepicker-calendar td a,.estimate-calendar-ui .ui-datepicker-calendar td span{display:block!important;width:34px!important;height:34px!important;line-height:32px!important;padding:0!important;text-align:center!important;border-radius:8px!important}.estimate-calendar-ui .ui-state-active{background:#1f7f6d!important;border-color:#1f7f6d!important;color:#fff!important}.estimate-submit{width:100%;height:54px;border:0;border-radius:14px;background:#1f7f6d;color:#fff;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 12px 24px rgba(31,127,109,.24);transition:.2s}.estimate-submit:hover{transform:translateY(-1px);background:#176d5d}.estimate-info{display:flex;flex-direction:column;gap:18px}.estimate-info-box{background:#fff;border:1px solid #e8edf1;border-radius:22px;padding:28px;box-shadow:0 12px 36px rgba(18,45,70,.07)}.estimate-info-box strong{display:block;margin-bottom:8px;font-size:18px;color:#17293d}.estimate-info-box p{margin:0;color:#586677;line-height:1.7}.estimate-hours-box{position:relative;overflow:hidden;background:linear-gradient(135deg,#ffffff 0%,#f1faf7 100%);border:1px solid #d9eee8!important;box-shadow:0 16px 42px rgba(31,127,109,.10)}.estimate-hours-box:before{content:"";position:absolute;right:-42px;top:-42px;width:122px;height:122px;border-radius:50%;background:rgba(42,168,137,.10)}.estimate-hours-head{position:relative;display:flex;align-items:center;gap:12px;margin-bottom:16px}.estimate-hours-icon{flex:0 0 42px;width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,#1f7f6d,#2aa889);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 22px rgba(31,127,109,.22)}.estimate-hours-icon svg{width:22px;height:22px}.estimate-hours-title{display:block!important;margin:0!important;font-size:19px!important;color:#17293d!important;line-height:1.25}.estimate-hours-sub{margin:3px 0 0!important;font-size:13px!important;color:#758294!important;line-height:1.35!important}.estimate-hours-list{position:relative;display:grid;gap:8px}.estimate-hours-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0!important;padding:12px 14px;border:1px solid #e6f0ed;border-radius:14px;background:rgba(255,255,255,.78);font-size:15px}.estimate-hours-line span{display:flex;align-items:center;gap:7px;font-weight:800;color:#24364a}.estimate-hours-line span:before{content:"";width:7px;height:7px;border-radius:50%;background:#2aa889}.estimate-hours-line em{font-style:normal;font-weight:900;color:#1f7f6d;letter-spacing:.01em}.estimate-hours-note{position:relative;margin:13px 0 0!important;padding:13px 15px 13px 42px!important;border-radius:15px;background:linear-gradient(135deg,#fff1f1,#fff7f7);border:1px solid #ffd4d4;color:#d92d20!important;font-size:15px!important;font-weight:900!important;line-height:1.4!important;box-shadow:0 10px 22px rgba(217,45,32,.08)}.estimate-hours-note:before{content:"!";position:absolute;left:15px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:#e53935;color:#fff;text-align:center;line-height:20px;font-size:13px;font-weight:900}.estimate-hours-note small{display:block;margin-top:2px;color:#8a4b4b;font-size:12px;font-weight:700}.estimate-call{font-size:28px!important;font-weight:900!important;color:#1f7f6d!important;line-height:1.2!important}.estimate-steps{counter-reset:step}.estimate-step{position:relative;padding-left:46px;margin-top:18px;color:#526071;line-height:1.65}.estimate-step:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:#e8f5f2;color:#1f7f6d;font-weight:900;text-align:center;line-height:30px}.estimate-address-field{position:relative}.estimate-address-row{display:block;position:relative;z-index:2}.estimate-address-row input{width:100%;cursor:pointer}.estimate-addr-detail{margin-top:8px}.estimate-postcode-layer{display:none;position:absolute;top:0;left:0;right:0;width:100%;height:370px;border:1px solid #d9e2e8;border-radius:12px;overflow:hidden;background:#fff;z-index:9999;box-shadow:0 16px 38px rgba(15,40,70,.18)}.estimate-postcode-frame{width:100%;height:100%}
/* Mobile / responsive overrides */
@media(max-width:640px){.estimate-postcode-layer{height:430px;top:0}}
/* Mobile / responsive overrides */
@media(max-width:900px){.estimate-page-001{padding:42px 15px 70px}.estimate-hero{padding:38px 24px}.estimate-hero h1{font-size:32px}.estimate-layout{grid-template-columns:1fr}.estimate-grid{grid-template-columns:1fr}.estimate-card{padding:24px}}

/* 달력 부드러운 등장 + 선택 날짜 고급 강조 */
#ui-datepicker-div {
    transform: translateX(-20px) scale(.98);
    transform-origin: top center;
    opacity: 0;
    transition: opacity .18s ease, transform .18s ease;
}

#ui-datepicker-div.estimate-calendar-open {
    opacity: 1;
    transform: translateX(-20px) scale(1);
}

.estimate-calendar-ui .ui-datepicker-current-day a,
.estimate-calendar-ui .ui-state-active {
    background: linear-gradient(135deg, #1f7f6d, #2aa88f) !important;
    border-color: #1f7f6d !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 6px 14px rgba(31,127,109,.32) !important;
}

.estimate-calendar-ui .ui-state-highlight {
    background: #fff7b8 !important;
    border-color: #eadf61 !important;
    color: #4a4a20 !important;
    font-weight: 700 !important;
}

.estimate-calendar-ui .ui-datepicker-calendar td a:hover {
    background: #e8f5f2 !important;
    border-color: #b8ded5 !important;
    color: #1f7f6d !important;
}

/* 온라인견적 상단 풀배너 + 그라데이션/블러 텍스트 + 패럴럭스 */
.estimate-hero.estimate-hero-parallax{
    position:relative;
    min-height:430px;
    padding:0;
    overflow:hidden;
    border-radius:0;
    border:0;
    box-shadow:none;
    background:none;
    isolation:isolate;
}
.estimate-hero.estimate-hero-parallax:before{
    content:"";
    position:absolute;
    inset:-34px 0;
    background-image:url('assets/online_estimate_hero.png');
    background-repeat:no-repeat;
    background-position:center calc(50% + var(--estimate-parallax-y, 0px));
    background-size:cover;
    transform:translateZ(0) scale(1.04);
    will-change:background-position;
    z-index:-2;
}
.estimate-hero.estimate-hero-parallax:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(8,33,50,.70) 0%, rgba(8,33,50,.46) 34%, rgba(8,33,50,.12) 62%, rgba(8,33,50,0) 100%);
    z-index:-1;
    pointer-events:none;
}
.estimate-hero-glass{
    position:relative;
    max-width:520px;
    margin:0;
    padding:38px 42px;
    top:50%;
    transform:translateY(-50%);
    left:54px;
    border-radius:26px;
    background:linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.10));
    border:1px solid rgba(255,255,255,.38);
    box-shadow:0 22px 54px rgba(6,26,42,.22);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
}
.estimate-hero-glass .estimate-eyebrow{
    margin-bottom:13px;
    color:#bdf8ec;
    text-shadow:0 2px 12px rgba(0,0,0,.22);
}
.estimate-hero-glass h1{
    margin:0 0 14px;
    color:#fff;
    font-size:46px;
    line-height:1.18;
    letter-spacing:-.04em;
    text-shadow:0 3px 18px rgba(0,0,0,.30);
}
.estimate-hero-glass p{
    margin:0;
    color:rgba(255,255,255,.94);
    font-size:17px;
    line-height:1.72;
    text-shadow:0 2px 12px rgba(0,0,0,.24);
}

/* Mobile / responsive overrides */
@media(max-width:900px){
    .estimate-hero.estimate-hero-parallax{min-height:330px;border-radius:22px;}
    .estimate-hero.estimate-hero-parallax:before{inset:-18px 0;background-position:center center;transform:scale(1.02);}
    .estimate-hero.estimate-hero-parallax:after{background:linear-gradient(90deg, rgba(8,33,50,.76), rgba(8,33,50,.28), rgba(8,33,50,0));}
    .estimate-hero-glass{left:22px;right:22px;max-width:calc(100% - 44px);padding:26px 24px;border-radius:20px;}
    .estimate-hero-glass h1{font-size:32px;}
    .estimate-hero-glass p{font-size:15px;}
}

/* Mobile / responsive overrides */
@media(max-width:520px){
    .estimate-hero.estimate-hero-parallax{min-height:300px;}
    .estimate-hero-glass{left:16px;max-width:calc(100% - 32px);padding:22px 20px;}
    .estimate-hero-glass h1{font-size:28px;}
}

/* 희망일정 달력 프리미엄 커스텀 UI */
#ui-datepicker-div {
    z-index: 100000 !important;
    transform: translateX(-20px) scale(.98);
    transform-origin: top center;
    opacity: 0;
    transition: opacity .18s ease, transform .18s ease;
}

#ui-datepicker-div.estimate-calendar-open {
    opacity: 1;
    transform: translateX(-20px) scale(1);
}

.estimate-calendar-ui,
#ui-datepicker-div.estimate-calendar-ui {
    width: 292px !important;
    padding: 12px !important;
    border: 1px solid rgba(31,127,109,.16) !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfa 100%) !important;
    box-shadow: 0 22px 50px rgba(24, 54, 72, .18) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.estimate-calendar-ui *,
#ui-datepicker-div.estimate-calendar-ui * {
    box-sizing: border-box !important;
}

.estimate-calendar-ui .ui-datepicker-header {
    position: relative !important;
    min-height: 54px !important;
    padding: 15px 42px !important;
    border: 0 !important;
    border-radius: 17px !important;
    background: linear-gradient(135deg, #168873 0%, #1f9d83 100%) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(31,127,109,.22) !important;
}

.estimate-calendar-ui .ui-datepicker-title {
    margin: 0 !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 24px !important;
    letter-spacing: -0.03em !important;
    text-align: center !important;
}

.estimate-calendar-ui .ui-datepicker-prev,
.estimate-calendar-ui .ui-datepicker-next {
    position: absolute !important;
    top: 50% !important;
    width: 28px !important;
    height: 28px !important;
    margin-top: -14px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.16) !important;
    cursor: pointer !important;
}

.estimate-calendar-ui .ui-datepicker-prev {
    left: 12px !important;
}

.estimate-calendar-ui .ui-datepicker-next {
    right: 12px !important;
}

.estimate-calendar-ui .ui-datepicker-prev:hover,
.estimate-calendar-ui .ui-datepicker-next:hover {
    background: rgba(255,255,255,.28) !important;
}

.estimate-calendar-ui .ui-datepicker-prev span,
.estimate-calendar-ui .ui-datepicker-next span {
    display: none !important;
}

.estimate-calendar-ui .ui-datepicker-prev:before,
.estimate-calendar-ui .ui-datepicker-next:before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 8px !important;
    height: 8px !important;
    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important;
}

.estimate-calendar-ui .ui-datepicker-prev:before {
    transform: translate(-35%, -50%) rotate(-135deg) !important;
}

.estimate-calendar-ui .ui-datepicker-next:before {
    transform: translate(-65%, -50%) rotate(45deg) !important;
}

.estimate-calendar-ui .ui-datepicker-calendar {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin: 12px 0 0 !important;
}

.estimate-calendar-ui .ui-datepicker-calendar th {
    padding: 4px 0 10px !important;
    color: #263846 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-align: center !important;
}

.estimate-calendar-ui .ui-datepicker-calendar td {
    width: 14.285% !important;
    padding: 3px !important;
    text-align: center !important;
}

.estimate-calendar-ui .ui-datepicker-calendar td a,
.estimate-calendar-ui .ui-datepicker-calendar td span {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 1px solid #e6edf1 !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #3d4a57 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 32px !important;
    text-align: center !important;
    transition: background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease !important;
}

.estimate-calendar-ui .ui-datepicker-calendar td a:hover {
    background: #eaf8f4 !important;
    border-color: #a9ded1 !important;
    color: #168873 !important;
    box-shadow: 0 6px 14px rgba(31,127,109,.14) !important;
    transform: translateY(-1px) !important;
}

.estimate-calendar-ui .ui-datepicker-unselectable span {
    background: #f6f8f9 !important;
    border-color: #edf1f3 !important;
    color: #c5cdd3 !important;
    box-shadow: none !important;
}

.estimate-calendar-ui .ui-state-highlight,
.estimate-calendar-ui .ui-datepicker-today a {
    background: linear-gradient(135deg, #fff8a8 0%, #fff06f 100%) !important;
    border-color: #e5d957 !important;
    color: #4c4a1e !important;
    font-weight: 900 !important;
    box-shadow: 0 8px 16px rgba(226, 206, 46, .22) !important;
}

.estimate-calendar-ui .ui-datepicker-current-day a,
.estimate-calendar-ui .ui-state-active {
    background: linear-gradient(135deg, #168873 0%, #26ad92 100%) !important;
    border-color: #168873 !important;
    color: #fff !important;
    font-weight: 900 !important;
    box-shadow: 0 9px 18px rgba(31,127,109,.35) !important;
}

.estimate-calendar-ui .ui-datepicker-week-end:first-child a,
.estimate-calendar-ui .ui-datepicker-week-end:first-child span {
    color: #d45d5d !important;
}

.estimate-calendar-ui .ui-datepicker-week-end:last-child a,
.estimate-calendar-ui .ui-datepicker-week-end:last-child span {
    color: #3576bd !important;
}

.estimate-calendar-ui .ui-datepicker-current-day a,
.estimate-calendar-ui .ui-datepicker-current-day a:hover {
    color: #fff !important;
}

/* 달력 다음달/이전달 이동 시 사라짐 방지 */
#ui-datepicker-div.estimate-calendar-ui {
    z-index: 100000 !important;
}
#ui-datepicker-div.estimate-calendar-ui.estimate-calendar-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.area-calc-box{margin-bottom:18px!important}
.area-calc-desc{margin:0 0 14px!important;color:#586677!important;line-height:1.6!important}
.area-calc-row{display:flex!important;align-items:center!important;gap:10px!important}
.area-calc-row input{width:100%!important;height:46px!important;border:1px solid #d8e3ea!important;border-radius:12px!important;background:#fff!important;padding:0 14px!important;font-size:14px!important;color:#17293d!important;box-shadow:none!important}
.area-calc-row input[readonly]{background:#f7fbfa!important}
.area-equal{flex:0 0 auto!important;font-size:17px!important;font-weight:900!important;color:#1f7f6d!important}

/* Mobile / responsive overrides */
@media (max-width:640px){.area-calc-row{gap:7px!important}.area-calc-row input{font-size:13px!important;padding:0 10px!important}}

.area-calc-box{margin-bottom:18px!important}
.area-calc-desc{margin:0 0 14px!important;color:#586677!important;line-height:1.6!important}
.area-calc-row{
  display:grid!important;
  grid-template-columns:1fr 34px 1fr!important;
  align-items:center!important;
  gap:10px!important;
}
.area-calc-row input{
  width:100%!important;
  height:46px!important;
  min-width:0!important;
  border:1px solid #d8e3ea!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:0 14px!important;
  font-size:14px!important;
  color:#17293d!important;
  box-shadow:none!important;
  outline:none!important;
}
.area-calc-row input:focus{
  border-color:#1f9d83!important;
  box-shadow:0 0 0 4px rgba(31,127,109,.12)!important;
}
.area-equal{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:46px!important;
  font-size:18px!important;
  font-weight:900!important;
  color:#1f7f6d!important;
}

/* Mobile / responsive overrides */
@media (max-width:640px){
  .area-calc-row{grid-template-columns:1fr!important;gap:8px!important}
  .area-equal{width:100%!important;height:18px!important}
}

.estimate-photo-field{margin-top:2px!important}
.estimate-photo-upload{border:1px dashed #cfe0e7;border-radius:16px;background:#fbfdff;padding:16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.estimate-photo-btn{display:inline-flex!important;align-items:center;justify-content:center;margin:0!important;padding:0!important}
.estimate-photo-btn input{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.estimate-photo-btn span{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 18px;border-radius:12px;background:#1f7f6d;color:#fff;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(31,127,109,.18)}
.estimate-photo-btn span:hover{background:#176d5d}
.estimate-photo-upload p{margin:0!important;color:#6b7785;font-size:13px;line-height:1.55}

/* 현장사진 업로드 UI 보정 */
.estimate-photo-field .estimate-photo-upload{
  border:1px dashed #cfe0e7!important;
  border-radius:16px!important;
  background:#fbfdff!important;
  padding:16px!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  flex-wrap:wrap!important;
}
.estimate-photo-field input[type="file"]{
  position:absolute!important;
  left:-9999px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
}
.estimate-photo-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  cursor:pointer!important;
}
.estimate-photo-btn span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:42px!important;
  padding:0 18px!important;
  border-radius:12px!important;
  background:#1f7f6d!important;
  color:#fff!important;
  font-weight:800!important;
  box-shadow:0 8px 18px rgba(31,127,109,.18)!important;
}
.estimate-photo-upload p{
  margin:0!important;
  color:#6b7785!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.estimate-photo-selected{
  flex:0 0 100%!important;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  margin-top:4px!important;
}
.estimate-photo-selected-item{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:34px!important;
  padding:8px 10px!important;
  border:1px solid #e3ecef!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#25384a!important;
  font-size:13px!important;
}
.estimate-photo-selected-item:before{
  content:"";
  width:8px!important;
  height:8px!important;
  border-radius:50%!important;
  background:#1f7f6d!important;
  flex:0 0 auto!important;
}

.estimate-photo-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.photo-name{
  font-size:13px;
  color:#333;
}
/* =========================================================
   온라인견적 히어로 - 홈클리닝형 전체폭 보정
   - 좌우 여백 제거
   - 이미지 확대/줌 제거
   - 사진 높이만 낮춰 과하게 크게 보이는 문제 보정
   - 하단 견적 폼 영역은 기존 폭 유지
========================================================= */
.estimate-page-001{
    max-width:none!important;
    width:100%!important;
    margin:0!important;
    padding:0 0 90px!important;
    overflow:hidden!important;
}

.estimate-page-001 .estimate-layout{
    max-width:1180px!important;
    width:100%!important;
    margin:34px auto 0!important;
    padding:0 20px!important;
}

.estimate-page-001 .estimate-hero.estimate-hero-parallax{
    width:100vw!important;
    max-width:none!important;
    height:clamp(360px, 30vw, 520px)!important;
    min-height:0!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    border-radius:0!important;
    overflow:hidden!important;
    padding:0!important;
    box-shadow:none!important;
    background:#f4f8fb!important;
}

.estimate-page-001 .estimate-hero.estimate-hero-parallax:before{
    inset:0!important;
    background-image:url('assets/online_estimate_hero.png')!important;
    background-repeat:no-repeat!important;
    background-position:center center!important;
    background-size:100% auto!important;
    transform:none!important;
    filter:none!important;
}

.estimate-page-001 .estimate-hero.estimate-hero-parallax:after{
    background:linear-gradient(90deg, rgba(8,33,50,.58) 0%, rgba(8,33,50,.32) 34%, rgba(8,33,50,.10) 62%, rgba(8,33,50,0) 100%)!important;
}

.estimate-page-001 .estimate-hero-glass{
    left:calc((100vw - min(1180px, 100vw)) / 2 + 44px)!important;
    max-width:520px!important;
}

@media(max-width:900px){
    .estimate-page-001{
        padding:0 0 70px!important;
    }
    .estimate-page-001 .estimate-layout{
        padding:0 15px!important;
    }
    .estimate-page-001 .estimate-hero.estimate-hero-parallax{
        height:clamp(280px, 48vw, 390px)!important;
        border-radius:0!important;
    }
    .estimate-page-001 .estimate-hero.estimate-hero-parallax:before{
        background-size:auto 100%!important;
        background-position:center center!important;
    }
    .estimate-page-001 .estimate-hero-glass{
        left:22px!important;
        right:22px!important;
        max-width:calc(100% - 44px)!important;
    }
}

@media(max-width:520px){
    .estimate-page-001 .estimate-hero.estimate-hero-parallax{
        height:300px!important;
    }
    .estimate-page-001 .estimate-hero.estimate-hero-parallax:before{
        background-size:auto 100%!important;
        background-position:center center!important;
    }
    .estimate-page-001 .estimate-hero-glass{
        left:16px!important;
        right:16px!important;
        max-width:calc(100% - 32px)!important;
    }
}


/* =========================================================
   온라인 견적 히어로 최종 고급형
   - PC 크게
   - 모바일 적당 자동 비율
   - 좌우는 꽉 채우고, 실제 이미지는 전체 노출
   ========================================================= */

/* 히어로 높이: PC에서 크게 */
.estimate-hero.estimate-hero-parallax{
    position:relative !important;
    min-height: clamp(560px, 42vw, 760px) !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#eef3f6 !important;
    isolation:isolate !important;
}

/* 배경 레이어: 좌우 빈 공간을 자연스럽게 채우는 블러 커버 */
.estimate-hero.estimate-hero-parallax:before{
    content:"" !important;
    position:absolute !important;
    inset:-30px !important;
    background-image:url('assets/online_estimate_hero.png') !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-size:cover !important;
    filter:blur(18px) brightness(.96) saturate(.98) !important;
    transform:scale(1.06) !important;
    z-index:-2 !important;
    opacity:.9 !important;
}

/* 실제 이미지 레이어: 잘리지 않게 전체 노출 */
.estimate-hero.estimate-hero-parallax:after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background-image:url('assets/online_estimate_hero.png') !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-size:contain !important;
    transform:none !important;
    z-index:-1 !important;
    pointer-events:none !important;
}

/* 혹시 남아있을 텍스트 박스 강제 숨김 */
.estimate-hero.estimate-hero-parallax .estimate-hero-glass{
    display:none !important;
}

/* 태블릿 */
@media (max-width:1024px){
    .estimate-hero.estimate-hero-parallax{
        min-height: clamp(420px, 56vw, 620px) !important;
    }
}

/* 모바일: 너무 길어지지 않게 자동 비율 */
@media (max-width:768px){
    .estimate-hero.estimate-hero-parallax{
        min-height: clamp(280px, 64vw, 430px) !important;
    }
    .estimate-hero.estimate-hero-parallax:before{
        filter:blur(14px) brightness(.96) !important;
        transform:scale(1.08) !important;
    }
    .estimate-hero.estimate-hero-parallax:after{
        background-size:contain !important;
        background-position:center center !important;
    }
}

/* 작은 모바일 */
@media (max-width:480px){
    .estimate-hero.estimate-hero-parallax{
        min-height: clamp(230px, 70vw, 340px) !important;
    }
}


/* =========================================================
   온라인 견적 히어로 텍스트 애니메이션
   - 오피스클리닝처럼 왼쪽에서 천천히 스르륵 등장
   - 이미지 구조는 유지
   ========================================================= */

/* 이전 패치에서 숨긴 텍스트 박스 다시 표시 */
.estimate-hero.estimate-hero-parallax .estimate-hero-glass.estimate-hero-animated-copy{
    display:block !important;
    position:relative !important;
    max-width:520px !important;
    margin:0 !important;
    padding:38px 42px !important;
    top:50% !important;
    left:54px !important;
    transform:translateY(-50%) !important;
    border-radius:26px !important;
    background:linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.10)) !important;
    border:1px solid rgba(255,255,255,.38) !important;
    box-shadow:0 22px 54px rgba(6,26,42,.22) !important;
    backdrop-filter:blur(9px) !important;
    -webkit-backdrop-filter:blur(9px) !important;
    animation:estimateHeroSlideIn 2.2s cubic-bezier(0.22,1,0.36,1) both !important;
    will-change:transform, opacity, filter !important;
    z-index:3 !important;
}

/* 텍스트 색상 */
.estimate-hero.estimate-hero-parallax .estimate-hero-animated-copy .estimate-eyebrow{
    margin-bottom:13px !important;
    color:#bdf8ec !important;
    text-shadow:0 2px 12px rgba(0,0,0,.22) !important;
}

.estimate-hero.estimate-hero-parallax .estimate-hero-animated-copy h1{
    margin:0 0 14px !important;
    font-size:42px !important;
    line-height:1.22 !important;
    color:#fff !important;
    font-weight:800 !important;
    text-shadow:0 3px 18px rgba(0,0,0,.28) !important;
}

.estimate-hero.estimate-hero-parallax .estimate-hero-animated-copy p{
    margin:0 !important;
    font-size:17px !important;
    line-height:1.75 !important;
    color:rgba(255,255,255,.92) !important;
    text-shadow:0 2px 12px rgba(0,0,0,.24) !important;
}

/* 오피스클리닝 스타일: 왼쪽에서 스르륵 */
@keyframes estimateHeroSlideIn{
    0%{
        opacity:0;
        transform:translateY(-50%) translateX(-120px);
        filter:blur(8px);
    }
    100%{
        opacity:1;
        transform:translateY(-50%) translateX(0);
        filter:blur(0);
    }
}

/* 모바일 최적화 */
@media (max-width:768px){
    .estimate-hero.estimate-hero-parallax .estimate-hero-glass.estimate-hero-animated-copy{
        max-width:calc(100% - 32px) !important;
        left:16px !important;
        top:50% !important;
        padding:26px 24px !important;
        border-radius:20px !important;
    }

    .estimate-hero.estimate-hero-parallax .estimate-hero-animated-copy h1{
        font-size:30px !important;
    }

    .estimate-hero.estimate-hero-parallax .estimate-hero-animated-copy p{
        font-size:15px !important;
        line-height:1.65 !important;
    }
}


/* =========================================================
   온라인 견적 히어로 텍스트만 출력
   - 글씨 뒤 모자이크/유리박스 제거
   - 텍스트만 왼쪽에서 스르륵 등장
   ========================================================= */

.estimate-hero.estimate-hero-parallax .estimate-hero-glass.estimate-hero-animated-copy{
    display:block !important;
    position:relative !important;
    max-width:620px !important;
    top:50% !important;
    left:70px !important;
    padding:0 !important;
    margin:0 !important;

    /* 모자이크/박스 효과 완전 제거 */
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-radius:0 !important;

    transform:translateY(-50%) !important;
    animation:estimateHeroTextOnlySlideIn 2.2s cubic-bezier(0.22,1,0.36,1) both !important;
    z-index:5 !important;
}

.estimate-hero.estimate-hero-parallax .estimate-hero-animated-copy .estimate-eyebrow{
    color:#bdf8ec !important;
    font-size:13px !important;
    letter-spacing:.22em !important;
    font-weight:800 !important;
    margin-bottom:14px !important;
    text-shadow:0 3px 16px rgba(0,0,0,.45) !important;
}

.estimate-hero.estimate-hero-parallax .estimate-hero-animated-copy h1{
    color:#fff !important;
    font-size:46px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    margin:0 0 14px !important;
    text-shadow:0 4px 22px rgba(0,0,0,.46) !important;
}

.estimate-hero.estimate-hero-parallax .estimate-hero-animated-copy p{
    color:rgba(255,255,255,.94) !important;
    font-size:18px !important;
    line-height:1.75 !important;
    margin:0 !important;
    text-shadow:0 3px 16px rgba(0,0,0,.42) !important;
}

/* 왼쪽에서 천천히 등장 */
@keyframes estimateHeroTextOnlySlideIn{
    0%{
        opacity:0;
        transform:translateY(-50%) translateX(-130px);
        filter:blur(8px);
    }
    100%{
        opacity:1;
        transform:translateY(-50%) translateX(0);
        filter:blur(0);
    }
}

@media (max-width:768px){
    .estimate-hero.estimate-hero-parallax .estimate-hero-glass.estimate-hero-animated-copy{
        left:24px !important;
        max-width:calc(100% - 48px) !important;
    }
    .estimate-hero.estimate-hero-parallax .estimate-hero-animated-copy h1{
        font-size:32px !important;
    }
    .estimate-hero.estimate-hero-parallax .estimate-hero-animated-copy p{
        font-size:15px !important;
    }
}


/* =========================================================
   온라인 견적 히어로 텍스트 복구 최종
   - /page/aircon 방식처럼 글씨만 출력
   - 유리박스/모자이크/배경박스 제거
   - 왼쪽에서 천천히 등장
   ========================================================= */

.estimate-hero.estimate-hero-parallax{
    position:relative !important;
}

/* 기존 유리박스/이전 copy 클래스 숨김 */
.estimate-hero.estimate-hero-parallax .estimate-hero-glass,
.estimate-hero.estimate-hero-parallax .estimate-hero-copy{
    display:none !important;
}

/* 새 텍스트 블록 */
.estimate-hero.estimate-hero-parallax .estimate-aircon-copy{
    display:block !important;
    visibility:visible !important;
    opacity:0;
    position:relative !important;
    z-index:20 !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:142px 24px 110px !important;
    color:#fff !important;
    transform:translateX(-120px);
    filter:blur(6px);
    animation:estimateAirconTextSlideIn 2.2s cubic-bezier(0.22, 1, 0.36, 1) forwards !important;

    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-radius:0 !important;
}

/* ONLINE ESTIMATE 뱃지 */
.estimate-hero.estimate-hero-parallax .estimate-aircon-eyebrow{
    display:inline-flex !important;
    align-items:center !important;
    padding:8px 15px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.18) !important;
    border:1px solid rgba(255,255,255,.24) !important;
    font-size:16px !important;
    font-weight:800 !important;
    letter-spacing:-.03em !important;
    color:#fff !important;
    text-shadow:0 3px 18px rgba(0,0,0,.35) !important;
}

/* 제목 */
.estimate-hero.estimate-hero-parallax .estimate-aircon-copy h1{
    display:block !important;
    visibility:visible !important;
    margin:24px 0 24px !important;
    font-size:clamp(46px,5.2vw,78px) !important;
    line-height:1.04 !important;
    font-weight:900 !important;
    letter-spacing:-.08em !important;
    color:#fff !important;
    text-shadow:0 4px 24px rgba(0,0,0,.48) !important;
}

/* 설명 */
.estimate-hero.estimate-hero-parallax .estimate-aircon-copy p{
    display:block !important;
    visibility:visible !important;
    max-width:620px !important;
    margin:0 !important;
    font-size:22px !important;
    line-height:1.72 !important;
    font-weight:700 !important;
    letter-spacing:-.045em !important;
    color:rgba(255,255,255,.94) !important;
    text-shadow:0 3px 18px rgba(0,0,0,.45) !important;
}

@keyframes estimateAirconTextSlideIn{
    to{
        opacity:1;
        transform:translateX(0);
        filter:blur(0);
    }
}

@media(max-width:768px){
    .estimate-hero.estimate-hero-parallax .estimate-aircon-copy{
        padding:96px 22px 82px !important;
        transform:translateX(-80px);
    }

    .estimate-hero.estimate-hero-parallax .estimate-aircon-eyebrow{
        font-size:13px !important;
        padding:7px 12px !important;
    }

    .estimate-hero.estimate-hero-parallax .estimate-aircon-copy h1{
        font-size:clamp(34px,10vw,48px) !important;
        margin:18px 0 18px !important;
    }

    .estimate-hero.estimate-hero-parallax .estimate-aircon-copy p{
        font-size:16px !important;
        line-height:1.65 !important;
        max-width:92% !important;
    }
}


/* =========================================================
   온라인 견적문의 제목 색상 변경
   요청 색상: 특수/오피스 페이지의 연한 민트-그린 계열
   추출값: #dffaf3
   ========================================================= */
.estimate-page-001 .estimate-hero.estimate-hero-parallax .estimate-aircon-copy h1,
.estimate-page-001 .estimate-hero.estimate-hero-parallax h1,
.estimate-hero.estimate-hero-parallax .estimate-aircon-copy h1,
.estimate-hero.estimate-hero-parallax h1{
    color:#dffaf3 !important;
    -webkit-text-fill-color:#dffaf3 !important;
    text-shadow:0 5px 24px rgba(0,0,0,.48) !important;
}
