/* 더뉴플라워 상단 전화 띠 v3 — 원래 테마(크림·버건디) 색, 번호는 누르고 싶은 버튼(26-1). 2026-10-25 */
.df-callbar { background: linear-gradient(100deg, #7b213f 0%, #5a1d33 100%); color: #fff; }
.df-cb-in { display: flex; align-items: center; gap: 16px; width: min(calc(100% - 64px), 1160px); min-height: 76px; margin-inline: auto; padding: 10px 0; }
.df-cb-msg { display: flex; flex-direction: column; gap: 2px; min-width: 0; margin: 0 auto 0 0; word-break: keep-all; }
.df-cb-msg strong { font-size: 17px; font-weight: 800; color: #fff; letter-spacing: -.01em; }
.df-cb-sub { font-size: 14px; font-weight: 600; color: #f5e7ec; }
.df-cb-btn { display: inline-flex; align-items: center; gap: 10px; flex: none; min-height: 56px; padding: 6px 22px 6px 8px; border-radius: 14px;
  background: #a01c4b; color: #fff; text-decoration: none; box-shadow: 0 6px 0 #5a1d33, 0 10px 22px -10px rgba(0, 0, 0, .55);
  transition: transform .12s, box-shadow .12s, background-color .12s; }
.df-cb-ico { width: 44px; height: 44px; border-radius: 50%; flex: none; }
.df-cb-btxt { display: flex; flex-direction: column; line-height: 1.15; }
.df-cb-btxt small { font-size: 13px; font-weight: 800; color: #ffe3ea; }
.df-cb-btxt strong { font-size: 26px; font-weight: 900; letter-spacing: -.01em; }
.df-cb-btn:hover { background: #b3205a; transform: translateY(-1px); box-shadow: 0 7px 0 #5a1d33, 0 14px 26px -10px rgba(0, 0, 0, .6); }
.df-cb-btn:active { transform: translateY(5px); box-shadow: 0 1px 0 #5a1d33, 0 4px 10px -6px rgba(0, 0, 0, .5); }
.df-cb-btn:focus-visible { outline: 3px solid #d6a45c; outline-offset: 3px; }
@media (max-width: 767px) {
  .df-cb-in { width: calc(100% - 24px); gap: 10px; min-height: 70px; padding: 8px 0 12px; }
  .df-cb-msg strong { font-size: 14px; }
  .df-cb-sub { display: none; }
  .df-cb-btn { min-height: 52px; padding: 4px 12px 4px 6px; gap: 6px; border-radius: 12px; }
  .df-cb-ico { width: 38px; height: 38px; }
  .df-cb-btxt small { font-size: 11.5px; }
  .df-cb-btxt strong { font-size: 21px; }
}
@media (max-width: 359px) {
  .df-cb-msg strong { font-size: 13px; }
  .df-cb-btxt strong { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) { .df-cb-btn { transition: none; } }

/* v4 (2026-10-26, 기준 26-2): 문구가 주인공·번호는 보조. 상단 띠 버튼 */
.df-cb-btxt small { font-size: 19px; font-weight: 800; color: #fff; }
.df-cb-btxt strong { font-size: 15px; font-weight: 600; color: #ffe3ea; letter-spacing: 0; }
@media (max-width: 767px) { .df-cb-btxt small { font-size: 16px; } .df-cb-btxt strong { font-size: 13px; } }

/* 헤더·푸터·모바일 바·하단 상담·옆 칸·주문 구역 전화 버튼 */
.header-phone strong { font-size: 19px !important; font-weight: 800 !important; letter-spacing: -.01em; }
.header-phone small { font-size: 14px !important; font-weight: 600 !important; opacity: .92; }
.footer-phone { display: inline-flex !important; flex-direction: column; gap: 2px; text-decoration: none; }
.footer-phone strong { font-size: 18px; font-weight: 800; }
.footer-phone small { font-size: 14px; font-weight: 600; opacity: .9; }
.mobile-call strong { font-size: 18px !important; font-weight: 800 !important; }
.mobile-call span { font-size: 13px !important; font-weight: 600 !important; }
.button-cta.button-large strong { font-size: 19px; font-weight: 800; }
.button-cta.button-large span { font-size: 14px; font-weight: 600; }
.button-cta > small { margin-left: 8px; font-size: .85em; font-weight: 600; opacity: .92; }
.product-card .button-cta.button-small { white-space: nowrap; padding-inline: 10px; }

/* 히어로 정리본 줄 → 버튼 */
.df-hook-cta { display: inline-flex; flex-direction: column; gap: 2px; min-height: 48px; margin-top: 10px; padding: 9px 16px; border-radius: 12px;
  background: #a01c4b; color: #fff; text-decoration: none; box-shadow: 0 4px 0 #5a1d33; transition: transform .12s, box-shadow .12s, background-color .12s; }
.df-hook-cta strong { font-size: 16px; font-weight: 800; color: #fff; }
.df-hook-cta small { font-size: 13px; font-weight: 600; color: #ffe3ea; }
.df-hook-cta:hover { background: #8a1640; }
.df-hook-cta:active { transform: translateY(3px); box-shadow: 0 1px 0 #5a1d33; }
.df-hook-cta:focus-visible { outline: 3px solid #d6a45c; outline-offset: 3px; }

/* 사업자 정보 줄(푸터) */
.df-biz { margin-top: 6px; font-size: 12.5px; line-height: 1.6; opacity: .85; word-break: keep-all; }
a.occasion-card, a.occasion-card * { text-decoration: none; color: inherit; }

/* ===== 테마 점검 보완 v5 (THEME-FIRST, 2026-10-26) ===== */
/* 띠 글자 줄높이: 허브 쪽 본문 줄높이(1.7)가 들어와 위로 넘치던 것 */
.df-callbar, .df-callbar * { line-height: 1.3; }
/* 허브 쪽 띠 폭을 헤더 안쪽(1280)과 맞춤 */
.hub-page .df-cb-in { width: min(calc(100% - 64px), 1280px); }
/* 사진 위 글자 상자 없앰: 배송사진 위 '배송 사진 NN · 실제 배송 현장' */
.proof-overlay { display: none !important; }
/* 시설 카드: 글자가 합성된 썸네일 대신 글자 카드 */
.place-card img { display: none; }
.place-card { flex-direction: row; align-items: stretch; border-left: 4px solid #a01c4b; }
.place-card span { padding: 14px 16px; align-content: center; }
/* 위치 경로 링크 밑줄 없음(마우스 올리면 밑줄) */
.dir-crumbs a { text-decoration: none; }
.dir-crumbs a:hover, .dir-crumbs a:focus-visible { text-decoration: underline; }
/* 허브 상품 격자: 카테고리마다 4개가 3+1로 남던 것 → 넓은 화면 4열, 중간 2열 */
.hub-card--product { display: flex; flex-direction: column; }
.hub-grid:has(> .hub-card--product) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .hub-grid:has(> .hub-card--product) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .hub-grid:has(> .hub-card--product) { gap: 12px; } .hub-card--product .hub-card__body { padding: 12px; } }
/* 허브 카드 버튼을 카드 아래 끝에 맞춤 */
.hub-card { display: flex; flex-direction: column; }
.hub-card__body { display: flex; flex: 1; flex-direction: column; }
.hub-card__body > a:last-child, .hub-card__body > .hub-button:last-child { margin-top: auto; align-self: flex-start; }
/* 짧은 허브 쪽에서 바닥글 아래 흰 공간 */
html:has(body.hub-page) { background: #2f1f2b; }
body.hub-page { background-color: #fff; }
/* 전화 버튼 두 줄(문구 주인공, 번호 보조) */
.button-cta.button-large strong { display: block; }
.df-hook-note { display: block; margin: 10px 0 0; font-size: 14px; color: #6b5a52; }
.hub-button--call { flex-direction: column; gap: 0; line-height: 1.2; }
.hub-button--call small { font-size: .78em; font-weight: 600; opacity: .9; }
/* '전국 지역에서 다시 찾기'(링크 단추) 밑줄 없음 */
.dir-reset { text-decoration: none; }
.dir-reset:hover, .dir-reset:focus-visible { text-decoration: underline; }
/* 히어로 두 줄 전화 버튼: 문구 위, 번호 아래 */
.button-cta.button-large { flex-direction: column; align-items: center; justify-content: center; gap: 2px; text-align: center; }
.button-cta.button-large strong { font-size: 20px; line-height: 1.2; }
.button-cta.button-large span { display: block; font-size: 13px; font-weight: 700; line-height: 1.3; }
@media (max-width: 600px) { .button-cta.button-large strong { font-size: 18px; } .button-cta.button-large span { font-size: 12.5px; } }
/* ===== 한 화면 전화 1개·카톡 1개 (2026-10-26, df-cta-solo.js와 짝) ===== */
/* 본문 전화 버튼이 보이는 동안 숨김: 헤더 전화·카톡, 띠 전화 버튼, 모바일 하단 바 */
html.df-cta-local .header-phone, html.df-cta-local .day-phone, html.df-cta-local .df-cb-btn { display: none !important; }
html.df-cta-local .mobile-bar { transform: translateY(120%); visibility: hidden; }
/* 본문 카톡 단추가 보이는 동안: 헤더 카톡 숨김, 하단 바는 전화 한 칸만 */
html.df-kk-local .header-kakao, html.df-kk-local .day-kakao, html.df-kk-local .mobile-kakao { display: none !important; }
html.df-kk-local .mobile-bar { grid-template-columns: 1fr; }
.mobile-bar { transition: transform .2s ease, visibility .2s; }
/* 이어받는 헤더 전화: 높이 48px 알약 */
html .header-phone, html .day-phone { min-height: 0 !important; height: 48px; padding: 0 18px !important; border-radius: 999px !important; justify-content: center; gap: 0 !important; }
html .header-phone strong, html .day-phone strong { font-size: 15px !important; line-height: 1.15 !important; }
html .header-phone small, html .day-phone small { font-size: 11px !important; line-height: 1.1 !important; }
html .header-kakao, html .day-kakao { height: 48px; min-height: 0 !important; border-radius: 999px !important; padding: 0 16px !important; }
/* 히어로 카톡 보조 버튼 */
.df-hero-kakao { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-height: 56px; padding: 6px 20px;
  border-radius: 14px; background: #fee500; color: #191919; text-decoration: none; line-height: 1.2; }
.df-hero-kakao strong { font-size: 17px; font-weight: 800; }
.df-hero-kakao small { font-size: 12px; font-weight: 600; opacity: .8; }
.df-hero-kakao:hover { filter: brightness(.97); }
/* 바닥글 전화·카톡 단추는 바로 위 마지막 상담 구역과 겹쳐 숨김(바닥글 사업자 줄에 번호는 남음) */
.footer-brand .footer-phone, .footer-brand .footer-kakao { display: none !important; }
/* 지역·시설 구역 옆 칸의 전화 단추: 같은 구역의 시설 전화·마지막 상담과 겹쳐 숨김 */
.side-card a[href^="tel:"] { display: none !important; }
/* ===== 테마 마무리 (THEME-FINISH, 2026-10-26) ===== */
/* 내용 폭 하나로: 허브 쪽 헤더·띠·본문·바닥글을 랜딩과 같은 1160 칸에 */
.hub-page .day-header__inner, .hub-page .df-cb-in, .hub-page .hub-wrap { width: min(calc(100% - 64px), 1160px) !important; margin-inline: auto; }
@media (max-width: 720px) { .hub-page .day-header__inner, .hub-page .df-cb-in, .hub-page .hub-wrap { width: calc(100% - 32px) !important; } }
/* 본문 공통 글꼴: 한국어 줄바꿈 */
.verified-card, .hub-section, .hub-hero, .faq, .section-sub { word-break: keep-all; overflow-wrap: anywhere; }
/* 동 배송 참고(본문 블록) */
.verified-local-info .section-head h2::after, .hub-section > .hub-wrap > h2::after { content: ""; display: block; width: 44px; height: 3px; margin-top: 12px; border-radius: 2px; background: #a01c4b; }
.verified-local-info .verified-card { padding: 28px 30px; }
.verified-local-info .verified-card p { margin: 0 0 1em; font-size: 17px; line-height: 1.8; color: #3a2f2b; }
.verified-local-info .verified-card .verified-list { list-style: none; margin: .2em 0 1.3em; padding: 0; }
.verified-local-info .verified-card .verified-list li { position: relative; margin: .45em 0; padding-left: 1.1em; line-height: 1.7; }
.verified-local-info .verified-card .verified-list li::before { content: ""; position: absolute; left: 0; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: #a01c4b; }
.verified-local-info .verified-card .verified-list li small { color: #6b5a52; }
.verified-local-info .verified-card .verified-source { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid #eadfd6; font-size: 14px; line-height: 1.7; color: #6b5a52; }
.verified-local-info .verified-card a { color: #a01c4b; text-underline-offset: 3px; }
@media (max-width: 600px) { .verified-local-info .verified-card { padding: 20px 18px; } .verified-local-info .verified-card p { font-size: 16px; } }
/* 허브 FAQ: 펼침 상자 + Q 표시 */
.hub-page details { margin: 10px 0; padding: 0 20px; border: 1px solid #eadfd6; border-radius: 14px; background: #fff; }
.hub-page details > summary { position: relative; padding: 18px 34px 18px 38px; font-weight: 750; line-height: 1.5; list-style: none; cursor: pointer; }
.hub-page details > summary::-webkit-details-marker { display: none; }
.hub-page details > summary::before { content: "Q"; position: absolute; left: 0; top: 16px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #a01c4b; color: #fff; font-size: 13px; font-weight: 800; }
.hub-page details > summary::after { content: "+"; position: absolute; right: 0; top: 14px; font-size: 22px; color: #a01c4b; }
.hub-page details[open] > summary::after { content: "−"; }
.hub-page details > p { margin: 0; padding: 0 0 18px 38px; line-height: 1.8; color: #3a2f2b; }
/* 허브 히어로 그림(글자 없는 기존 대표 사진) */
.hub-hero .hub-wrap:has(> .hub-hero__img) { display: grid; grid-template-columns: minmax(0, 1fr) 380px; column-gap: 48px; align-items: center; }
.hub-hero .hub-wrap > :not(.hub-hero__img) { grid-column: 1; }
.hub-hero__img { grid-column: 2; grid-row: 1 / span 6; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 22px; box-shadow: 0 18px 40px rgba(90, 29, 51, .14); }
@media (max-width: 900px) { .hub-hero .hub-wrap:has(> .hub-hero__img) { display: block; } .hub-hero__img { display: block; margin-top: 22px; aspect-ratio: 16 / 9; max-height: 220px; } }
/* 누름 영역 44px: 지역 '하위 지역 펼치기', 랜딩 FAQ 질문 줄 */
.dir-children summary, .faq summary, details > summary { min-height: 44px; }
/* 404·이전 주소 안내 쪽 헤더 칸을 공통 칸(1160)에 */
.nf-head .in { width: min(calc(100% - 64px), 1160px) !important; }
@media (max-width: 720px) { .nf-head .in { width: calc(100% - 32px) !important; } }
/* 허브 바닥글 긴 줄 줄바꿈(320에서 화면 밖으로 밀리던 링크) */
.hub-footer p, .hub-footer .hub-wrap { overflow-wrap: anywhere; word-break: keep-all; }
.hub-footer a { display: inline-block; }
/* 누름 영역 44px 이상(점검 결과 반영): 시설 칩, 관련 검색 태그, 바닥글 링크, 로고, 시설 찾기 탭, '전국 지역에서 다시 찾기' */
.facility-chips .chip-btn, .related-keywords a, .finder-tabs .finder-tab-btn { min-height: 44px; display: inline-flex; align-items: center; }
.footer-col a { display: inline-flex; align-items: center; min-height: 44px; }
.site-header .brand, .nf-brand, .day-brand { min-height: 44px; }
.dir-reset { display: inline-flex; align-items: center; min-height: 44px; }
.dir-children summary, .faq summary { min-height: 44px !important; }
/* 바닥글 링크 누름 영역 44px, 허브 바닥글 줄바꿈 */
.footer-col a { min-height: 44px !important; }
.hub-footer .hub-wrap { display: flex; flex-wrap: wrap; align-items: center; column-gap: 6px; }
.hub-footer .hub-wrap > a { display: inline-flex; align-items: center; min-height: 44px; }
.hub-footer .df-biz { flex-basis: 100%; }
/* 허브 헤더 메뉴: 360px 이하에서 마지막 항목이 잘리던 것 → 두 줄로 */
@media (max-width: 360px) { .day-menu { flex-wrap: wrap; justify-content: center; overflow-x: visible !important; row-gap: 0; column-gap: 10px; } }
/* 동 장례식장 쪽: 이 동 주소의 장례식장 안내 카드(df-nohall) */
.df-nohall { margin: 18px 0 8px; padding: 22px 24px; border: 1px solid #eadfd6; border-radius: 16px; background: #fffdf8; word-break: keep-all; }
.df-nohall p { margin: 0 0 .8em; line-height: 1.75; color: #3a2f2b; }
.df-nohall .dir-heading { margin: 0 0 8px; font-weight: 800; color: #2b2320; }
.df-nohall .dir-heading + p { margin-bottom: 1.1em; }
.df-nohall ul { list-style: none; margin: 0 0 1em; padding: 0; display: grid; gap: 6px; }
.df-nohall li { position: relative; padding-left: 1.1em; line-height: 1.6; }
.df-nohall li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: #a01c4b; }
.df-nohall li a { color: #a01c4b; font-weight: 700; text-underline-offset: 3px; }
.df-nohall li small { color: #6b5a52; }
.df-nohall .verified-source { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid #eadfd6; font-size: 13px; color: #6b5a52; }
@media (max-width: 600px) { .df-nohall { padding: 18px 16px; } }
