.pph-explore{color:#17324a;background:#f7f5f0;overflow:hidden}.pph-explore button{cursor:pointer}.pph-explore-hero{isolation:isolate;color:#fff;background:#173e46;align-items:center;min-height:320px;display:flex;position:relative}.pph-explore-cover{z-index:-1;background:linear-gradient(95deg,#092230ed,#092230b8 57%,#09223047),url(https://raw.githubusercontent.com/guyoshi/porto-peace-haven/main/assets/fotos/hero-porto.jpg) 50% 46%/cover no-repeat;position:absolute;inset:0}.pph-explore-hero-content{padding:42px 0 40px}.pph-explore-kicker{letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:.79rem;font-weight:850;display:flex;color:#c4e5d9!important}.pph-explore-hero h1{max-width:800px;font-size:clamp(2.55rem,5.6vw,5rem);line-height:1.02}.pph-explore-hero-content>p:not(.pph-explore-kicker){color:#f0f3f1;max-width:670px;margin:15px 0 22px;font-size:1.02rem}.pph-searchbox{color:#135a57;background:#fff;border-radius:13px;align-items:center;gap:11px;max-width:650px;min-height:56px;padding:0 17px;display:flex;box-shadow:0 10px 36px #03171c33}.pph-searchbox input{color:#17324a;background:0 0;border:0;outline:0;flex:1;min-width:0;padding:14px 0;font-size:1rem}.pph-searchbox input::placeholder{color:#7a8b90}.pph-searchbox button{color:#72828c;background:0 0;border:0}.pph-explore-content{padding-bottom:80px}.pph-explore-filters{scrollbar-width:thin;scroll-snap-type:x proximity;gap:8px;padding:20px 0 12px;display:flex;overflow-x:auto}.pph-explore-filters button{white-space:nowrap;color:#294f58;scroll-snap-align:start;background:#fff;border:1px solid #d7ded8;border-radius:99px;flex:none;align-items:center;gap:7px;padding:10px 14px;font-size:.84rem;font-weight:800;transition:background .18s,border .18s;display:inline-flex}.pph-explore-filters button:hover{border-color:#0d6a64}.pph-explore-filters button.is-active{color:#fff;background:#0d6a64;border-color:#0d6a64}.pph-explore-section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin:20px 0 15px;display:flex}.pph-explore-section-heading .eyebrow{color:#3f8177}.pph-explore-section-heading h2{font-size:clamp(1.7rem,3.4vw,2.65rem)}.pph-surprise-button{color:#755622;white-space:nowrap;background:#fff8e5;border:1px solid #cbb782;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 13px;font-size:.83rem;font-weight:850;display:inline-flex}.pph-surprise-button:hover{background:#ffedbf}.pph-explore-primary{grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr);align-items:stretch;gap:17px;display:grid}.pph-map-shell,.pph-explore-detail{background:#fff;border:1px solid #dce4e0;border-radius:18px;overflow:hidden;box-shadow:0 15px 33px #0f343512}.pph-map-shell{flex-direction:column;min-width:0;display:flex;position:relative}.pph-explorer-map{z-index:0;background:#e2ece7;width:100%;height:480px}.pph-map-loading{color:#294850;background:#fff;border-radius:7px;padding:10px 15px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 20px #0000001a}.pph-map-caption{color:#61737a;background:#fff;padding:9px 15px;font-size:.77rem;line-height:1.35;margin:0!important}.pph-pin-wrap{background:0 0;border:0!important}.pph-pin{background:#fff8e8;border:2px solid #fff;border-radius:14px 14px 14px 4px;place-items:center;width:37px;height:37px;font-size:21px;display:grid;transform:rotate(-8deg);box-shadow:0 4px 15px #122d2f42}.pph-pin-home{background:#bce8e0;border-color:#0d6a64}.pph-map-popup{color:#17324a;gap:7px;min-width:160px;display:grid}.pph-map-popup strong{font-size:.95rem}.pph-map-popup small{color:#637780}.pph-map-popup a{font-weight:800;text-decoration:underline;color:#0b6961!important}.pph-explore .leaflet-container{font-family:inherit}.pph-explore .leaflet-popup-content{margin:13px 17px}.pph-explore-detail{flex-direction:column;min-height:470px;display:flex}.pph-detail-picture{background:#dfece8;flex:none;height:205px;position:relative;overflow:hidden}.pph-detail-picture img{object-fit:cover;width:100%;height:100%}.pph-detail-category{z-index:1;color:#1a514e;background:#fffffff5;border-radius:99px;padding:5px 11px;font-size:.77rem;font-weight:850;position:absolute;bottom:12px;left:12px}.pph-photo-placeholder{background:radial-gradient(circle at 28% 22%,#eff8e8,#a7c8bd);place-items:center;height:100%;font-size:82px;display:grid}.pph-detail-body{flex-direction:column;flex:1;align-items:flex-start;padding:21px 22px 22px;display:flex}.pph-detail-body h3{font-size:1.9rem}.pph-detail-body>p{color:#64767a;margin:9px 0 12px;line-height:1.5}.pph-detail-rating{color:#955f13;align-items:center;gap:8px;font-size:1.03rem;font-weight:850;display:flex}.pph-detail-rating small{color:#69777d;font-size:.67rem;font-weight:400;line-height:1.2}.pph-free{color:#20744b;background:#e4f3e4;border-radius:99px;margin-bottom:8px;padding:3px 9px;font-size:.74rem;font-weight:850}.pph-detail-address{color:#536974;align-items:flex-start;gap:8px;margin:12px 0 14px;font-size:.84rem;display:flex}.pph-detail-address svg{color:#0d6a64;flex:none;margin-top:2px}.pph-directions{background:#0d6a64;border:0;border-radius:10px;justify-content:center;align-items:center;gap:9px;max-width:100%;min-height:47px;padding:12px 16px;font-weight:850;display:inline-flex;color:#fff!important}.pph-directions:hover{background:#07524e}.pph-directions svg:last-child{margin-left:auto}.pph-secondary-actions{flex-wrap:wrap;gap:8px 16px;margin-top:13px;display:flex}.pph-secondary-actions a{color:#156962;align-items:center;gap:5px;font-size:.81rem;font-weight:800;text-decoration:underline;display:flex}.pph-from-stay{color:#85939b;margin-top:10px;font-size:.71rem}.pph-explore-welcome{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;padding:35px;display:flex}.pph-explore-welcome>span{font-size:67px}.pph-explore-welcome h3{margin-top:15px;font-size:2rem}.pph-explore-welcome p{line-height:1.55}.pph-explore-welcome button{margin-top:10px}.pph-results{margin-top:34px}.pph-results-heading{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.pph-results-heading h2{font-size:clamp(1.6rem,3vw,2.4rem)}.pph-results-heading h2 span{font-family:var(--font-sans);color:#70828a;white-space:nowrap;font-size:.78rem;font-weight:650}.pph-spot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.pph-spot-card{background:#fff;border:1px solid #dce5e0;border-radius:14px;flex-direction:column;min-width:0;display:flex;overflow:hidden;box-shadow:0 10px 24px #17324a0a}.pph-spot-card:hover,.pph-spot-card.selected{border-color:#0d6a64;box-shadow:0 10px 30px #0d6a641f}.pph-card-main{text-align:left;min-width:0;color:inherit;background:0 0;border:0;flex-direction:column;flex:1;gap:0;padding:0;display:flex}.pph-card-image{background:#dfece7;width:100%;height:153px;display:block;overflow:hidden}.pph-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .2s;display:block}.pph-card-main:hover img{transform:scale(1.04)}.pph-card-placeholder{background:radial-gradient(circle at 30% 0,#ebf5e8,#bcd6cc);place-items:center;width:100%;height:100%;font-size:58px;display:grid}.pph-card-content{flex-direction:column;flex:1;align-items:flex-start;gap:5px;padding:14px 15px;display:flex}.pph-card-type{text-transform:uppercase;letter-spacing:.07em;color:#1e7469;font-size:.68rem;font-weight:850}.pph-card-content strong{font-family:var(--font-display);color:#17324a;font-size:1.32rem;line-height:1.2}.pph-card-description{color:#697a82;flex:1;font-size:.81rem;line-height:1.4}.pph-card-meta{color:#238159;gap:9px;font-size:.79rem;font-weight:850;display:flex}.pph-stars{color:#ab6d16}.pph-card-go{color:#0d6a64;border-top:1px solid #e7eae5;align-items:center;gap:7px;padding:10px 15px;font-size:.83rem;font-weight:850;display:flex}.pph-card-go:hover{background:#eaf5f0}.pph-no-results{text-align:center;border:1px dashed #a7bcb5;border-radius:12px;padding:40px 20px}.pph-no-results button{color:#fff;background:#0d6a64;border:0;border-radius:8px;padding:10px 15px}@media (max-width:1000px){.pph-explore-primary{grid-template-columns:minmax(0,1fr) 330px}.pph-spot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:740px){.pph-explore-hero{min-height:275px}.pph-explore-hero-content{padding:32px 0 28px}.pph-explore-hero h1{font-size:clamp(2.4rem,11vw,3.8rem)}.pph-explore-hero-content>p:not(.pph-explore-kicker){font-size:.9rem}.pph-searchbox{min-height:49px}.pph-explore-filters{margin-right:-14px;padding:14px 14px 10px 0}.pph-explore-section-heading{margin:13px 0}.pph-explore-section-heading h2{font-size:1.85rem}.pph-surprise-button{padding:8px 10px;font-size:.77rem}.pph-explore-primary{grid-template-columns:minmax(0,1fr)}.pph-explorer-map{height:365px}.pph-explore-detail{min-height:0;display:block}.pph-detail-picture{height:170px}.pph-detail-body{padding:18px}.pph-detail-body h3{font-size:1.65rem}.pph-explore-welcome{padding:22px}.pph-explore-welcome>span{font-size:46px}.pph-explore-welcome h3{font-size:1.5rem}.pph-results{margin-top:30px}}@media (max-width:480px){.pph-spot-grid{grid-template-columns:1fr}.pph-spot-card{flex-flow:wrap}.pph-card-main{flex-direction:row;flex-basis:100%}.pph-card-image{flex:none;width:116px;height:auto;min-height:123px}.pph-card-content{padding:11px}.pph-card-content strong{font-size:1.15rem}.pph-card-description{font-size:.76rem}.pph-card-go{width:100%;padding:9px 12px}.pph-results-heading h2 span{margin-top:6px;display:block}.pph-searchbox input{font-size:.9rem}}@media (prefers-reduced-motion:reduce){.pph-explore *{transition:none!important}}.pph-card-image{position:relative}.pph-image-illustrative,.pph-card-illustrative{z-index:2;color:#fff;font-family:var(--font-sans);background:#0f272dd6;border-radius:6px;max-width:80%;padding:5px 8px;font-size:.67rem;font-weight:700;line-height:1.2;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #00000024}.pph-card-illustrative{font-size:.62rem;top:auto;bottom:9px;right:8px}.pph-photo-credit{color:#64747b;flex-wrap:wrap;gap:0 4px;margin-top:9px;font-size:.69rem;line-height:1.45;display:flex}.pph-photo-credit a{color:#446c78;text-underline-offset:2px;text-decoration:underline}.pph-photo-credit a:hover{color:#0d6a64}.pph-detail-picture .pph-card-placeholder{font-size:80px}
