/* T-069: Hotels-only reconciliation to PalmSpringsHotels.jpg. Shared chrome is untouched. */
.PS-hotels{--hotel-ink:#18243c;--hotel-orange:#e97825;--hotel-green:#477438;color:var(--hotel-ink);background:#fffdf9;font:14px/1.45 Arial,sans-serif;width:100%;min-width:0}
.PS-hotels,.PS-hotels *{box-sizing:border-box}.PS-hotels [hidden]{display:none!important}
.PS-hotels h1,.PS-hotels h2,.PS-hotels h3{font-family:Georgia,'Times New Roman',serif;font-weight:700;color:var(--hotel-ink);letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.PS-hotels p{margin:0 0 12px}.PS-hotels a{text-decoration:none}.PS-hotels a:focus-visible,.PS-hotels button:focus-visible{outline:3px solid var(--hotel-orange);outline-offset:3px}
.PS-h-private-notice{padding:5px 20px;background:#f7edda;color:#293340;font:12px/1.4 Arial,sans-serif;text-align:center}.PS-h-private-notice a{text-decoration:underline}
.PS-hotels .PS-h-hero{min-height:390px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;background:#637e82;isolation:isolate}
.PS-hotels .PS-h-hero-photo{position:absolute;inset:0;z-index:-2;overflow:hidden}.PS-hotels .PS-h-hero-photo picture,.PS-hotels .PS-h-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.PS-hotels .PS-h-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102c3270,#102c3205 72%)}
.PS-hotels .PS-h-hero-copy{width:100%;max-width:1320px;padding:42px 32px 16px;margin:auto auto 0;color:#fff}.PS-hotels .PS-h-kicker{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;margin-bottom:8px}.PS-hotels .PS-h-hero h1{font-size:clamp(44px,5vw,64px);line-height:1.01;color:#fff;text-shadow:0 2px 12px #16333855}.PS-hotels .PS-h-intro{max-width:390px;margin:12px 0 0;font-size:17px;line-height:1.35}
.PS-hotels .PS-h-filters{display:grid;grid-template-columns:repeat(7,minmax(0,132px));justify-content:center;gap:8px;width:100%;max-width:1320px;margin:0 auto;padding:12px 32px 24px}.PS-hotels .PS-h-filters button{appearance:none;border:1px solid #fff;background:#fffdf9;color:var(--hotel-ink);border-radius:999px;min-height:36px;padding:6px 8px;font:500 12px/1.3 Arial,sans-serif;cursor:pointer;min-width:0;max-width:100%;overflow-wrap:normal;box-shadow:none}.PS-hotels .PS-h-filters button[aria-pressed=true]{background:var(--hotel-orange);border-color:var(--hotel-orange);color:#fff}
.PS-hotels .PS-h-content{max-width:1320px;padding:22px 32px 28px;margin:auto}.PS-hotels .PS-h-section-heading{display:flex;align-items:center;gap:14px;margin:0 0 8px}.PS-hotels h2{font-size:30px;line-height:1.12}.PS-hotels .PS-h-section-heading h2{flex-shrink:0}.PS-hotels .PS-h-rule{display:block;width:34px;height:3px;background:var(--hotel-orange);flex-shrink:0}.PS-hotels .PS-h-section-intro{font-size:12px;line-height:1.4;margin:0;flex:1}.PS-hotels .PS-h-section-heading>a{margin-left:auto;flex-shrink:0;font-size:12px;font-weight:600;color:#ba5415;min-height:36px;display:flex;align-items:center;gap:6px}.PS-hotels .PS-h-picks{margin-bottom:22px}.PS-hotels .PS-h-preview-note{font-size:12px;color:#6a655a;margin:6px 0 0;padding:0;border:0}.PS-hotels .PS-h-picks-grid:empty{display:none}
.PS-hotels .PS-h-picks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:14px}.PS-hotels .PS-h-selected-intro{font-size:14px;line-height:1.4;margin-bottom:14px}.PS-hotels .PS-h-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.PS-hotels .PS-h-card{background:#fff;border:1px solid #e6e3dc;border-radius:5px;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:0 2px 5px #2732260b}
.PS-hotels .PS-h-photo{aspect-ratio:2;position:relative;overflow:hidden;background:#ede9e1}.PS-hotels .PS-h-photo picture,.PS-hotels .PS-h-photo img{display:block;width:100%;height:100%;object-fit:cover}.PS-hotels .PS-h-no-photo{height:100%;background:linear-gradient(140deg,#eee5d6,#d7d7c9)}.PS-hotels .PS-h-location{position:absolute;bottom:0;left:0;right:0;padding:20px 10px 5px;background:linear-gradient(transparent,#152a36c4);color:#fff;font-size:12px;line-height:1.3;font-weight:600;display:flex;align-items:center;gap:4px}.PS-hotels .PS-h-icon{width:26px;height:26px;display:inline-block;flex-shrink:0}.PS-hotels .PS-h-location .PS-h-icon{width:15px;height:17px}
.PS-hotels .PS-h-ribbon{position:absolute;top:0;left:14px;width:64px;min-height:105px;padding:8px 5px 18px;background:#efc46d;color:#1f2d33;font:700 10px/1.15 Arial,sans-serif;text-align:center;letter-spacing:.04em;text-transform:uppercase;clip-path:polygon(0 0,100% 0,100% 100%,50% 88%,0 100%)}.PS-hotels .PS-h-ribbon .PS-h-icon{width:30px;height:30px;display:block;margin:0 auto 4px}.PS-hotels .PS-h-sponsored{width:92px;font-size:10px}
.PS-hotels .PS-h-card-body{padding:10px;display:flex;flex-direction:column;flex:1;min-width:0}.PS-hotels h3{font-size:18px;line-height:1.12;margin:0 0 6px}.PS-hotels .PS-h-grid h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.24em}.PS-hotels .PS-h-description{font-size:13px;line-height:1.35;overflow-wrap:anywhere;margin:0 0 9px}.PS-hotels .PS-h-grid .PS-h-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}.PS-hotels .PS-h-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto;width:100%}.PS-hotels a.PS-h-button{background:var(--hotel-green);color:#fff;border-radius:4px;min-height:34px;padding:6px 12px;font-size:12px;line-height:22px;font-weight:600;text-align:center;display:flex;align-items:center;justify-content:center;gap:7px}.PS-hotels .PS-h-grid .PS-h-button{width:100%}
.PS-hotels .PS-h-pick h3{font-size:25px;margin-bottom:5px}.PS-hotels .PS-h-pick .PS-h-card-body{padding:13px 16px 14px}.PS-hotels .PS-h-pick .PS-h-description{font-size:15px;line-height:1.4;margin-bottom:14px}.PS-hotels .PS-h-editorial-line{font-size:15px;line-height:1.35;color:#bf5b1b;margin:0 0 6px}.PS-hotels .PS-h-badge{font-size:11px;text-transform:uppercase;color:#785829;margin-bottom:5px}.PS-hotels .PS-h-pick .PS-h-button{min-width:145px;min-height:40px}.PS-hotels .PS-h-contact{display:flex;align-items:center;gap:6px;color:var(--hotel-ink);font-size:13px;min-height:40px;text-decoration:underline}.PS-hotels .PS-h-contact .PS-h-icon{width:23px;height:23px}
.PS-hotels .PS-h-grid-empty,.PS-hotels .PS-h-picks-empty{font-size:14px;padding:16px 0;margin:0}.PS-hotels .PS-h-closing{position:relative;isolation:isolate;min-height:210px;padding:24px 32px 38px;background:#c5b399}.PS-hotels .PS-h-closing-photo{position:absolute;inset:0;z-index:-1;overflow:hidden}.PS-hotels .PS-h-closing-photo picture,.PS-hotels .PS-h-closing-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 54%}.PS-hotels .PS-h-closing-inner{max-width:1256px;margin:auto;display:grid;grid-template-columns:1fr 1.05fr;gap:28px;align-items:center}.PS-hotels .PS-h-closing-content{padding:18px 20px;background:#fffdf5ec;border-radius:5px;min-width:0}.PS-hotels .PS-h-closing h2{font-size:25px;line-height:1.16;margin-bottom:8px}.PS-hotels .PS-h-closing-content p{font-size:13px;line-height:1.45;margin:0}.PS-hotels .PS-h-closing a{color:#335c31;text-decoration:underline}.PS-hotels .PS-h-features{margin:0;padding:16px 12px;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:#fffdf5ec;border-radius:5px}.PS-hotels .PS-h-features li{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.3;min-width:0}.PS-hotels .PS-h-features .PS-h-icon{color:#c87929;width:29px;height:29px}.PS-hotels .PS-h-features li:nth-child(even) .PS-h-icon{color:var(--hotel-green)}
@media(max-width:1100px){.PS-hotels .PS-h-picks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.PS-hotels .PS-h-section-heading{flex-wrap:wrap;gap:8px 12px}.PS-hotels .PS-h-section-intro{flex-basis:55%;order:4}.PS-hotels .PS-h-filters{grid-template-columns:repeat(4,minmax(0,132px));padding-bottom:20px}.PS-hotels .PS-h-closing-inner{gap:18px}.PS-hotels .PS-h-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.PS-hotels .PS-h-pick .PS-h-actions{gap:8px}}
@media(max-width:1000px){.PS-hotels .PS-h-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.PS-hotels h2{font-size:28px}}
@media(max-width:700px){.PS-hotels .PS-h-picks-grid{grid-template-columns:minmax(0,1fr)}.PS-hotels .PS-h-closing{padding:24px 16px 32px}.PS-hotels .PS-h-closing-inner{grid-template-columns:1fr;gap:14px}.PS-hotels .PS-h-features{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.PS-hotels .PS-h-features li{flex-direction:column;text-align:center;font-size:11px}.PS-hotels .PS-h-section-intro{flex-basis:100%}.PS-hotels .PS-h-section-heading h2{flex-shrink:1}}
/* T-079: phone-only native scroller. The 52px padded row centers 36px pills on the hero edge; 8px vertical padding protects focus outlines. */
/* T-080: smaller phone headline; preserve the existing ~247px photo frame. */
@media(max-width:600px){.PS-hotels .PS-h-hero{min-height:247px}.PS-hotels .PS-h-hero-copy{padding:32px 20px 44px}.PS-hotels .PS-h-hero h1{font-size:clamp(38px,10.77vw,42px);line-height:1.05}.PS-hotels .PS-h-intro{font-size:15px;max-width:310px}.PS-hotels .PS-h-filters{position:absolute;bottom:-26px;left:0;display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:8px;max-width:100%;padding:8px 16px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:16px}.PS-hotels .PS-h-filters::-webkit-scrollbar{display:none}.PS-hotels .PS-h-filters button{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start;font-size:11.5px;padding:6px 14px}.PS-hotels .PS-h-content{padding:38px 16px 24px}.PS-hotels .PS-h-grid{grid-template-columns:minmax(0,1fr);gap:16px}.PS-hotels .PS-h-picks{margin-bottom:20px}.PS-hotels h2{font-size:26px}.PS-hotels .PS-h-selected-intro{font-size:13px}.PS-hotels .PS-h-section-heading>a{min-height:44px}.PS-hotels .PS-h-section-heading{gap:8px}.PS-hotels .PS-h-rule{width:25px}.PS-hotels h3{font-size:20px}.PS-hotels .PS-h-grid h3{min-height:0}.PS-hotels .PS-h-description{font-size:14px}.PS-hotels .PS-h-grid .PS-h-description{min-height:0}.PS-hotels .PS-h-card-body{padding:12px}.PS-hotels a.PS-h-button{min-height:44px;padding:10px 14px;font-size:13px}.PS-hotels .PS-h-pick h3{font-size:25px}.PS-hotels .PS-h-closing h2{font-size:24px}.PS-h-private-notice{padding:5px 12px}}

/* T-071: Selected Hotels only; founder Picks and hero pills keep their own styles. */
.PS-hotels .PS-h-grid{gap:26px 24px}
.PS-hotels .PS-h-grid .PS-h-card-body{padding:12px 14px}
.PS-hotels .PS-h-grid h3{display:block;overflow:visible;-webkit-line-clamp:unset;font-size:18px;line-height:1.2;min-height:2.4em;margin:0 0 8px;overflow-wrap:normal}
.PS-hotels .PS-h-grid .PS-h-description{font-size:13px;line-height:1.5;color:#29364a;-webkit-line-clamp:3;min-height:4.5em;max-height:4.5em;margin:0 0 12px}
.PS-hotels .PS-h-grid .PS-h-actions{padding-top:2px}
@media(max-width:600px){.PS-hotels .PS-h-grid{gap:22px}.PS-hotels .PS-h-grid h3{font-size:19px;min-height:0}.PS-hotels .PS-h-grid .PS-h-description{font-size:14px;min-height:0}.PS-hotels .PS-h-grid .PS-h-card-body{padding:14px}}

/* T-072: natural Selected-card flow; no reserved description height or bottom-pushed CTA. */
.PS-hotels .PS-h-grid{align-items:start}
.PS-hotels .PS-h-grid .PS-h-card-body{flex:0}
.PS-hotels .PS-h-grid h3{min-height:0}
.PS-hotels .PS-h-grid .PS-h-description{min-height:0;margin-bottom:8px}
.PS-hotels .PS-h-grid .PS-h-actions{margin-top:0;padding-top:2px}

/* T-078: premium editorial copy only; phone copy flows in full. */
@media(min-width:701px){.PS-hotels .PS-h-pick .PS-h-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;max-height:5.6em}}
@media(max-width:600px){.PS-hotels .PS-h-pick .PS-h-button,.PS-hotels .PS-h-pick .PS-h-contact{min-height:44px}}

/* T-081: soft rose border for inactive phone filters; keep active and focus states. */
@media(max-width:600px){.PS-hotels .PS-h-filters button[aria-pressed="false"]{border-color:#d98fa8}}
