/* ============================================================
   SAUNA PAGE — page-specific overrides (patterns.css handles layout)
   ============================================================ */

/* --- Spec table compact (inside pt-2col__body) --- */
.sn-spec-compact { margin-top: 24px; }
.sn-spec-compact th { width: 120px; }

/* === extracted from page-sauna.php === */
/* === SAUNA page 2026-04-22 refined === */
.sa-hero{position:relative;height:500px;overflow:hidden;background:#1a2220}
.sa-hero__bg{position:absolute;inset:0;background:center/cover no-repeat;filter:saturate(.95)}
.sa-hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,34,32,.55) 0%,rgba(26,34,32,.3) 45%,rgba(26,34,32,.55) 100%)}
.sa-hero__inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px}
.sa-hero__label{font-family:"Playfair Display",serif;font-size:14px;letter-spacing:.6em;color:#fff;margin:0 0 22px;padding-left:.6em;text-shadow:0 2px 12px rgba(0,0,0,.5);opacity:.95}
.sa-hero__title{font-family:"Noto Serif JP",serif;font-size:56px;font-weight:500;letter-spacing:.16em;color:#fff;margin:0;text-align:center;text-shadow:0 4px 20px rgba(0,0,0,.55)}
.sa-hero__wave{position:absolute;left:0;right:0;bottom:-1px;line-height:0;z-index:3}
.sa-hero__wave svg{width:100%;height:90px;display:block;transform:scaleY(-1)}

.sa-rit{background:#fff;padding:100px 24px;text-align:center}
.sa-rit__label{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.5em;color:#2d4a4f;margin:0 0 18px}
.sa-rit__h{font-family:"Noto Serif JP",serif;font-size:32px;font-weight:500;color:#1a2e32;letter-spacing:.1em;line-height:1.7;margin:0 0 36px}
.sa-rit__p{max-width:700px;margin:0 auto;font-size:14px;line-height:2.2;color:#3a4252}
.sa-rit__line{width:60px;height:1px;background:#2d4a4f;margin:40px auto 0}

.sa-barrel{background:#eaf2f5;padding:40px 32px 90px;position:relative}
.sa-barrel__frame{max-width:1240px;margin:0 auto;position:relative;min-height:520px;border-radius:14px;overflow:hidden}
.sa-barrel__bg{position:absolute;inset:0;background:center/cover no-repeat}
.sa-barrel__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(247,244,235,.98) 0%,rgba(247,244,235,.9) 35%,rgba(247,244,235,.4) 65%,rgba(247,244,235,0) 100%)}
.sa-barrel__card{position:relative;z-index:2;width:52%;max-width:520px;padding:80px 60px;margin-left:auto}
.sa-barrel__label{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.4em;color:#2d4a4f;margin:0 0 18px;font-weight:500}
.sa-barrel__h{font-family:"Noto Serif JP",serif;font-size:30px;font-weight:600;color:#1a2e32;letter-spacing:.06em;line-height:1.6;margin:0 0 22px}
.sa-barrel__p{font-size:13px;line-height:2.1;color:#3a4252;margin:0 0 28px}
.sa-barrel__more{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.25em;color:#2d4a4f;text-decoration:none;display:inline-flex;align-items:center;gap:10px;padding-bottom:4px;border-bottom:1px solid #2d4a4f}
.sa-barrel__more::after{content:"→"}

.sa-spec{background:#f7f4eb;padding:80px 24px;position:relative}
.sa-spec__inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:center}
.sa-spec__item{position:relative;padding:10px 16px}
.sa-spec__item:not(:last-child)::after{content:"";position:absolute;right:-20px;top:10%;height:80%;width:1px;background:#d9d5c8}
.sa-spec__num{font-family:"Playfair Display",serif;font-size:22px;font-style:italic;color:#b8a57a;margin:0 0 18px;letter-spacing:.08em}
.sa-spec__num::after{content:" →";font-style:normal;font-size:18px;margin-left:.2em;color:#b8a57a}
.sa-spec__top{font-family:"Noto Sans JP",sans-serif;font-size:11px;letter-spacing:.3em;color:#546069;margin:0 0 28px}
.sa-spec__big{font-family:"Playfair Display",serif;font-size:96px;font-style:italic;font-weight:400;color:#2d4a4f;line-height:1;letter-spacing:.02em;margin:0;padding-bottom:14px;border-bottom:1px solid #b8a57a;display:inline-block}
.sa-spec__big sub{font-family:"Playfair Display",serif;font-size:36px;font-style:italic;vertical-align:super;margin-left:4px;color:#2d4a4f}
.sa-spec__line{display:none}
.sa-spec__cap{font-family:"Playfair Display",serif;font-size:11px;letter-spacing:.35em;color:#546069;margin:0}

.sa-duo{background:#0e1e22;padding:140px 24px 160px;position:relative;overflow:hidden;clip-path:polygon(0 6%,100% 0,100% 94%,0 100%);margin:-40px 0}
.sa-duo::before{content:"SAUNA MOMENTS";position:absolute;top:36px;left:50%;transform:translateX(-50%);font-family:"Playfair Display",serif;font-size:11px;letter-spacing:.6em;color:rgba(255,255,255,.45)}
.sa-duo__inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.sa-duo__item{position:relative;margin:0;border-radius:14px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 24px 48px rgba(0,0,0,.5)}
.sa-duo__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s ease}
.sa-duo__item:hover img{transform:scale(1.05)}
.sa-duo__item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.72) 100%);pointer-events:none}
.sa-duo__item figcaption{position:absolute;left:28px;bottom:22px;z-index:2;color:#fff;font-family:"Noto Serif JP",serif;font-size:15px;letter-spacing:.12em;line-height:1.5}
.sa-duo__item figcaption span{display:block;font-family:"Playfair Display",serif;font-style:italic;font-size:28px;letter-spacing:.18em;color:#e5d6b0;margin-bottom:6px}
@media(max-width:700px){.sa-duo{padding:60px 20px}.sa-duo__inner{grid-template-columns:1fr;gap:18px}.sa-duo__item figcaption{font-size:13px}.sa-duo__item figcaption span{font-size:22px}}

.sa-foot{background:#f7f4eb;padding:20px 24px 100px;text-align:center;font-family:"Noto Serif JP",serif;font-size:24px;font-weight:500;letter-spacing:.08em;color:#2d4a4f;line-height:1.7}
@media(max-width:700px){.sa-foot{font-size:17px;letter-spacing:.04em;padding:10px 20px 70px}}

.sa-jac{background:#fff;padding:90px 32px}
.sa-jac__inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center}
.sa-jac__label{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.4em;color:#2d4a4f;margin:0 0 14px}
.sa-jac__h{font-family:"Noto Serif JP",serif;font-size:28px;font-weight:500;color:#1a2e32;line-height:1.6;margin:0 0 24px;letter-spacing:.05em}
.sa-jac__p{font-size:13px;line-height:2.1;color:#3a4252;margin:0}
.sa-jac__photo{position:relative}
.sa-jac__photo img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;box-shadow:0 16px 34px rgba(0,0,0,.15);transform:rotate(-1deg)}

.sa-flow{background:#fff;padding:60px 24px 90px;text-align:center}
.sa-flow__label{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.5em;color:#2d4a4f;margin:0 0 12px}
.sa-flow__title{font-family:"Noto Serif JP",serif;font-size:28px;font-weight:500;color:#1a2e32;letter-spacing:.2em;margin:0 0 48px}
.sa-flow__grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:left}
.sa-flow__step{}
.sa-flow__head{display:flex;align-items:baseline;gap:14px;margin:0 0 14px}
.sa-flow__num{font-family:"Playfair Display",serif;font-size:26px;font-style:italic;color:#b8a57a}
.sa-flow__h{font-family:"Noto Serif JP",serif;font-size:16px;font-weight:500;color:#1a2e32;letter-spacing:.1em;margin:0}
.sa-flow__img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;margin:0 0 14px;box-shadow:0 8px 20px rgba(0,0,0,.1)}
.sa-flow__p{font-size:12px;line-height:1.9;color:#546069;margin:0}

.sa-ame{background:#fff;padding:60px 32px 90px;text-align:center}
.sa-ame__label{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.5em;color:#2d4a4f;margin:0 0 12px}
.sa-ame__title{font-family:"Noto Serif JP",serif;font-size:28px;font-weight:500;color:#1a2e32;letter-spacing:.15em;margin:0 0 44px}
.sa-ame__grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.sa-ame__item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;box-shadow:0 8px 22px rgba(0,0,0,.1)}
.sa-ame__cap{font-family:"Noto Serif JP",serif;font-size:14px;color:#1a2e32;letter-spacing:.08em;margin:18px 0 0}

.sa-gal{background:#fff;padding:40px 24px 100px;text-align:center}
.sa-gal__label{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.5em;color:#2d4a4f;margin:0 0 12px}
.sa-gal__title{font-family:"Noto Serif JP",serif;font-size:22px;letter-spacing:.12em;color:#1a2e32;margin:0 0 40px}
.sa-gal__wrap{max-width:1360px;margin:0 auto;position:relative}
.sa-gal__row{display:grid;grid-template-columns:repeat(12,1fr);gap:10px;margin-bottom:-40px}
.sa-gal__row:last-child{margin-bottom:0}
.sa-gal__cell{overflow:hidden;border-radius:8px;box-shadow:0 12px 28px rgba(0,0,0,.15);transition:transform .4s;border:5px solid #fff;background:#fff;position:relative}
.sa-gal__cell:hover{transform:scale(1.05) rotate(0deg)!important;z-index:10}
.sa-gal__cell img{width:100%;height:100%;object-fit:cover;display:block}
.sa-gal__cell--1{grid-column:1/span 2;aspect-ratio:5/4;transform:rotate(-3deg);z-index:2}
.sa-gal__cell--2{grid-column:3/span 2;aspect-ratio:5/4;transform:rotate(2deg) translateY(18px)}
.sa-gal__cell--3{grid-column:5/span 2;aspect-ratio:1/1;transform:rotate(-1.5deg) translateY(-8px);z-index:3}
.sa-gal__cell--4{grid-column:7/span 2;aspect-ratio:5/4;transform:rotate(2.5deg) translateY(12px)}
.sa-gal__cell--5{grid-column:9/span 2;aspect-ratio:5/4;transform:rotate(-2deg)}
.sa-gal__cell--6{grid-column:11/span 2;aspect-ratio:5/4;transform:rotate(1.5deg) translateY(20px)}
.sa-gal__cell--7{grid-column:1/span 2;aspect-ratio:4/3;transform:rotate(1.5deg) translateY(-10px);z-index:4}
.sa-gal__cell--8{grid-column:3/span 2;aspect-ratio:4/3;transform:rotate(-2.5deg) translateY(8px)}
.sa-gal__cell--9{grid-column:5/span 2;aspect-ratio:4/3;transform:rotate(2deg) translateY(-4px);z-index:4}
.sa-gal__cell--10{grid-column:7/span 2;aspect-ratio:4/3;transform:rotate(-1.5deg) translateY(14px)}
.sa-gal__cell--11{grid-column:9/span 2;aspect-ratio:4/3;transform:rotate(2.5deg) translateY(-6px);z-index:4}
.sa-gal__cell--12{grid-column:11/span 2;aspect-ratio:5/4;transform:rotate(-2deg) translateY(22px);z-index:5}

.sa-notes{background:#f7f4eb;padding:80px 24px 100px;text-align:center}
.sa-notes__label{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.5em;color:#2d4a4f;margin:0 0 12px}
.sa-notes__title{font-family:"Noto Serif JP",serif;font-size:26px;font-weight:500;color:#1a2e32;letter-spacing:.15em;margin:0 0 36px}
.sa-notes__list{max-width:620px;margin:0 auto;list-style:none;padding:0;text-align:left}
.sa-notes__list li{padding:14px 0 14px 32px;border-bottom:1px solid #d9d5c8;font-size:13px;line-height:1.9;color:#3a4252;position:relative}
.sa-notes__list li::before{content:"—";position:absolute;left:0;color:#2d4a4f;font-family:"Playfair Display",serif;font-weight:500}
.sa-notes__list li:last-child{border-bottom:none}
.sa-notes__caution{margin:30px auto 0;font-size:13px;color:#2d4a4f;font-weight:500;letter-spacing:.06em}

@media(max-width:960px){
  .sa-hero__title{font-size:34px}
  .sa-barrel__frame{min-height:auto}
  .sa-barrel__bg{position:relative;width:100%;height:280px;inset:auto}
  .sa-barrel__bg::after{display:none}
  .sa-barrel__card{width:auto;max-width:none;padding:36px 24px;background:#f7f4eb;margin-left:0}
  .sa-spec__inner{grid-template-columns:1fr;gap:32px}
  .sa-spec__item:not(:last-child)::after{display:none}
  .sa-jac__inner{grid-template-columns:1fr;gap:36px}
  .sa-flow__grid{grid-template-columns:repeat(2,1fr)}
  .sa-ame__grid{grid-template-columns:1fr}
  .sa-gal__row{grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:-20px}
  .sa-gal__cell{grid-column:span 2!important}
}
@media(max-width:640px){
  .sa-hero{height:340px}
  .sa-hero__title{font-size:24px}
  .sa-rit__h,.sa-jac__h{font-size:22px}
  .sa-spec__big{font-size:70px}
  .sa-flow__grid{grid-template-columns:1fr}
  .sa-gal__row{grid-template-columns:repeat(4,1fr)}
}

