/* Paris Guide — mobile-first independent after-tour resource page */
.paris-guide-page { background:#f8f3ed; color:var(--ink); overflow-wrap:anywhere; }
.paris-guide-page main { position:relative; }
.skip-link { position:fixed; left:12px; top:-80px; z-index:9999; background:var(--ink); color:#fff; padding:12px 18px; }
.skip-link:focus { top:12px; }
.pg-header { background:rgba(251,247,244,.96); border-bottom:1px solid #ead9d6; }
.pg-header .site-header__logo { margin-right:auto; }
.pg-desktop-nav { margin-left:auto; }
.pg-hero { position:relative; padding:116px 22px 48px; text-align:center; overflow:hidden; background:linear-gradient(180deg,#f5e5e1 0%,#f8f3ed 100%); }
.pg-hero::after { content:""; position:absolute; inset:18px 24px; border:1px solid rgba(123,45,62,.11); pointer-events:none; }
.pg-hero h1 { margin:8px 0 10px; font:700 clamp(34px,8vw,54px)/1.25 var(--font-serif-kr); letter-spacing:-.05em; }
.pg-hero__edition { margin:8px 0 0; font-size:10px; letter-spacing:.2em; color:#806e61; }
.pg-hero__subtitle { font:600 16px/1.6 var(--font-serif-kr); color:var(--burgundy); }
.pg-hero__intro { max-width:610px; margin:14px auto 0; color:var(--ink-m); line-height:1.85; }
.pg-updated { margin-top:22px; font-size:12px; color:var(--muted); }
.pg-postcard { position:absolute; right:-26px; top:96px; width:150px; padding:12px; border:1px solid rgba(123,45,62,.2); color:rgba(123,45,62,.34); transform:rotate(8deg); display:flex; justify-content:space-between; font-size:8px; letter-spacing:.12em; }
.pg-section { position:relative; z-index:1; max-width:1180px; margin:0 auto; padding:66px 28px; scroll-margin-top:80px; }
.pg-section + .pg-section { border-top:1px solid rgba(123,45,62,.12); }
.pg-section--tint { background:transparent; }
.pg-section__head { max-width:720px; margin:0 auto 30px; text-align:center; }
.pg-section__head h2,.pg-review-cta h2 { margin:8px 0 14px; font:700 clamp(28px,7vw,42px)/1.35 var(--font-serif-kr); letter-spacing:-.04em; }
.pg-section__head > p:last-child { color:var(--ink-m); line-height:1.8; }
.pg-quick-grid,.pg-card-grid { display:grid; grid-template-columns:1fr; gap:12px; max-width:1080px; margin:0 auto; }
.pg-quick-card { min-height:144px; padding:20px 19px 17px; border:1px solid rgba(123,45,62,.18); border-radius:8px; background:#fdfaf6; color:var(--ink); text-align:left; text-decoration:none; display:flex; flex-direction:column; justify-content:flex-start; cursor:pointer; transition:border-color .2s ease,background .2s ease; }
.pg-quick-card:hover { border-color:var(--burgundy); background:#fff; }
.pg-quick-card--featured { background:#f4e4df; color:var(--ink); border-color:rgba(123,45,62,.28); }
.pg-quick-card--featured span,.pg-quick-card--featured small { color:var(--ink-m); }
.pg-quick-card span { color:var(--burgundy); font-size:10px; letter-spacing:.15em; }
.pg-quick-card strong { margin:9px 0 6px; font:600 17px/1.45 var(--font-serif-kr); }
.pg-quick-card small { color:var(--muted); font-size:13px; }
.pg-quick-card em { margin-top:auto; padding-top:14px; color:var(--burgundy); font-size:12px; font-style:normal; }
.pg-quick-card:hover em { text-decoration:underline; text-underline-offset:3px; }
.pg-tools-title { max-width:900px; margin:30px auto 0; text-align:center; font:600 14px var(--font-serif-kr); color:var(--ink-m); }
.pg-downloads { display:grid; grid-template-columns:1fr; gap:8px; max-width:900px; margin:12px auto 0; }
.pg-downloads .btn { min-height:44px; background:transparent; }
.pg-downloads .btn small { margin-left:6px; padding:2px 6px; border-radius:20px; background:rgba(0,0,0,.07); }
.pg-downloads button:disabled { opacity:.58; cursor:not-allowed; }
.pg-filters { max-width:1160px; margin:0 auto 24px; }
.pg-filters fieldset { min-width:0; max-width:100%; border:0; margin:0 0 18px; padding:0; }
.pg-filters legend { margin-bottom:9px; font-weight:700; font-size:13px; }
.pg-filter-row { display:flex; flex-wrap:wrap; gap:4px 14px; padding:2px 0 8px; }
.pg-filter { flex:0 0 auto; min-height:44px; padding:9px 3px; border:0; border-bottom:1px solid transparent; border-radius:0; background:transparent; color:var(--ink-m); cursor:pointer; }
.pg-filter[aria-pressed="true"] { background:var(--burgundy); border-color:var(--burgundy); color:#fff; }
.pg-result-count { max-width:1160px; margin:0 auto 14px; color:var(--muted); font-size:13px; }
.pg-info-card { padding:24px; border:1px solid #dfd3cd; border-radius:8px; background:#fdfaf6; box-shadow:none; }
.pg-card-top { display:flex; flex-wrap:wrap; align-items:center; gap:7px; color:var(--muted); font-size:12px; }
.pg-sample-badge { padding:4px 8px; border-radius:999px; background:#f6e3df; color:var(--burgundy); font-weight:700; }
.pg-info-card h3 { margin:15px 0 8px; font:600 21px/1.45 var(--font-serif-kr); }
.pg-description { color:var(--ink-m); line-height:1.75; }
.pg-info-card dl { margin:20px 0 0; border-top:1px solid #eee4df; }
.pg-info-card dl div { display:grid; grid-template-columns:98px minmax(0,1fr); gap:10px; padding:11px 0; border-bottom:1px solid #eee4df; }
.pg-info-card dt { color:var(--muted); font-size:12px; }
.pg-info-card dd { margin:0; font-size:13px; line-height:1.6; }
.pg-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.pg-action { min-height:44px; display:inline-flex; align-items:center; padding:9px 14px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); text-decoration:none; cursor:pointer; }
.pg-action:hover { border-color:var(--burgundy); color:var(--burgundy); }
.pg-pending,.pg-empty,.pg-noscript { margin-top:18px; padding:14px; border-radius:8px; background:#f8f3ef; color:var(--muted); font-size:13px; line-height:1.7; }
.pg-empty { max-width:1160px; margin:0 auto; text-align:center; }
.pg-customs-note { max-width:1160px; margin:28px auto 0; padding:22px; border-left:3px solid var(--burgundy); background:#f8eeee; }
.pg-customs-note p { margin:7px 0 0; color:var(--ink-m); line-height:1.7; }
.pg-feature-link { max-width:860px; margin:0 auto; padding:25px; display:grid; grid-template-columns:auto 1fr auto; gap:20px; align-items:center; color:var(--ink); text-decoration:none; background:#fdfaf6; border:1px solid #dfc6c2; border-radius:8px; }
.pg-feature-link__number { font:600 28px var(--font-serif-kr); color:var(--burgundy); }
.pg-feature-link strong { font:600 21px var(--font-serif-kr); }
.pg-feature-link p { margin:8px 0 0; color:var(--muted); line-height:1.7; }
.pg-home-notes { max-width:1160px; margin:auto; display:grid; gap:14px; }
.pg-type-card { padding:26px; border:1px solid #e1d5cf; border-radius:8px; background:#fdfaf6; }
.pg-type-card__icon { width:42px; height:42px; display:grid; place-items:center; margin-bottom:18px; border-radius:50%; background:#f2deda; color:var(--burgundy); font-weight:800; }
.pg-type-card > p:first-of-type { font-size:10px; letter-spacing:.15em; color:var(--burgundy); font-weight:700; }
.pg-type-card h2 { margin:9px 0; font:600 21px var(--font-serif-kr); }
.pg-type-card p:last-child { color:var(--ink-m); line-height:1.8; }
.pg-related { text-align:center; }
.pg-related__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.pg-guide-note { border-top:0!important; }
.pg-guide-note > div { max-width:720px; margin:0 auto; padding:26px 28px; border-left:2px solid var(--gold); background:rgba(255,255,255,.42); }
.pg-guide-note h2 { margin:8px 0 13px; }
.pg-guide-note h2 em { display:block; font:italic 500 20px var(--font-serif-kr); color:var(--burgundy); }
.pg-guide-note h2 span { display:block; margin-top:4px; font:600 24px var(--font-serif-kr); }
.pg-guide-note p:last-child { color:var(--ink-m); line-height:1.85; }
.pg-review-cta { position:relative; max-width:860px; margin:48px auto 76px; padding:48px 32px; text-align:center; background:#f4e4df; color:var(--ink); border:1px solid rgba(123,45,62,.2); }
.pg-review-cta::before { content:""; position:absolute; inset:9px; border:1px solid rgba(123,45,62,.11); pointer-events:none; }
.pg-review-cta .section-eyebrow { color:var(--gold-d); }
.pg-review-cta > p:not(.section-eyebrow) { max-width:650px; margin:0 auto 24px; color:var(--ink-m); line-height:1.85; }
.pg-toast { position:fixed; left:50%; bottom:24px; z-index:9999; transform:translateX(-50%); width:max-content; max-width:calc(100% - 32px); padding:12px 18px; border-radius:8px; background:var(--ink); color:#fff; box-shadow:0 8px 24px rgba(0,0,0,.25); }
.pg-toast[hidden] { display:none; }
.paris-guide-page :focus-visible { outline:3px solid #9b4c5e; outline-offset:3px; }
@media (min-width:600px) { .pg-quick-grid,.pg-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.pg-downloads { grid-template-columns:repeat(2,1fr); }.pg-home-notes { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1000px) { .pg-section { padding:78px 48px; }.pg-quick-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.pg-downloads { grid-template-columns:repeat(4,1fr); }.pg-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.pg-info-card { padding:28px; } }
@media (max-width:900px) { .pg-desktop-nav { display:none; }.pg-header { height:68px; padding:0 18px; }.pg-header .menu-toggle { display:flex; width:44px; height:44px; align-items:center; justify-content:center; }.pg-header .site-header__brand-name { display:block; }.mobile-nav { top:68px; }.pg-hero { padding-top:112px; }.pg-postcard { right:0; } }
@media (min-width:1280px) { .paris-guide-page main::before { content:""; position:absolute; z-index:0; top:0; bottom:0; left:50%; width:1px; background:linear-gradient(180deg,transparent 0,rgba(105,80,63,.09) 8%,rgba(105,80,63,.09) 92%,transparent 100%); pointer-events:none; }.pg-hero { z-index:1; }.pg-hero::before { content:""; position:absolute; inset:0; background:#f8f3ed; opacity:.93; z-index:-1; } }
@media print {
  @page { margin:16mm; }
  .site-header,.mobile-nav,.pg-quick,.pg-filters,.pg-review-cta,.site-footer,.review-modal,.pg-toast,.pg-actions { display:none!important; }
  .paris-guide-page { background:#fff; font-size:10pt; }
  .pg-hero { padding:0 0 12mm; background:#fff; text-align:left; }
  .pg-hero::after,.pg-postcard { display:none; }
  .pg-hero h1 { font-size:25pt; }
  .pg-section { padding:8mm 0; }
  .pg-section--tint { background:#fff; }
  .pg-section__head { text-align:left; margin:0 0 6mm; }
  .pg-section__head h2 { font-size:18pt; }
  .pg-result-count { display:none; }
  .pg-card-grid { display:block; }
  .pg-info-card { box-shadow:none; break-inside:avoid; margin:0 0 6mm; padding:5mm; }
  .pg-info-card::after { content:"URL / QR 영역: 운영 정보 확정 후 생성"; display:block; margin-top:5mm; padding:4mm; border:1px dashed #aaa; color:#666; font-size:9pt; }
  .pg-customs-note { break-inside:avoid; }
  body::after { content:"안내 정보는 변경될 수 있습니다. 방문·구매 전 공식 사이트와 Google Maps, 항공사 및 세관의 최신 정보를 확인해 주세요."; display:block; margin-top:8mm; padding-top:5mm; border-top:1px solid #999; color:#555; font-size:9pt; }
}
