/* Only the Moscow chapter; shared navigation and other scenes retain their layout. */
.places-fairytale { background:linear-gradient(90deg,#020d1cde,#0312269c 30%,#0215280d 66%),url('scene-places-scene-2026.webp') center/cover; }
.places-fairytale .places-scene-layout { width:calc(100% - 120px);max-width:1560px;grid-template-columns:43% 57%;gap:0; }
.places-fairytale .scene-copy { max-width:550px; }
.places-fairytale .scene-copy > .scene-kicker { display:flex;align-items:center;gap:12px;max-width:none;margin:0 0 8px;color:#efc77d;font:400 15px/1.4 'Cormorant Garamond',serif;letter-spacing:.13em; }
.places-fairytale .scene-kicker > span { font-size:32px;line-height:1; }
.places-fairytale .places-art-title { position:relative;width:100%;margin:0;line-height:.95;font-size:clamp(50px,5vw,82px); }
.places-art-title > img { display:none;width:100%;height:auto;object-fit:contain; }
.places-art-title.art-ready > img { display:block; }
.places-art-title.art-ready > span { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.places-fairytale .scene-copy > .places-description { max-width:550px;margin:8px 0 0;font:400 20px/1.45 'Cormorant Garamond',serif;color:#f1eff0; }
.places-fairytale .scene-benefits { gap:0;margin:18px 0 20px; }
.places-fairytale .scene-benefits > div { position:relative;gap:8px;padding:0 10px; }
.places-fairytale .scene-benefits > div+div::before { content:'';position:absolute;left:0;top:18px;bottom:8px;width:1px;background:linear-gradient(transparent,#eac78180,transparent); }
.places-fairytale .scene-benefits i { display:grid;place-items:center;width:56px;height:56px;border:1px solid #edc578;border-radius:50%;box-shadow:0 0 14px #e8b76420;font-style:normal; }
.places-fairytale .scene-benefits .line-icon { width:29px;height:29px; }
.places-fairytale .scene-benefits span { font:400 17px/1.25 'Cormorant Garamond',serif;color:#fff4de; }
.places-fairytale .places-date-button { display:flex;justify-content:space-between;gap:16px;width:350px;min-height:68px;min-width:0;margin:0;border-radius:20px;padding:16px 25px;background:linear-gradient(115deg,#ffe6a3,#e6af5d);border:1px solid #ffe8ac;box-shadow:0 8px 28px #eeae4f33;font:600 23px/1.2 'Cormorant Garamond',serif;transition:transform .2s,box-shadow .2s; }
.places-fairytale .places-date-button > .line-icon { width:27px;height:27px;color:#102438; }
.places-fairytale .places-date-button:hover { transform:translateY(-2px);box-shadow:0 8px 30px #eeae4f66; }
.places-fairytale .places-date-button > span:last-child { transition:transform .2s; }
.places-fairytale .places-date-button:hover > span:last-child { transform:translateX(4px); }
.places-fairytale .tree-choice { padding:0;border:0;cursor:pointer;transition:filter .2s,transform .2s;background-color:transparent; }
.places-fairytale .tree-choice:hover { transform:translate(-50%,-50%) scale(1.055);filter:drop-shadow(0 0 10px #ffda8a);z-index:3; }
.places-fairytale .tree-choice[aria-pressed=true] { filter:drop-shadow(0 0 12px #ffbe46); }
.places-fairytale .tree-choice[aria-pressed=true]::after { content:'✓';position:absolute;right:6%;bottom:13%;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#b97622;color:white;font:700 15px sans-serif; }
.places-fairytale .tree-choice:focus-visible { outline:3px solid #ffdc92;outline-offset:2px; }
.places-fairytale .tree-choice strong { font-size:clamp(13px,1.1vw,18px); }
.places-tree-star { position:absolute;top:1%;left:50%;transform:translate(-50%,-20%);color:#ffe9aa;font-size:64px;line-height:1;filter:drop-shadow(0 0 14px #ffbd5c);pointer-events:none;animation:places-glimmer 5s ease-in-out infinite; }
.places-tree-lights { position:absolute;inset:12% 10% 0;pointer-events:none;background:radial-gradient(circle at 30% 35%,#ffd57588,transparent 5%),radial-gradient(circle at 70% 60%,#ffc66b88,transparent 5%),radial-gradient(circle at 45% 80%,#ffd57588,transparent 5%);animation:places-glimmer 4s ease-in-out infinite alternate; }
.places-selection-status { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.places-nojs { position:relative;z-index:3;text-align:center; }
@keyframes places-glimmer { 0%,100%{opacity:.5}50%{opacity:1} }
@media(min-width:1200px) and (min-height:700px) {
 .catalog-chapter-scene.places-fairytale { padding:100px 0 70px; }
 .catalog-chapter-scene.places-fairytale .scene-copy { width:min(39vw,550px); }
 .catalog-chapter-scene.places-fairytale .scene-tree { right:max(35px,calc((100vw - 1560px)/2));bottom:28px;width:min(49vw,700px,calc((100svh - 118px)*.75)); }
 .catalog-chapter-scene.places-fairytale .scene-child { display:block;left:36%;bottom:-22px;width:clamp(220px,25vw,420px);max-height:35svh;object-fit:contain;object-position:bottom; }
}
@media(min-width:1200px) and (min-height:700px) and (max-height:900px) {
 .catalog-chapter-scene.places-fairytale .scene-copy { width:min(38vw,calc((100svh - 450px)*1.2)); }
 .places-fairytale .scene-copy > .places-description { font-size:18px;line-height:1.3; }
 .places-fairytale .scene-benefits { margin:12px 0; }
 .places-fairytale .scene-benefits i { width:46px;height:46px; }
 .places-fairytale .scene-benefits span { font-size:15px; }
 .places-fairytale .places-date-button { min-height:60px;width:330px;font-size:22px; }
}
@media(max-width:1199px) {
 .places-fairytale .places-scene-layout { width:calc(100% - 64px);grid-template-columns:1fr 1fr;gap:10px; }
 .places-fairytale .scene-tree { width:100%; }
 .places-fairytale .scene-copy > .places-description { font-size:18px; }
 .places-fairytale .scene-benefits span { font-size:15px; }
 .places-fairytale .scene-benefits i { width:46px;height:46px; }
 .places-fairytale .places-date-button { width:100%;font-size:22px; }
}
@media(max-width:767px) {
 .places-fairytale .places-scene-layout { width:calc(100% - 36px);grid-template-columns:1fr;gap:30px; }
 .places-fairytale .scene-copy > .scene-kicker { font-size:14px; }
 .places-fairytale .scene-copy > .places-description { font-size:20px;line-height:1.4; }
 .places-fairytale .scene-tree { width:100%;max-width:430px; }
 .places-fairytale .tree-choice strong { font-size:14px; }
 .places-fairytale .tree-choice { width:32%; }
 .places-fairytale .choice-home,.places-fairytale .choice-outdoor { width:34%; }
 .places-fairytale .scene-benefits > div { padding:0 5px; }
 .places-fairytale .scene-benefits span { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) {
 .places-fairytale *,body[data-program-chapter="1"] .places-fairytale * { animation:none!important;transition:none!important; }
}

.places-fairytale .places-date-button::before,.places-fairytale .places-date-button::after { display:none; }
@media(min-width:768px) and (max-width:1199px) {
 .places-fairytale .scene-tree { align-self:end; }
}
@media(min-width:1200px) and (min-height:700px) and (max-height:760px) {
 .catalog-chapter-scene.places-fairytale .scene-copy { width:380px; }
 .places-fairytale .places-art-title { width:290px; }
 .places-fairytale .scene-copy > .scene-kicker { font-size:13px; }
 .places-fairytale .scene-copy > .places-description { font-size:17px; }
 .places-fairytale .scene-benefits i { width:40px;height:40px; }
 .places-fairytale .scene-benefits span { font-size:14px; }
 .places-fairytale .places-date-button { min-height:54px; }
}

