/* Phase 2 only: place and venue detail templates. Landing/directory styles stay unchanged. */
.phase2-page{background:#f7f9fd}
.p2-place-hero{padding:44px 0 52px;background:linear-gradient(120deg,#e9f2ff 0%,#f9fbff 64%,#eaf3ff 100%);border-bottom:1px solid #d9e7f8}
.p2-place-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.77fr);align-items:center;gap:clamp(30px,5vw,75px)}
.p2-place-intro .breadcrumbs{margin:0 0 34px}.p2-place-intro h1{font-size:clamp(38px,4.3vw,62px);line-height:1.06;letter-spacing:-.055em;margin:14px 0 20px}.p2-place-intro>p:not(.kicker){font-size:18px;max-width:640px;color:#425c7e}.p2-place-code{display:inline-block;color:#175fc5;font-weight:850;background:#dceaff;padding:7px 11px;border-radius:8px}.p2-stat-line{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.p2-stat-line span{display:flex;gap:8px;align-items:baseline;background:#fff;border:1px solid #d3e1f3;padding:10px 14px;border-radius:11px;color:#506b8e;font-size:13px;font-weight:750}.p2-stat-line strong{color:#1765ce;font-size:24px;line-height:1}
.p2-place-visual{position:relative;margin:0;overflow:hidden;background:#dce9f9;border-radius:23px;box-shadow:0 23px 55px #19457722}.p2-place-visual img,.p2-place-visual .p2-photo-fallback{display:block;width:100%;height:370px;object-fit:cover}.p2-place-visual figcaption{position:absolute;right:12px;bottom:12px;background:#10223ecc;color:#fff;border-radius:8px;padding:6px 10px;font-size:11px}.p2-photo-fallback{display:grid;place-items:center;background:#deebfb;color:#1a63d5;font-size:60px}
.p2-place-content{padding-top:60px;padding-bottom:55px}.p2-content-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 22px}.p2-content-heading h2{font-size:clamp(31px,3.5vw,44px);line-height:1.12;letter-spacing:-.04em;margin:0 0 5px}.p2-content-heading p:not(.kicker){color:#586f8b;margin:0}.p2-group-nav{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:44px}.p2-group-nav a{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #c6daf4;border-radius:100px;padding:9px 14px;text-decoration:none;font-weight:800;color:#164f9b}.p2-group-nav a:hover{border-color:#1765ce;background:#edf5ff}.p2-group-nav span{display:grid;place-items:center;min-width:23px;height:23px;border-radius:100px;background:#e7f0ff;font-size:11px}
.p2-area{scroll-margin-top:100px;margin:0 0 50px}.p2-area-heading{display:flex;align-items:center;gap:15px;border-bottom:1px solid #cbdcf0;padding:0 0 16px;margin-bottom:22px}.p2-area-heading>span{display:grid;place-items:center;width:49px;height:49px;flex:none;border-radius:13px;background:#1766d3;color:#fff;font-size:25px}.p2-area-heading p{font-size:11px;font-weight:900;letter-spacing:.13em;color:#1765ce;margin:0}.p2-area-heading h2{font-size:27px;margin:0;letter-spacing:-.03em}.p2-area-heading small{margin-left:auto;color:#58718d;font-weight:850}.p2-venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.p2-venue-card{display:block;overflow:hidden;background:#fff;border:1px solid #d7e4f4;border-radius:17px;color:#10223e;text-decoration:none;box-shadow:0 12px 28px #1339640f;transition:transform .18s,box-shadow .18s}.p2-venue-card:hover,.p2-venue-card:focus-visible{transform:translateY(-4px);box-shadow:0 20px 34px #13396420;border-color:#91b9ec}.p2-venue-image{position:relative;aspect-ratio:16/10;background:#e9f1fb;overflow:hidden}.p2-venue-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.p2-venue-card:hover img{transform:scale(1.035)}.p2-venue-image>span:not(.p2-image-tag){display:grid;place-items:center;height:100%;font-size:32px}.p2-image-tag{position:absolute;left:12px;bottom:12px;background:#082548e6;color:#fff;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:900;letter-spacing:.08em}.p2-venue-copy{padding:19px 20px 21px}.p2-venue-copy small{color:#53739b;font-weight:800;font-size:12px}.p2-venue-copy h3{font-size:21px;line-height:1.2;letter-spacing:-.03em;margin:8px 0 8px}.p2-venue-copy p{color:#62758f;font-size:13px;margin:0 0 18px}.p2-venue-copy strong{color:#1765ce;font-size:13px}
.p2-travel-note{background:#eaf2fe;border:1px solid #d4e4f8;border-radius:16px;padding:24px 27px;margin-top:30px}.p2-travel-note strong{font-size:17px}.p2-travel-note p{color:#516985;margin:5px 0 0}
.p2-detail-wrap{padding-top:32px;padding-bottom:65px}.p2-detail-wrap>.breadcrumbs{margin-bottom:25px}.p2-detail-top{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:36px;align-items:start;margin-bottom:30px}.p2-gallery-stage{height:400px;position:relative;overflow:hidden;border-radius:18px;background:#e7eff9}.p2-gallery-stage img{display:block;width:100%;height:100%;object-fit:cover}.p2-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#fffdfa;color:#173e73;box-shadow:0 3px 14px #0b244a55;font-size:30px;line-height:1}.p2-gallery-arrow.previous{left:13px}.p2-gallery-arrow.next{right:13px}.p2-gallery-count{position:absolute;right:15px;bottom:13px;background:#10223edb;color:#fff;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:800}.p2-gallery-thumbs{display:flex;gap:9px;overflow-x:auto;padding:10px 2px}.p2-gallery-thumbs button{flex:0 0 82px;height:62px;border:3px solid transparent;border-radius:9px;padding:0;overflow:hidden;background:#edf3fa}.p2-gallery-thumbs button.active{border-color:#1a63d5}.p2-gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover}.p2-photo-note{font-size:11px;color:#6d7d94;margin:4px 0 0}.p2-detail-intro{padding:10px 0}.p2-detail-intro h1{font-size:clamp(36px,4vw,54px);letter-spacing:-.05em;line-height:1.07;margin:8px 0}.p2-location-name{font-size:23px;color:#354e71;margin:0 0 14px}.p2-detail-tags{display:flex;flex-wrap:wrap;gap:8px}.p2-detail-tags span{background:#e7f0ff;color:#1759ae;border-radius:100px;padding:7px 11px;font-size:12px;font-weight:850}.p2-rating{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin:24px 0;padding:16px 0;border-top:1px solid #d8e3f0;border-bottom:1px solid #d8e3f0}.p2-rating>span{color:#a4b2c6;letter-spacing:2px;font-size:23px}.p2-rating strong{font-size:14px}.p2-rating small{color:#68809c}.p2-intro-text{color:#536a87;font-size:16px}.p2-status-warning{color:#925318;background:#fff1df;padding:11px;border-radius:9px;font-weight:750}.p2-primary-actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:22px}.p2-link-button{font-weight:850;text-decoration:none}
.p2-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.p2-info-panel{padding:29px;margin-bottom:19px}.p2-info-panel h2{font-size:26px}.p2-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.p2-facts div{display:flex;flex-direction:column;gap:3px;background:#f4f8fd;border:1px solid #e2ebf7;border-radius:11px;padding:15px}.p2-facts span{color:#687f9b;font-size:12px;font-weight:800}.p2-facts strong{line-height:1.3}.p2-unverified{display:flex;gap:12px;padding:17px;background:#f3f7fc;border-radius:11px;color:#4e6582}.p2-unverified>span{font-size:22px;color:#1b67d4}.p2-unverified p{margin:0}.p2-amenity-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.p2-amenity-list li{background:#eaf4ff;border-radius:9px;padding:9px}.p2-map-panel{display:flex;align-items:center;gap:15px;background:linear-gradient(120deg,#e4eefb,#f8fbff);border:1px solid #d5e3f5;border-radius:12px;padding:20px;margin:18px 0}.p2-map-panel>span{font-size:35px;color:#1a63d5}.p2-map-panel div{display:flex;flex-direction:column;gap:2px}.p2-map-panel small{color:#67809a}.p2-map-panel a{margin-left:auto;font-weight:850;white-space:nowrap}.p2-review-summary{display:flex;align-items:center;gap:16px;padding:18px;background:#f3f7fd;border-radius:12px}.p2-review-summary>span{font-size:29px;color:#9dadc0}.p2-review-summary div{display:grid}.p2-review-summary small{color:#627b98}.p2-review-form{display:grid;gap:13px}.p2-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.p2-review-form label{font-weight:800;font-size:13px}.p2-review-form input,.p2-review-form select,.p2-review-form textarea{display:block;width:100%;border:1px solid #c5d7ec;border-radius:9px;padding:11px 12px;margin-top:5px;background:#fff;color:#10223e}.p2-review-form .button{justify-self:start}.p2-success{background:#e0f7e9;color:#126646;padding:12px;border-radius:9px}.p2-card-check{margin:0;top:95px}.p2-card-check>p:not(.kicker){color:#5b708b}.p2-check-example{display:grid;gap:7px;border:1px solid #d6e3f4;background:#f5f9ff;border-radius:11px;padding:16px;margin:17px 0}.p2-check-example small{color:#1765ce;font-weight:900;letter-spacing:.1em}.p2-check-example .badge{justify-self:start}.p2-check-example p{margin:0;color:#60758f;font-size:13px}.p2-check-note{display:block;color:#70819b;margin-top:18px}
.p2-popular-cards{margin-top:35px;padding:25px 0 7px}.p2-scroll-controls{display:flex;gap:8px}.p2-scroll-controls button{width:39px;height:39px;border:1px solid #b9d2f3;background:#fff;border-radius:9px;color:#1765ce;font-weight:900}.p2-card-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 17px}.p2-card-tile{display:flex;flex-direction:column;gap:10px;flex:0 0 255px;min-height:155px;padding:21px;border:1px solid #d5e3f4;border-radius:14px;background:#fff;color:#10223e;text-decoration:none;scroll-snap-align:start;box-shadow:0 8px 20px #173d7410}.p2-card-tile span{font-size:11px;color:#1765ce;font-weight:900;text-transform:uppercase}.p2-card-tile strong{font-size:17px;line-height:1.25}.p2-card-tile em{font-size:12px;color:#1765ce;font-style:normal;font-weight:850;margin-top:auto}
.p2-source-panel{border-color:#c7dcf5}.p2-source-caution{background:#fff5e4;border:1px solid #f0d9ac;color:#7f591e;padding:12px 14px;border-radius:9px;font-size:13px}.p2-reported-row{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid #e1eaf6}.p2-reported-row strong{color:#284d7d}.p2-reported-row span{color:#4c6686}.p2-source-panel h3{font-size:16px;margin:23px 0 10px}.p2-important-list{padding-left:20px;color:#4c6686}.p2-important-list li{margin-bottom:6px}.p2-source-date{display:block;color:#69809c;margin-top:18px}
@media(max-width:1050px){.p2-venue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p2-detail-layout{grid-template-columns:minmax(0,1fr) 290px}.p2-detail-top{gap:22px}}
@media(max-width:760px){.p2-place-layout,.p2-detail-top,.p2-detail-layout{grid-template-columns:1fr}.p2-place-hero{padding:25px 0 35px}.p2-place-intro .breadcrumbs{margin-bottom:25px}.p2-place-intro h1{font-size:42px}.p2-place-visual img,.p2-place-visual .p2-photo-fallback{height:270px}.p2-place-content{padding-top:40px}.p2-venue-grid{grid-template-columns:1fr}.p2-area-heading h2{font-size:23px}.p2-detail-wrap{padding-top:20px}.p2-gallery-stage{height:290px}.p2-detail-intro h1{font-size:39px}.p2-card-check{position:static}.p2-form-grid,.p2-facts,.p2-reported-row{grid-template-columns:1fr}.p2-map-panel{flex-wrap:wrap}.p2-map-panel a{margin-left:0}.p2-review-form .button{width:100%}}
.p2-amenity-list li{display:flex;align-items:center;gap:10px;background:#f0f8f3;color:#244d39}
.p2-amenity-check{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:#199956;color:#fff;font-weight:900;font-size:13px}
.foot .heart{color:#f87186}
.p2-external-stars{background:linear-gradient(90deg,#e9ad28 calc(var(--score)*20%),#c7d4e5 0);color:transparent!important;background-clip:text;-webkit-background-clip:text;letter-spacing:2px}
.p2-venue-rating{display:flex;align-items:center;gap:8px;margin:1px 0 11px;font-size:13px;color:#173454}.p2-venue-rating .p2-external-stars{font-size:18px;line-height:1}.p2-venue-rating b{white-space:nowrap}
.p2-rating small{width:100%;font-size:12px}.p2-rating small a{font-weight:750}
.p2-card-tile{padding:0 0 18px;overflow:hidden;min-height:260px}
.p2-card-tile img{width:100%;height:145px;object-fit:cover;display:block}
.p2-card-tile span,.p2-card-tile strong,.p2-card-tile em{margin-left:17px;margin-right:17px}
.p2-card-tile em{margin-top:auto}
.p2-star-field{border:0;margin:2px 0;padding:0}.p2-star-field legend{font-size:13px;font-weight:800;margin-bottom:7px}
.p2-star-picker{display:flex;align-items:center;gap:4px}
.p2-star-picker label{position:relative;cursor:pointer;margin:0}
.p2-star-picker input{position:absolute;opacity:0;width:1px;height:1px}
.p2-star-picker label span[aria-hidden]{font-size:34px;color:#b4c2d4;transition:color .15s,transform .15s}
.p2-star-picker label:has(input:checked) span[aria-hidden],.p2-star-picker label:has(~label input:checked) span[aria-hidden]{color:#e6ab2a}
.p2-star-picker label:hover span[aria-hidden],.p2-star-picker label:focus-within span[aria-hidden]{color:#d79116;transform:scale(1.1)}
.p2-venue-grid:has(> :only-child){grid-template-columns:minmax(0,420px)}
@media(max-width:760px){.p2-venue-grid:has(> :only-child){grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.p2-venue-rating{justify-content:flex-end;text-align:right}}

/* CardDecode wordmark on the shared white lounge navigation. */
.top-inner>.logo{display:block;width:190px;height:64px;flex:0 0 190px;background:url('../../assets/brand/carddecode-wordmark.png') center/contain no-repeat;font-size:0!important;line-height:0;letter-spacing:0}.top-inner>.logo>*{display:none!important}
@media(max-width:700px){.top-inner>.logo{width:158px;height:54px;flex-basis:158px}}
