


.pb-content{
 max-width:780px;
 margin:0 auto;
 font-family:inherit;
 color:inherit;
}

.pb-content img{
 max-width:100%;
 height:auto;
 border-radius:6px;
}


.pb-content table,
.pb-prose table{
 width:100%;
 border-collapse:separate;
 border-spacing:0;
 border:1px solid #e2e8f0;
 border-radius:8px;
 overflow:hidden;
 margin:1.25rem 0;
 font-size:.95rem;
 display:block;
 overflow-x:auto;
 -webkit-overflow-scrolling:touch;
}
@media (min-width:641px){
 .pb-content table,
 .pb-prose table{display:table;overflow-x:visible}
}
.pb-content thead,
.pb-prose thead{background:#f1f5f9}
.pb-content th,
.pb-prose th{
 padding:.75rem 1rem;
 font-weight:600;
 text-align:left;
 color:#334155;
 font-size:.88rem;
 text-transform:uppercase;
 letter-spacing:.03em;
 border-bottom:2px solid #e2e8f0;
 background:#f1f5f9;
}
@media (min-width:641px){
 .pb-content th,
 .pb-prose th{position:sticky !important;top:0 !important;z-index:10 !important}
}
.pb-content td,
.pb-prose td{
 padding:.7rem 1rem;
 color:#475569;
 border-bottom:1px solid #f1f5f9;
 vertical-align:top;
 line-height:1.5;
}
.pb-content tbody tr:last-child td{border-bottom:none}
.pb-content tbody tr:hover{background:#f8fafc}
.pb-content tbody tr:nth-child(even){background:#fafbfc}
.pb-table-scroll{
 overflow-x:auto;
 -webkit-overflow-scrolling:touch;
 margin:1.25rem 0;
 border:1px solid #e2e8f0;
 border-radius:8px;
}
.pb-table-scroll table{margin:0;border:none;border-radius:0}
.pb-table-scroll-hint{
 display:none;
 text-align:center;
 font-size:.75rem;
 color:#94a3b8;
 padding:.25rem 0;
 margin-bottom:-.5rem;
}
@media (max-width:640px){.pb-table-scroll-hint{display:block}}


.pb-ftc-disclosure{
 background:#f8f9fa;
 border:1px solid #e0e0e0;
 border-radius:6px;
 padding:12px 16px;
 margin:16px 0;
 font-size:13px;
 color:#666;
}
.pb-ftc-inline{font-size:11px;color:#999}
.pb-ftc-mid-reminder{font-size:12px;color:#999;font-style:italic;margin:8px 0}


@media (max-width:640px){
 .pb-trail-card__grid{
 grid-template-columns:repeat(2, 1fr);
}
 .pb-quick-facts__row{
 flex-direction:column;
 gap:0.15rem;
}
 .pb-quick-facts__val{
 text-align:left;
}
}


.pb-activity-card{
 container-type:inline-size;
 background:#fff;
 border:1px solid #e2e8f0;
 border-left:4px solid #0891b2;
 border-radius:0 8px 8px 0;
 overflow:hidden;
 margin-bottom:1.5rem;
}
.pb-activity-card__hero{
 aspect-ratio:16 / 10;
 overflow:hidden;
 background:#f1f5f9;
}
.pb-activity-card__img{
 width:100%;
 height:100%;
 object-fit:cover;
 display:block;
}
.pb-activity-card__body{
 padding:1rem 1.25rem 1.25rem;
}
.pb-activity-card__header{
 display:flex;
 justify-content:space-between;
 align-items:baseline;
 margin-bottom:0.5rem;
}
.pb-activity-card__name{
 margin:0;
 font-size:1.1rem;
}
.pb-activity-card__link{
 color:inherit;
 text-decoration:none;
 border-bottom:2px solid #a5f3fc;
 transition:border-color 0.15s ease;
}
.pb-activity-card__link:hover{
 border-color:#0891b2;
}
.pb-activity-card__grid{
 display:grid;
 grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));
 gap:0.6rem;
 margin-bottom:0.65rem;
}
.pb-activity-card__label{
 display:block;
 font-size:0.68rem;
 text-transform:uppercase;
 letter-spacing:0.05em;
 color:#94a3b8;
 margin-bottom:0.1rem;
}
.pb-activity-card__value{
 display:block;
 font-weight:600;
 font-size:0.95rem;
}
.pb-activity-card__diff{
 display:inline-block;
 padding:0.1rem 0.5rem;
 border-radius:10px;
 font-size:0.8rem;
 font-weight:700;
}
.pb-activity-card__diff--easy{
 background:#dcfce7;
 color:#15803d;
}
.pb-activity-card__diff--moderate{
 background:#fef3c7;
 color:#92400e;
}
.pb-activity-card__diff--hard,
.pb-activity-card__diff--strenuous{
 background:#fee2e2;
 color:#b91c1c;
}
.pb-activity-card__chips{
 display:flex;
 flex-wrap:wrap;
 gap:0.3rem;
 margin-bottom:0.65rem;
}
.pb-activity-card__chip{
 display:inline-block;
 background:#ecfeff;
 color:#0e7490;
 padding:0.15rem 0.55rem;
 border-radius:20px;
 font-size:0.75rem;
 font-weight:500;
}
.pb-activity-card__cta{
 display:flex;
 gap:0.5rem;
 flex-wrap:wrap;
}
.pb-activity-card__btn{
 display:inline-block;
 padding:0.45rem 0.9rem;
 border-radius:6px;
 font-weight:600;
 font-size:0.85rem;
 text-decoration:none;
 transition:background 0.15s ease;
}
.pb-activity-card__btn--primary{
 background:#0891b2;
 color:#fff;
}
.pb-activity-card__btn--primary:hover{
 background:#0e7490;
}
.pb-activity-card__btn--secondary{
 background:#f1f5f9;
 color:#475569;
}
.pb-activity-card__btn--secondary:hover{
 background:#e2e8f0;
}
.pb-activity-card__desc{
 margin-top:0.65rem;
 padding-top:0.65rem;
 border-top:1px solid #e2e8f0;
 color:#334155;
 font-size:0.95rem;
 line-height:1.7;
}
@container (max-width:400px){
 .pb-activity-card__grid{
 grid-template-columns:repeat(2, 1fr);
}
 .pb-activity-card__cta{
 flex-direction:column;
}
}


.pb-author{
 border-top:2px solid #e2e8f0;
 padding-top:1.25rem;
 margin-top:2rem;
 margin-bottom:1.5rem;
}
.pb-author__inner{
 display:flex;
 gap:1rem;
 align-items:flex-start;
}
.pb-author__avatar{
 width:56px;
 height:56px;
 border-radius:50%;
 object-fit:cover;
 flex-shrink:0;
}
.pb-author__avatar-placeholder{
 width:56px;
 height:56px;
 border-radius:50%;
 background:#f1f5f9;
 display:flex;
 align-items:center;
 justify-content:center;
 flex-shrink:0;
 color:#94a3b8;
}
.pb-author__info{
 flex:1;
 min-width:0;
}
.pb-author__top{
 display:flex;
 align-items:baseline;
 gap:0.5rem;
 margin-bottom:0.35rem;
 flex-wrap:wrap;
}
.pb-author__name{
 font-weight:700;
 font-size:1rem;
 color:#1e293b;
}
.pb-author__role{
 font-size:0.8rem;
 color:#64748b;
 font-weight:500;
}
.pb-author__bio{
 margin:0 0 0.35rem;
 font-size:0.9rem;
 color:#475569;
 line-height:1.6;
}
.pb-author__parks{
 display:inline-block;
 background:#dcfce7;
 color:#15803d;
 padding:0.15rem 0.6rem;
 border-radius:10px;
 font-size:0.75rem;
 font-weight:600;
}
@media (max-width:480px){
 .pb-author__inner{
 flex-direction:column;
 align-items:center;
 text-align:center;
}
 .pb-author__top{
 justify-content:center;
}
}


.pb-callout{
 border-radius:8px;
 padding:1rem 1.25rem;
 margin-bottom:1.5rem;
 border-left:4px solid;
}
.pb-callout--tip{
 background:#f0fdf4;
 border-color:#22c55e;
}
.pb-callout--warning{
 background:#fef9c3;
 border-color:#eab308;
}
.pb-callout--gear{
 background:#faf5ff;
 border-color:#a855f7;
}
.pb-callout--info{
 background:#eff6ff;
 border-color:#3b82f6;
}
.pb-callout--research_insight{
 background:#fefce8;
 border-color:#ca8a04;
}
.pb-callout__title{
 font-weight:700;
 font-size:0.9rem;
 text-transform:uppercase;
 letter-spacing:0.04em;
 margin-bottom:0.4rem;
}
.pb-callout--tip .pb-callout__title{color:#16a34a}
.pb-callout--warning .pb-callout__title{color:#ca8a04}
.pb-callout--gear .pb-callout__title{color:#9333ea}
.pb-callout--info .pb-callout__title{color:#2563eb}
.pb-callout--research_insight .pb-callout__title{color:#a16207}
.pb-callout__body{
 line-height:1.6;
}


.pb-camp-card{
 background:#f8f9fa;
 border:1px solid #e2e8f0;
 border-left:4px solid #16a34a;
 border-radius:0 8px 8px 0;
 overflow:hidden;
 margin-bottom:1.5rem;
 box-shadow:0 1px 3px rgba(0, 0, 0, 0.06);
}
.pb-camp-card__hero{
 width:100%;
 max-height:200px;
 overflow:hidden;
}
.pb-camp-card__img{
 width:100%;
 height:200px;
 object-fit:cover;
 display:block;
}
.pb-camp-card__body{
 padding:1.25rem;
}
.pb-camp-card__name{
 margin:0 0 0.75rem;
 font-size:1.15rem;
}
.pb-camp-card__link{
 color:inherit;
 text-decoration:none;
 border-bottom:2px solid #86efac;
 transition:border-color 0.15s ease;
}
.pb-camp-card__link:hover{
 border-color:#16a34a;
}
.pb-camp-card__grid{
 display:grid;
 grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));
 gap:0.75rem;
 margin-bottom:0.75rem;
}
.pb-camp-card__label{
 display:block;
 font-size:0.72rem;
 text-transform:uppercase;
 letter-spacing:0.05em;
 color:#64748b;
 margin-bottom:0.15rem;
}
.pb-camp-card__value{
 display:block;
 font-weight:600;
 font-size:1rem;
}
.pb-camp-card__types{
 display:flex;
 flex-wrap:wrap;
 gap:0.4rem;
 margin-bottom:0.75rem;
}
.pb-camp-card__type{
 display:inline-block;
 background:#dcfce7;
 color:#15803d;
 padding:0.15rem 0.6rem;
 border-radius:10px;
 font-size:0.78rem;
 font-weight:600;
}
.pb-camp-card__amenities{
 font-size:0.88rem;
 color:#475569;
 margin-bottom:0.75rem;
 line-height:1.5;
}
.pb-camp-card__amenities-label{
 font-weight:600;
 color:#334155;
}
.pb-camp-card__reserve{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:1rem;
 background:#f0fdf4;
 border:1px solid #bbf7d0;
 border-radius:6px;
 padding:0.75rem 1rem;
 margin-bottom:0.75rem;
}
.pb-camp-card__reserve-info{
 font-size:0.85rem;
 color:#475569;
}
.pb-camp-card__reserve-btn{
 display:inline-block;
 background:#16a34a;
 color:#fff;
 padding:0.45rem 1rem;
 border-radius:6px;
 font-weight:600;
 font-size:0.85rem;
 text-decoration:none;
 white-space:nowrap;
 transition:background 0.15s ease;
}
.pb-camp-card__reserve-btn:hover{
 background:#15803d;
}
.pb-camp-card__desc{
 margin-top:0.75rem;
 padding-top:0.75rem;
 border-top:1px solid #e2e8f0;
 color:#334155;
 font-size:0.95rem;
 line-height:1.7;
}
@media (max-width:480px){
 .pb-camp-card__grid{
 grid-template-columns:repeat(2, 1fr);
}
 .pb-camp-card__reserve{
 flex-direction:column;
 text-align:center;
}
}


.pb-compare{
 margin-bottom:1.5rem;
 box-shadow:0 1px 3px rgba(0, 0, 0, 0.06);
 border-radius:8px;
 overflow:hidden;
}
.pb-compare__title{
 margin:0 0 0.75rem;
 font-size:1.1rem;
 padding:0 0.25rem;
}
.pb-compare__scroll{
 overflow-x:auto;
 -webkit-overflow-scrolling:touch;
}
.pb-compare__table{
 width:100%;
 border-collapse:collapse;
 font-size:0.92rem;
}
.pb-compare__table th,
.pb-compare__table td{
 padding:0.65rem 0.85rem;
 border:1px solid #e9ecef;
 text-align:left;
}
.pb-compare__table td{
 white-space:normal;
}
.pb-compare__table th{
 white-space:nowrap;
 background:#f1f5f9;
 font-weight:600;
 font-size:0.8rem;
 text-transform:uppercase;
 letter-spacing:0.03em;
 color:#334155;
}
.pb-compare__table tbody td:first-child{
 font-weight:600;
 color:#1e293b;
}
.pb-compare__table tbody tr:nth-child(even){
 background:#f8fafc;
}
.pb-compare__table tbody tr:hover{
 background:#eef2ff;
}
.pb-compare__highlight{
 background:#eff6ff !important;
}
.pb-compare__caption{
 margin-top:0.5rem;
 font-size:0.85rem;
 color:#64748b;
 padding:0 0.25rem;
}
@media (max-width:640px){
 .pb-compare__table th,
 .pb-compare__table td{
 padding:0.5rem 0.6rem;
 font-size:0.82rem;
}
 .pb-compare__table th{
 font-size:0.7rem;
}
}


.pb-costs{
 background:#f8f9fa;
 border:1px solid #e2e8f0;
 border-radius:8px;
 padding:1.25rem;
 margin-bottom:1.5rem;
}
.pb-costs__title{
 margin:0 0 0.75rem;
 font-size:1.1rem;
}
.pb-costs__group{
 margin-bottom:1rem;
}
.pb-costs__group:last-of-type{
 margin-bottom:0.75rem;
}
.pb-costs__group-header{
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding-bottom:0.35rem;
 border-bottom:2px solid #e2e8f0;
 margin-bottom:0.4rem;
}
.pb-costs__group-name{
 font-weight:700;
 font-size:0.88rem;
 text-transform:uppercase;
 letter-spacing:0.04em;
 color:#475569;
}
.pb-costs__subtotal{
 font-weight:700;
 font-size:0.92rem;
 color:#1e293b;
}
.pb-costs__items{
 margin:0;
}
.pb-costs__row{
 display:flex;
 justify-content:space-between;
 padding:0.35rem 0.5rem;
 border-radius:4px;
}
.pb-costs__row:nth-child(even){
 background:rgba(0, 0, 0, 0.02);
}
.pb-costs__item-name{
 font-size:0.92rem;
 color:#475569;
}
.pb-costs__item-cost{
 font-weight:600;
 font-size:0.95rem;
 color:#1e293b;
 margin:0;
 text-align:right;
}
.pb-costs__total{
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding:0.75rem 0.5rem;
 border-top:2px solid #1e293b;
 margin-top:0.5rem;
}
.pb-costs__total-label{
 font-weight:700;
 font-size:1rem;
 color:#1e293b;
}
.pb-costs__total-value{
 font-weight:800;
 font-size:1.15rem;
 color:#16a34a;
}
.pb-costs__note{
 margin:0.5rem 0 0;
 font-size:0.82rem;
 color:#64748b;
 line-height:1.5;
 font-style:italic;
}


.pb-cta{
 display:flex !important;
 flex-direction:column !important;
 gap:0.75rem !important;
 border-radius:8px;
 padding:1.25rem;
 margin-bottom:1.5rem;
 border:1px solid;
 align-items:stretch !important;
}
.pb-cta--book{
 background:#f0fdf4;
 border-color:#bbf7d0;
}
.pb-cta--price{
 background:#eff6ff;
 border-color:#bfdbfe;
}
.pb-cta--plan{
 background:#fffbeb;
 border-color:#fde68a;
}
.pb-cta__body{
 flex:1;
 width:100% !important;
}
.pb-cta__text,
.pb-cta__body > p{
 margin:0;
 font-size:0.95rem;
 line-height:1.5;
}
.pb-cta__body > p + p{
 margin-top:0.35rem;
 font-size:0.85rem;
 color:#64748b;
}
.pb-cta__sub{
 margin:0.25rem 0 0;
 font-size:0.85rem;
 color:#64748b;
}
.pb-cta__btn,
.pb-cta > a{
 display:inline-block !important;
 padding:0.65rem 1.5rem !important;
 border-radius:6px !important;
 font-weight:600 !important;
 font-size:0.95rem !important;
 text-decoration:none !important;
 text-align:center !important;
 white-space:nowrap;
 transition:filter 0.15s ease;
 align-self:flex-start !important;
 max-width:100% !important;
 box-sizing:border-box !important;
}
@media(max-width:640px){
.pb-cta__btn,
.pb-cta > a{
 width:100% !important;
 align-self:stretch !important;
 white-space:normal !important;
}}
.pb-cta__btn:hover,
.pb-cta > a:hover{
 filter:brightness(0.92);
}
.pb-cta--book .pb-cta__btn,
.pb-cta--book > a{
 background:#16a34a !important;
 color:#fff !important;
}
.pb-cta--price .pb-cta__btn,
.pb-cta--price > a{
 background:#2563eb !important;
 color:#fff !important;
}
.pb-cta--plan .pb-cta__btn,
.pb-cta--plan > a{
 background:#d97706 !important;
 color:#fff !important;
}


.pb-faq{
 margin-bottom:1.5rem;
}
.pb-faq__title{
 margin:0 0 0.75rem;
 font-size:1.1rem;
}
.pb-faq__item{
 border:1px solid #e2e8f0;
 border-radius:6px;
 margin-bottom:0.5rem;
 overflow:hidden;
}
.pb-faq__question{
 padding:0.85rem 1rem;
 font-weight:600;
 cursor:pointer;
 list-style:none;
 display:flex;
 justify-content:space-between;
 align-items:center;
}
.pb-faq__question::-webkit-details-marker{display:none}
.pb-faq__question::after{
 content:"+";
 font-size:1.25rem;
 font-weight:400;
 color:#94a3b8;
 flex-shrink:0;
 margin-left:1rem;
}
.pb-faq__item[open] .pb-faq__question::after{
 content:"\2212";
}
.pb-faq__answer{
 padding:0 1rem 1rem;
 color:#475569;
 line-height:1.7;
}


.pb-gallery{
 margin-bottom:1.5rem;
}
.pb-gallery__title{
 margin:0 0 0.75rem;
 font-size:1.1rem;
}
.pb-gallery__grid{
 display:grid;
 grid-template-columns:repeat(var(--pb-gallery-cols, 3), 1fr);
 gap:0.75rem;
}
.pb-gallery__item{
 margin:0;
}
.pb-gallery__img{
 width:100%;
 height:200px;
 object-fit:cover;
 border-radius:6px;
 display:block;
}
.pb-gallery__caption{
 margin-top:0.35rem;
 font-size:0.8rem;
 color:#64748b;
 line-height:1.4;
}


.pb-imap{
 margin-bottom:1.5rem;
 border:1px solid #e2e8f0;
 border-radius:8px;
 overflow:hidden;
 background:#f8f9fa;
}
.pb-imap__heading{
 margin:1rem 1.25rem 0.25rem;
 font-size:1.1rem;
}
.pb-imap__desc{
 margin:0 1.25rem 0.5rem;
 color:#475569;
 font-size:0.95rem;
 line-height:1.5;
}
.pb-imap__canvas{
 width:100%;
 height:350px;
 background:#e2e8f0;
}
.pb-imap__data{display:none !important}
.pb-imap--loaded .pb-imap__fallback{display:none}
@media (max-width:768px){
 .pb-imap__canvas{height:250px}
}
.pb-imap__fallback{
 padding:1rem 1.25rem;
}
.pb-imap__fallback-label{
 margin:0 0 0.5rem;
 font-weight:600;
 font-size:0.9rem;
 color:#334155;
}
.pb-imap__fallback-list{
 margin:0;
 padding-left:1.25rem;
 font-size:0.9rem;
}
.pb-imap__fallback-list li{margin-bottom:0.35rem}
.pb-imap__fallback-list a{color:#1a73e8;text-decoration:none}
.pb-imap__fallback-list a:hover{text-decoration:underline}
.pb-imap__fallback-info{color:#64748b;font-size:0.85rem}
.pb-imap__legend{
 display:flex;
 flex-wrap:wrap;
 gap:0.75rem;
 padding:0.5rem 1.25rem 0.75rem;
 font-size:0.8rem;
 color:#475569;
 border-top:1px solid #e2e8f0;
}
.pb-imap__legend-dot{
 display:inline-block;
 width:10px;
 height:10px;
 border-radius:50%;
 margin-right:0.3rem;
 vertical-align:middle;
}
@media (max-width:768px){
 .pb-imap__legend{gap:0.5rem}
}


.pb-itinerary{
 margin-bottom:1.5rem;
}
.pb-itinerary__title{
 margin:0 0 1rem;
 font-size:1.1rem;
}
.pb-itinerary__day{
 display:flex;
 gap:1rem;
 margin-bottom:0;
}
.pb-itinerary__marker{
 display:flex;
 flex-direction:column;
 align-items:center;
 flex-shrink:0;
 width:36px;
}
.pb-itinerary__num{
 display:flex;
 align-items:center;
 justify-content:center;
 width:36px;
 height:36px;
 border-radius:50%;
 background:#2563eb;
 color:#fff;
 font-weight:700;
 font-size:0.85rem;
 flex-shrink:0;
}
.pb-itinerary__line{
 width:2px;
 flex:1;
 background:#cbd5e1;
 margin:0.25rem 0;
 min-height:20px;
}
.pb-itinerary__content{
 flex:1;
 padding-bottom:1.25rem;
 min-width:0;
}
.pb-itinerary__day-title{
 margin:0.35rem 0 0.5rem;
 font-size:1.05rem;
 color:#1e293b;
}
.pb-itinerary__activities{
 list-style:none;
 padding:0;
 margin:0 0 0.5rem;
}
.pb-itinerary__activity{
 display:flex;
 gap:0.6rem;
 align-items:baseline;
 padding:0.3rem 0;
 font-size:0.92rem;
 color:#334155;
 line-height:1.5;
}
.pb-itinerary__time{
 font-weight:600;
 color:#64748b;
 font-size:0.82rem;
 white-space:nowrap;
 min-width:65px;
}
.pb-itinerary__tip{
 background:#f0fdf4;
 border-left:3px solid #22c55e;
 padding:0.5rem 0.75rem;
 margin-top:0.5rem;
 font-size:0.85rem;
 color:#475569;
 line-height:1.5;
 border-radius:0 4px 4px 0;
}
@media (max-width:480px){
 .pb-itinerary__activity{
 flex-direction:column;
 gap:0.1rem;
}
 .pb-itinerary__time{
 min-width:auto;
}
}


.pb-takeaway{
 background:linear-gradient(135deg, #eff6ff, #f0fdf4);
 border:1px solid #bfdbfe;
 border-radius:8px;
 padding:1.25rem;
 margin-bottom:1.5rem;
}
.pb-takeaway__title{
 font-weight:700;
 font-size:0.9rem;
 text-transform:uppercase;
 letter-spacing:0.04em;
 color:#1e40af;
 margin:0 0 0.75rem;
}
.pb-takeaway__list{
 margin:0;
 padding-left:1.25rem;
 list-style:none;
}
.pb-takeaway__point{
 position:relative;
 padding-left:0.25rem;
 margin-bottom:0.45rem;
 font-size:0.95rem;
 line-height:1.6;
 color:#334155;
}
.pb-takeaway__point::before{
 content:"\2713";
 position:absolute;
 left:-1.25rem;
 color:#16a34a;
 font-weight:700;
}


.pb-lodge-card{
 container-type:inline-size;
 background:#fff;
 border:1px solid #e2e8f0;
 border-left:4px solid #7c3aed;
 border-radius:0 8px 8px 0;
 overflow:hidden;
 margin-bottom:1.5rem;
}
.pb-lodge-card__hero{
 aspect-ratio:16 / 10;
 overflow:hidden;
 background:#f1f5f9;
}
.pb-lodge-card__img{
 width:100%;
 height:100%;
 object-fit:cover;
 display:block;
}
.pb-lodge-card__body{
 padding:1rem 1.25rem 1.25rem;
}
.pb-lodge-card__header{
 display:flex;
 justify-content:space-between;
 align-items:baseline;
 margin-bottom:0.5rem;
}
.pb-lodge-card__name{
 margin:0;
 font-size:1.1rem;
}
.pb-lodge-card__link{
 color:inherit;
 text-decoration:none;
 border-bottom:2px solid #c4b5fd;
 transition:border-color 0.15s ease;
}
.pb-lodge-card__link:hover{
 border-color:#7c3aed;
}
.pb-lodge-card__rating{
 font-size:0.9rem;
 font-weight:700;
 color:#0f172a;
 white-space:nowrap;
}
.pb-lodge-card__star{
 fill:#f59e0b;
 vertical-align:-2px;
 margin-right:2px;
}
.pb-lodge-card__grid{
 display:grid;
 grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));
 gap:0.6rem;
 margin-bottom:0.65rem;
}
.pb-lodge-card__label{
 display:block;
 font-size:0.68rem;
 text-transform:uppercase;
 letter-spacing:0.05em;
 color:#94a3b8;
 margin-bottom:0.1rem;
}
.pb-lodge-card__value{
 display:block;
 font-weight:600;
 font-size:0.95rem;
}
.pb-lodge-card__chips{
 display:flex;
 flex-wrap:wrap;
 gap:0.3rem;
 margin-bottom:0.65rem;
}
.pb-lodge-card__chip{
 display:inline-block;
 background:#f1f5f9;
 color:#475569;
 padding:0.15rem 0.55rem;
 border-radius:20px;
 font-size:0.75rem;
 font-weight:500;
}
.pb-lodge-card__cta{
 display:flex;
 gap:0.5rem;
 flex-wrap:wrap;
}
.pb-lodge-card__btn{
 display:inline-block;
 padding:0.45rem 0.9rem;
 border-radius:6px;
 font-weight:600;
 font-size:0.85rem;
 text-decoration:none;
 transition:background 0.15s ease;
}
.pb-lodge-card__btn--primary{
 background:#7c3aed;
 color:#fff;
}
.pb-lodge-card__btn--primary:hover{
 background:#6d28d9;
}
.pb-lodge-card__btn--secondary{
 background:#f1f5f9;
 color:#475569;
}
.pb-lodge-card__btn--secondary:hover{
 background:#e2e8f0;
}
.pb-lodge-card__desc{
 margin-top:0.65rem;
 padding-top:0.65rem;
 border-top:1px solid #e2e8f0;
 color:#334155;
 font-size:0.95rem;
 line-height:1.7;
}
@container (max-width:400px){
 .pb-lodge-card__grid{
 grid-template-columns:repeat(2, 1fr);
}
 .pb-lodge-card__cta{
 flex-direction:column;
}
}


.pb-map{
 background:#f8f9fa;
 border:1px solid #e2e8f0;
 border-radius:8px;
 padding:1.25rem;
 margin-bottom:1.5rem;
}
.pb-map__header{
 display:flex;
 align-items:center;
 gap:0.5rem;
 margin-bottom:0.5rem;
}
.pb-map__icon{
 color:#dc2626;
 flex-shrink:0;
}
.pb-map__name{
 margin:0;
 font-size:1.1rem;
}
.pb-map__desc{
 margin:0 0 0.5rem;
 color:#475569;
 line-height:1.5;
 font-size:0.95rem;
}
.pb-map__coords{
 font-family:'SF Mono', 'Fira Code', monospace;
 font-size:0.85rem;
 color:#64748b;
 margin-bottom:0.75rem;
}
.pb-map__sep{
 margin:0 0.35rem;
}
.pb-map__link{
 display:inline-block;
 background:#1a73e8;
 color:#fff;
 padding:0.5rem 1rem;
 border-radius:6px;
 font-size:0.9rem;
 font-weight:500;
 text-decoration:none;
 transition:background 0.15s ease;
}
.pb-map__link:hover{
 background:#1557b0;
}


.pb-methodology{
 background:#f8fafc;
 border:1px solid #e2e8f0;
 border-radius:8px;
 padding:1.25rem;
 margin-bottom:1.5rem;
 font-size:0.9rem;
}
.pb-methodology__title{
 font-size:1rem;
 font-weight:700;
 color:#334155;
 margin:0 0 0.75rem;
}
.pb-methodology__label{
 display:block;
 font-weight:600;
 font-size:0.8rem;
 text-transform:uppercase;
 letter-spacing:0.04em;
 color:#64748b;
 margin-bottom:0.25rem;
}
.pb-methodology__sources ul{
 margin:0 0 0.75rem;
 padding-left:1.25rem;
}
.pb-methodology__sources li{
 margin-bottom:0.2rem;
 color:#475569;
}
.pb-methodology__meta{
 margin-bottom:0.5rem;
 color:#475569;
}
.pb-methodology__limits{
 margin-top:0.5rem;
 color:#64748b;
 font-style:italic;
}
.pb-methodology__limits p{margin:0.25rem 0 0}


.pb-checklist{
 background:#f8f9fa;
 border:1px solid #e2e8f0;
 border-radius:8px;
 padding:1.25rem;
 margin-bottom:1.5rem;
}
.pb-checklist__title{
 margin:0 0 0.75rem;
 font-size:1.1rem;
}
.pb-checklist__group{
 margin-bottom:1rem;
}
.pb-checklist__group:last-child{
 margin-bottom:0;
}
.pb-checklist__group-name{
 margin:0 0 0.5rem;
 font-size:0.88rem;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:0.04em;
 color:#475569;
}
.pb-checklist__items{
 list-style:none;
 padding:0;
 margin:0;
 display:grid;
 grid-template-columns:repeat(2, 1fr);
 gap:0.3rem 1.5rem;
}
.pb-checklist__item{
 display:flex;
 align-items:center;
 gap:0.5rem;
 padding:0.3rem 0;
 font-size:0.92rem;
 color:#334155;
}
.pb-checklist__check{
 display:inline-block;
 width:16px;
 height:16px;
 border:2px solid #cbd5e1;
 border-radius:3px;
 flex-shrink:0;
}
.pb-checklist__text{
 line-height:1.4;
}
@media (max-width:480px){
 .pb-checklist__items{
 grid-template-columns:1fr;
}
}


.pb-permit{
 background:#fefce8;
 border:1px solid #fde68a;
 border-left:4px solid #eab308;
 border-radius:0 8px 8px 0;
 padding:1.25rem;
 margin-bottom:1.5rem;
}
.pb-permit__header{
 display:flex;
 align-items:center;
 gap:0.5rem;
 margin-bottom:0.75rem;
}
.pb-permit__icon{
 color:#ca8a04;
 flex-shrink:0;
}
.pb-permit__name{
 margin:0;
 font-size:1.1rem;
}
.pb-permit__details{
 margin-bottom:0.75rem;
}
.pb-permit__row{
 display:flex;
 justify-content:space-between;
 padding:0.45rem 0.5rem;
 border-bottom:1px solid #fef3c7;
 border-radius:4px;
}
.pb-permit__row:last-child{
 border-bottom:none;
}
.pb-permit__row:nth-child(even){
 background:rgba(234, 179, 8, 0.06);
}
.pb-permit__label{
 font-weight:500;
 color:#713f12;
 font-size:0.92rem;
}
.pb-permit__val{
 font-weight:600;
 color:#422006;
 font-size:0.95rem;
 text-align:right;
}
.pb-permit__tips{
 background:#fff;
 border:1px solid #fde68a;
 border-radius:6px;
 padding:0.75rem 1rem;
 margin-bottom:0.75rem;
 font-size:0.9rem;
 color:#475569;
 line-height:1.6;
}
.pb-permit__tips-label{
 font-weight:700;
 color:#92400e;
 display:block;
 margin-bottom:0.25rem;
 font-size:0.82rem;
 text-transform:uppercase;
 letter-spacing:0.03em;
}
.pb-permit__book-btn{
 display:inline-block;
 background:#ca8a04;
 color:#fff;
 padding:0.5rem 1.15rem;
 border-radius:6px;
 font-weight:600;
 font-size:0.9rem;
 text-decoration:none;
 transition:background 0.15s ease;
}
.pb-permit__book-btn:hover{
 background:#a16207;
}


.pb-product{
 display:flex;
 gap:1.25rem;
 background:#f8f9fa;
 border:1px solid #e2e8f0;
 border-radius:8px;
 padding:1.25rem;
 margin-bottom:1.5rem;
}
.pb-product__media{
 flex-shrink:0;
 width:160px;
}
.pb-product__img{
 width:100%;
 height:auto;
 border-radius:6px;
 object-fit:contain;
}
.pb-product__info{
 flex:1;
 min-width:0;
}
.pb-product__name{
 margin:0 0 0.25rem;
 font-size:1.1rem;
}
.pb-product__price{
 display:inline-block;
 font-weight:700;
 font-size:1.05rem;
 color:#16a34a;
 margin-bottom:0.5rem;
}
.pb-product__desc{
 margin:0 0 0.75rem;
 color:#475569;
 line-height:1.5;
 font-size:0.95rem;
}
.pb-product__specs{
 list-style:disc;
 padding-left:1.25rem;
 margin:0 0 0.75rem;
 font-size:0.9rem;
 color:#475569;
}
.pb-product__spec{
 margin-bottom:0.2rem;
}
.pb-product__verdict{
 display:flex;
 gap:1.5rem;
 margin-bottom:0.75rem;
 font-size:0.88rem;
}
.pb-product__verdict-label{
 display:block;
 font-weight:700;
 font-size:0.78rem;
 text-transform:uppercase;
 letter-spacing:0.04em;
 margin-bottom:0.25rem;
}
.pb-product__pros .pb-product__verdict-label{color:#16a34a}
.pb-product__cons .pb-product__verdict-label{color:#dc2626}
.pb-product__verdict ul{
 list-style:none;
 padding:0;
 margin:0;
}
.pb-product__verdict li::before{
 margin-right:0.35rem;
}
.pb-product__pros li::before{content:"✓";color:#16a34a}
.pb-product__cons li::before{content:"✗";color:#dc2626}
.pb-product__cta{
 display:inline-block;
 background:#2563eb;
 color:#fff;
 padding:0.55rem 1.25rem;
 border-radius:6px;
 font-weight:600;
 font-size:0.9rem;
 text-decoration:none;
 transition:background 0.15s ease;
}
.pb-product__cta:hover{
 background:#1d4ed8;
}
@media (max-width:640px){
 .pb-product{
 flex-direction:column;
}
 .pb-product__media{
 width:100%;
}
 .pb-product__img{
 height:180px;
 object-fit:cover;
}
 .pb-product__verdict{
 flex-direction:column;
 gap:0.75rem;
}
}


.pb-prose{
 margin-bottom:1.5rem;
 line-height:1.8;
 font-size:1.05rem;
}
.pb-prose h2{
 margin-top:2rem;
 margin-bottom:0.75rem;
}
.pb-prose p{
 margin-bottom:1rem;
}


.pb-quick-facts{
 background:#eff6ff;
 border-left:4px solid #3b82f6;
 border-radius:0 8px 8px 0;
 padding:1.25rem;
 margin-bottom:1.5rem;
 box-shadow:0 1px 3px rgba(0, 0, 0, 0.06);
}
.pb-quick-facts__title{
 margin:0 0 0.75rem;
 font-size:1.1rem;
}
.pb-quick-facts__list{
 margin:0;
}
.pb-quick-facts__row{
 display:flex;
 justify-content:space-between;
 padding:0.5rem 0.5rem;
 border-bottom:1px solid #dbeafe;
 border-radius:4px;
}
.pb-quick-facts__row:last-child{
 border-bottom:none;
}
.pb-quick-facts__row:nth-child(even){
 background:rgba(59, 130, 246, 0.04);
}
.pb-quick-facts__key{
 font-weight:500;
 color:#475569;
 font-size:0.95rem;
}
.pb-quick-facts__val{
 font-weight:600;
 text-align:right;
 margin:0;
 font-size:0.98rem;
 color:#1e293b;
}


.pb-related{
 margin-bottom:1.5rem;
}
.pb-related__title{
 margin:0 0 0.75rem;
 font-size:1.1rem;
}
.pb-related__list{
 list-style:none;
 padding:0;
 margin:0;
 display:flex;
 flex-direction:column;
 gap:0.5rem;
}
.pb-related__link{
 display:flex;
 align-items:center;
 gap:0.5rem;
 padding:0.75rem 1rem;
 background:#f8f9fa;
 border:1px solid #e2e8f0;
 border-radius:6px;
 text-decoration:none;
 color:inherit;
 transition:border-color 0.15s ease, background 0.15s ease;
}
.pb-related__link:hover{
 border-color:#93c5fd;
 background:#f0f7ff;
}
.pb-related__text{
 font-weight:600;
 font-size:0.95rem;
}
.pb-related__desc{
 flex:1;
 font-size:0.85rem;
 color:#64748b;
}
.pb-related__arrow{
 font-size:1.1rem;
 color:#94a3b8;
 flex-shrink:0;
 margin-left:auto;
}


.pb-restaurant-card{
 container-type:inline-size;
 background:#fff;
 border:1px solid #e2e8f0;
 border-left:4px solid #ea580c;
 border-radius:0 8px 8px 0;
 overflow:hidden;
 margin-bottom:1.5rem;
}
.pb-restaurant-card__hero{
 aspect-ratio:16 / 10;
 overflow:hidden;
 background:#f1f5f9;
}
.pb-restaurant-card__img{
 width:100%;
 height:100%;
 object-fit:cover;
 display:block;
}
.pb-restaurant-card__body{
 padding:1rem 1.25rem 1.25rem;
}
.pb-restaurant-card__header{
 display:flex;
 justify-content:space-between;
 align-items:baseline;
 margin-bottom:0.5rem;
}
.pb-restaurant-card__name{
 margin:0;
 font-size:1.1rem;
}
.pb-restaurant-card__link{
 color:inherit;
 text-decoration:none;
 border-bottom:2px solid #fed7aa;
 transition:border-color 0.15s ease;
}
.pb-restaurant-card__link:hover{
 border-color:#ea580c;
}
.pb-restaurant-card__rating{
 font-size:0.9rem;
 font-weight:700;
 color:#0f172a;
 white-space:nowrap;
}
.pb-restaurant-card__star{
 fill:#f59e0b;
 vertical-align:-2px;
 margin-right:2px;
}
.pb-restaurant-card__grid{
 display:grid;
 grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));
 gap:0.6rem;
 margin-bottom:0.65rem;
}
.pb-restaurant-card__label{
 display:block;
 font-size:0.68rem;
 text-transform:uppercase;
 letter-spacing:0.05em;
 color:#94a3b8;
 margin-bottom:0.1rem;
}
.pb-restaurant-card__value{
 display:block;
 font-weight:600;
 font-size:0.95rem;
}
.pb-restaurant-card__chips{
 display:flex;
 flex-wrap:wrap;
 gap:0.3rem;
 margin-bottom:0.65rem;
}
.pb-restaurant-card__chip{
 display:inline-block;
 background:#fff7ed;
 color:#9a3412;
 padding:0.15rem 0.55rem;
 border-radius:20px;
 font-size:0.75rem;
 font-weight:500;
}
.pb-restaurant-card__cta{
 display:flex;
 gap:0.5rem;
 flex-wrap:wrap;
}
.pb-restaurant-card__btn{
 display:inline-block;
 padding:0.45rem 0.9rem;
 border-radius:6px;
 font-weight:600;
 font-size:0.85rem;
 text-decoration:none;
 transition:background 0.15s ease;
}
.pb-restaurant-card__btn--primary{
 background:#ea580c;
 color:#fff;
}
.pb-restaurant-card__btn--primary:hover{
 background:#c2410c;
}
.pb-restaurant-card__btn--secondary{
 background:#f1f5f9;
 color:#475569;
}
.pb-restaurant-card__btn--secondary:hover{
 background:#e2e8f0;
}
.pb-restaurant-card__desc{
 margin-top:0.65rem;
 padding-top:0.65rem;
 border-top:1px solid #e2e8f0;
 color:#334155;
 font-size:0.95rem;
 line-height:1.7;
}
@container (max-width:400px){
 .pb-restaurant-card__grid{
 grid-template-columns:repeat(2, 1fr);
}
 .pb-restaurant-card__cta{
 flex-direction:column;
}
}


.pb-roundup-entry{
 container-type:inline-size;
 background:#fff;
 border:1px solid #e2e8f0;
 border-radius:10px;
 overflow:hidden;
 margin-bottom:2rem;
}
.pb-roundup-entry__rank-bar{
 display:flex;
 align-items:center;
 gap:0.75rem;
 padding:0.6rem 1.25rem;
 background:#f8fafc;
 border-bottom:1px solid #e2e8f0;
}
.pb-roundup-entry__rank{
 font-size:1.3rem;
 font-weight:800;
 color:#1e293b;
}
.pb-roundup-entry__pick{
 background:#7c3aed;
 color:#fff;
 padding:2px 10px;
 border-radius:10px;
 font-size:0.75rem;
 font-weight:600;
 text-transform:uppercase;
 letter-spacing:0.03em;
}
.pb-roundup-entry__hero{
 aspect-ratio:16 / 9;
 overflow:hidden;
 background:#f1f5f9;
}
.pb-roundup-entry__hero img{
 width:100%;
 height:100%;
 object-fit:cover;
 display:block;
}
.pb-roundup-entry__body{
 padding:1rem 1.25rem 1.25rem;
}
.pb-roundup-entry__header{
 display:flex;
 justify-content:space-between;
 align-items:baseline;
 gap:8px;
 margin-bottom:0.5rem;
}
.pb-roundup-entry__name{
 margin:0;
 font-size:1.15rem;
}
.pb-roundup-entry__name a{
 color:inherit;
 text-decoration:none;
 border-bottom:2px solid #c4b5fd;
}
.pb-roundup-entry__name a:hover{
 border-color:#7c3aed;
}
.pb-roundup-entry__rating{
 font-weight:700;
 font-size:0.9rem;
 white-space:nowrap;
 display:inline-flex;
 align-items:center;
 gap:3px;
}
.pb-roundup-entry__stats{
 display:flex;
 flex-wrap:wrap;
 border:1px solid #e2e8f0;
 border-radius:8px;
 overflow:hidden;
 margin-bottom:0.65rem;
}
.pb-roundup-entry__stat{
 display:flex;
 flex-direction:column;
 align-items:center;
 padding:6px 12px;
 flex:1;
 min-width:0;
 text-align:center;
 border-right:1px solid #e2e8f0;
}
.pb-roundup-entry__stat:last-child{
 border-right:none;
}
.pb-roundup-entry__stat-val{
 font-size:0.88rem;
 font-weight:600;
 color:#1e293b;
}
.pb-roundup-entry__stat-lbl{
 font-size:0.65rem;
 color:#94a3b8;
 text-transform:uppercase;
 letter-spacing:0.02em;
}
.pb-roundup-entry__chips{
 display:flex;
 flex-wrap:wrap;
 gap:0.3rem;
 margin-bottom:0.5rem;
}
.pb-roundup-entry__chip{
 background:#f1f5f9;
 color:#475569;
 padding:0.1rem 0.5rem;
 border-radius:14px;
 font-size:0.73rem;
 font-weight:500;
}
.pb-roundup-entry__best-for{
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 gap:4px;
 margin-bottom:0.5rem;
 font-size:0.75rem;
}
.pb-roundup-entry__bf-label{
 color:#64748b;
 font-weight:500;
}
.pb-roundup-entry__bf-tag{
 background:#ede9fe;
 color:#7c3aed;
 padding:1px 8px;
 border-radius:10px;
 font-size:0.7rem;
 font-weight:500;
}
.pb-roundup-entry__why{
 background:#f0fdf4;
 border-left:3px solid #22c55e;
 padding:0.6rem 0.9rem;
 border-radius:0 6px 6px 0;
 margin-bottom:0.65rem;
 font-size:0.9rem;
 color:#334155;
 line-height:1.6;
}
.pb-roundup-entry__prose{
 color:#334155;
 font-size:0.95rem;
 line-height:1.7;
 margin-bottom:0.65rem;
}
.pb-roundup-entry__tip{
 background:#fffbeb;
 border-left:3px solid #f59e0b;
 padding:0.6rem 0.9rem;
 border-radius:0 6px 6px 0;
 margin-bottom:0.65rem;
 font-size:0.88rem;
 color:#92400e;
 line-height:1.5;
}
.pb-roundup-entry__cta{
 display:flex;
 gap:0.5rem;
 flex-wrap:wrap;
}
.pb-roundup-entry__btn{
 display:inline-block;
 padding:0.45rem 0.9rem;
 border-radius:6px;
 font-weight:600;
 font-size:0.85rem;
 text-decoration:none;
}
.pb-roundup-entry__btn--pri{
 background:#7c3aed;
 color:#fff;
}
.pb-roundup-entry__btn--pri:hover{
 background:#6d28d9;
}
.pb-roundup-entry__btn--sec{
 background:#f1f5f9;
 color:#475569;
}
.pb-roundup-entry__btn--sec:hover{
 background:#e2e8f0;
}
@container (max-width:400px){
 .pb-roundup-entry__stats{
 flex-wrap:wrap;
}
 .pb-roundup-entry__stat{
 flex-basis:48%;
 border-bottom:1px solid #e2e8f0;
}
 .pb-roundup-entry__cta{
 flex-direction:column;
}
}


.pb-seasonal{
 margin-bottom:1.5rem;
}
.pb-seasonal__title{
 margin:0 0 0.5rem;
 font-size:1.1rem;
}
.pb-seasonal__rec{
 margin:0 0 0.75rem;
 font-size:0.9rem;
 color:#475569;
}
.pb-seasonal__legend{
 display:flex;
 flex-wrap:wrap;
 gap:0.5rem 1.2rem;
 margin-bottom:0.75rem;
 font-size:0.78rem;
 color:#475569;
}
.pb-seasonal__legend-item{
 display:flex;
 align-items:center;
 gap:0.3rem;
}
.pb-seasonal__dot{
 display:inline-block;
 width:10px;
 height:10px;
 border-radius:50%;
 flex-shrink:0;
}
.pb-seasonal__dot--low{background:#22c55e}
.pb-seasonal__dot--moderate{background:#eab308}
.pb-seasonal__dot--high{background:#ef4444}
.pb-seasonal__dot--very-high{background:#991b1b}
.pb-seasonal__dot--closed{background:#94a3b8}
.pb-seasonal__grid{
 display:grid;
 grid-template-columns:repeat(4, 1fr);
 gap:0.6rem;
}
.pb-seasonal__month{
 background:#f8f9fa;
 border:1px solid #e2e8f0;
 border-top:3px solid #e2e8f0;
 border-radius:0 0 6px 6px;
 padding:0.85rem;
 font-size:0.82rem;
 box-shadow:0 1px 2px rgba(0, 0, 0, 0.04);
 transition:box-shadow 0.15s ease;
}
.pb-seasonal__month:hover{
 box-shadow:0 2px 6px rgba(0, 0, 0, 0.08);
}
.pb-seasonal__month--best{
 border-top-color:#22c55e;
 background:#f0fdf9;
}
.pb-seasonal__month--closed{
 border-top-color:#cbd5e1;
 opacity:0.7;
}
.pb-seasonal__name{
 font-weight:700;
 font-size:0.88rem;
 margin-bottom:0.45rem;
 color:#1e293b;
}
.pb-seasonal__crowd{
 display:inline-block;
 padding:0.18rem 0.55rem;
 border-radius:10px;
 font-size:0.72rem;
 font-weight:600;
 text-transform:uppercase;
 letter-spacing:0.03em;
 margin-bottom:0.45rem;
}
.pb-seasonal__crowd--low{
 background:#dcfce7;
 color:#15803d;
}
.pb-seasonal__crowd--moderate{
 background:#fef9c3;
 color:#a16207;
}
.pb-seasonal__crowd--high{
 background:#fee2e2;
 color:#b91c1c;
}
.pb-seasonal__crowd--very-high{
 background:#fecaca;
 color:#991b1b;
}
.pb-seasonal__crowd--closed{
 background:#e2e8f0;
 color:#64748b;
}
.pb-seasonal__weather{
 color:#475569;
 margin-bottom:0.3rem;
 font-size:0.8rem;
 line-height:1.4;
}
.pb-seasonal__access{
 color:#475569;
 margin-bottom:0.3rem;
 font-size:0.8rem;
 line-height:1.4;
}
.pb-seasonal__highlights{
 color:#1e40af;
 font-weight:600;
 margin-top:0.35rem;
 font-size:0.8rem;
 line-height:1.3;
}
@media (max-width:768px){
 .pb-seasonal__grid{
 grid-template-columns:repeat(3, 1fr);
}
}
@media (max-width:480px){
 .pb-seasonal__grid{
 grid-template-columns:repeat(2, 1fr);
}
 .pb-seasonal__legend{
 flex-direction:column;
 gap:0.3rem;
}
}


.pb-toc{
 background:#f8fafc;
 border:1px solid #e2e8f0;
 border-radius:8px;
 padding:1.25rem;
 margin-bottom:1.5rem;
 max-width:480px;
}
.pb-toc__header{
 margin-bottom:0.75rem;
}
.pb-toc__title{
 font-weight:700;
 font-size:0.88rem;
 text-transform:uppercase;
 letter-spacing:0.04em;
 color:#475569;
}
.pb-toc__list{
 margin:0;
 padding-left:1.25rem;
 counter-reset:toc-counter;
}
.pb-toc__item{
 margin-bottom:0.4rem;
 line-height:1.5;
}
.pb-toc__link{
 color:#2563eb;
 text-decoration:none;
 font-size:0.95rem;
 font-weight:500;
 transition:color 0.15s ease;
}
.pb-toc__link:hover{
 color:#1d4ed8;
 text-decoration:underline;
}


.pb-trail-card{
 background:#f8f9fa;
 border:1px solid #e2e8f0;
 border-left:4px solid #94a3b8;
 border-radius:0 8px 8px 0;
 padding:0;
 margin-bottom:1.5rem;
 box-shadow:0 1px 3px rgba(0, 0, 0, 0.06);
 overflow:hidden;
}
.pb-trail-card--easy{border-left-color:#22c55e}
.pb-trail-card--moderate{border-left-color:#f59e0b}
.pb-trail-card--hard, .pb-trail-card--strenuous{border-left-color:#ef4444}
.pb-trail-card__hero{
 width:100%;
 max-height:220px;
 overflow:hidden;
}
.pb-trail-card__img{
 width:100%;
 height:220px;
 object-fit:cover;
 display:block;
}
.pb-trail-card__body{
 padding:1.25rem;
}
.pb-trail-card__name{
 margin:0 0 0.75rem;
 font-size:1.15rem;
}
.pb-trail-card__link{
 color:inherit;
 text-decoration:none;
 border-bottom:2px solid #93c5fd;
 transition:border-color 0.15s ease;
}
.pb-trail-card__link:hover{
 border-color:#2563eb;
}
.pb-trail-card__grid{
 display:grid;
 grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
 gap:0.75rem;
}
.pb-trail-card__label{
 display:block;
 font-size:0.72rem;
 text-transform:uppercase;
 letter-spacing:0.05em;
 color:#64748b;
 margin-bottom:0.15rem;
}
.pb-trail-card__value{
 display:block;
 font-weight:600;
 font-size:1rem;
}
.pb-trail-card__diff--easy,
.pb-trail-card__diff--moderate,
.pb-trail-card__diff--hard,
.pb-trail-card__diff--strenuous{
 display:inline-block;
 padding:0.15rem 0.65rem;
 border-radius:10px;
 font-size:0.82rem;
 font-weight:700;
 letter-spacing:0.02em;
}
.pb-trail-card__diff--easy{background:#dcfce7;color:#15803d}
.pb-trail-card__diff--moderate{background:#fef3c7;color:#92400e}
.pb-trail-card__diff--hard, .pb-trail-card__diff--strenuous{background:#fee2e2;color:#b91c1c}
.pb-trail-card__desc{
 margin-top:1rem;
 padding-top:0.85rem;
 border-top:1px solid #e2e8f0;
 color:#334155;
 font-size:0.95rem;
 line-height:1.7;
}
@media (max-width:480px){
 .pb-trail-card__grid{
 grid-template-columns:repeat(2, 1fr);
}
}


.pb-verdict{
 background:linear-gradient(135deg, #fefce8, #fffbeb);
 border:2px solid #fbbf24;
 border-radius:8px;
 padding:1.25rem;
 margin-bottom:1.5rem;
}
.pb-verdict__title{
 margin:0 0 0.75rem;
 font-size:1.1rem;
 color:#92400e;
}
.pb-verdict__pick{
 display:flex;
 align-items:center;
 gap:0.75rem;
 margin-bottom:0.75rem;
 flex-wrap:wrap;
}
.pb-verdict__badge{
 display:inline-block;
 background:#f59e0b;
 color:#fff;
 padding:0.2rem 0.7rem;
 border-radius:10px;
 font-size:0.72rem;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:0.04em;
}
.pb-verdict__name{
 font-weight:700;
 font-size:1.15rem;
 color:#1e293b;
 text-decoration:none;
}
a.pb-verdict__name{
 border-bottom:2px solid #fbbf24;
 transition:border-color 0.15s ease;
}
a.pb-verdict__name:hover{
 border-color:#d97706;
}
.pb-verdict__text{
 margin:0 0 0.5rem;
 font-size:0.95rem;
 line-height:1.6;
 color:#334155;
}
.pb-verdict__reasoning{
 margin:0 0 0.75rem;
 font-size:0.88rem;
 color:#64748b;
 line-height:1.5;
 font-style:italic;
}
.pb-verdict__alt{
 display:flex;
 align-items:baseline;
 gap:0.4rem;
 padding-top:0.75rem;
 border-top:1px solid #fde68a;
 font-size:0.9rem;
}
.pb-verdict__alt-label{
 font-weight:600;
 color:#92400e;
}
.pb-verdict__alt-name{
 font-weight:600;
 color:#1e293b;
 text-decoration:none;
}
a.pb-verdict__alt-name{
 border-bottom:1px solid #fbbf24;
}


.pb-wildlife-card{
 background:#f8faf7;
 border:1px solid #d7e3d3;
 border-left:4px solid #4f772d;
 border-radius:0 8px 8px 0;
 overflow:hidden;
 margin-bottom:1.5rem;
 box-shadow:0 1px 3px rgba(0, 0, 0, 0.06);
}
.pb-wildlife-card__hero{
 width:100%;
 max-height:220px;
 overflow:hidden;
}
.pb-wildlife-card__img{
 width:100%;
 height:220px;
 object-fit:cover;
 display:block;
}
.pb-wildlife-card__body{
 padding:1.25rem;
}
.pb-wildlife-card__name{
 margin:0;
 font-size:1.15rem;
}
.pb-wildlife-card__link{
 color:inherit;
 text-decoration:none;
 border-bottom:2px solid #b5c99a;
 transition:border-color 0.15s ease;
}
.pb-wildlife-card__link:hover{
 border-color:#4f772d;
}
.pb-wildlife-card__scientific{
 margin-top:0.3rem;
 color:#556b5d;
 font-size:0.92rem;
}
.pb-wildlife-card__meta{
 display:flex;
 flex-wrap:wrap;
 gap:0.55rem;
 margin-top:0.85rem;
 align-items:center;
}
.pb-wildlife-card__pill{
 display:inline-block;
 background:#e9f5db;
 color:#355834;
 padding:0.15rem 0.6rem;
 border-radius:999px;
 font-size:0.78rem;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:0.04em;
}
.pb-wildlife-card__stat,
.pb-wildlife-card__locations,
.pb-wildlife-card__safety{
 font-size:0.92rem;
 color:#334155;
 line-height:1.6;
}
.pb-wildlife-card__locations,
.pb-wildlife-card__safety,
.pb-wildlife-card__desc{
 margin-top:0.8rem;
}
.pb-wildlife-card__safety{
 background:#fff7ed;
 border:1px solid #fed7aa;
 border-radius:6px;
 padding:0.75rem 0.85rem;
}
.pb-wildlife-card__desc{
 padding-top:0.8rem;
 border-top:1px solid #dbe4dd;
 color:#334155;
 font-size:0.95rem;
 line-height:1.7;
}



.pb-compact-card,
.park-boss-compact-card{
 display:flex !important;
 gap:14px;
 align-items:center;
 background:#f8fafb;
 border-radius:8px;
 padding:14px 16px;
 margin:16px 0;
 border:1px solid #e5e7eb;
 border-left:4px solid var(--pb-card-accent, #2E7D32);
 font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.pb-compact-card img,
.park-boss-compact-card img{
 width:64px !important;
 height:64px !important;
 object-fit:contain;
 border-radius:6px;
 background:#fff;
 padding:4px;
 flex-shrink:0;
}

.pb-compact-card__body{
 flex:1;
 min-width:0;
}
.pb-compact-card__title{
 font-size:14px;
 font-weight:600;
 color:#1a1a1a;
 text-decoration:none;
 display:block;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.pb-compact-card__title:hover{
 color:var(--pb-card-accent, #2E7D32);
}
.pb-compact-card__meta{
 display:flex;
 align-items:center;
 gap:8px;
 margin-top:4px;
}
.pb-compact-card__price{
 font-size:15px;
 font-weight:700;
 color:#b12704;
}
.pb-compact-card__brand{
 font-size:12px;
 color:#6b7280;
}
.pb-compact-card__btn{
 display:inline-flex !important;
 align-items:center;
 gap:4px;
 background:var(--pb-card-accent, #2E7D32);
 color:#fff !important;
 padding:8px 16px;
 border-radius:6px;
 font-size:13px;
 font-weight:600;
 text-decoration:none !important;
 white-space:nowrap;
 flex-shrink:0;
 transition:filter 0.15s ease;
}
.pb-compact-card__btn:hover{
 filter:brightness(0.9);
}
.pb-compact-card__btn svg{
 width:14px;
 height:14px;
}

.park-boss-compact-card > div{
 flex:1;
 min-width:0;
}
.park-boss-compact-card > div > a{
 font-size:14px;
 font-weight:600;
 color:#1a1a1a !important;
 text-decoration:none !important;
 display:block;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.park-boss-compact-card > div > a:hover{
 color:#2E7D32 !important;
}
.park-boss-compact-card > a:last-child{
 display:inline-flex !important;
 align-items:center;
 background:#2E7D32 !important;
 color:#fff !important;
 padding:8px 16px !important;
 border-radius:6px !important;
 font-size:13px !important;
 font-weight:600;
 text-decoration:none !important;
 white-space:nowrap;
 flex-shrink:0;
 border:none !important;
 transition:filter 0.15s ease;
}
.park-boss-compact-card > a:last-child:hover{
 filter:brightness(0.9);
}


@media (max-width:600px){
 .pb-compact-card,
 .park-boss-compact-card{
 flex-wrap:wrap;
 gap:12px;
 padding:14px;
}
 .pb-compact-card img,
 .park-boss-compact-card img{
 width:56px !important;
 height:56px !important;
}
 .pb-compact-card__body,
 .park-boss-compact-card > div{
 flex:1 1 0;
 min-width:0;
}
 .pb-compact-card__title,
 .park-boss-compact-card > div > a{
 white-space:normal !important;
 overflow:visible !important;
 text-overflow:clip !important;
 font-size:14px;
 line-height:1.4;
}

 .pb-compact-card__btn,
 .park-boss-compact-card > a:last-child{
 width:100% !important;
 justify-content:center;
 flex-basis:100%;
 padding:10px 14px !important;
 font-size:14px !important;
 box-sizing:border-box;
}
}

@media (max-width:420px){
 .pb-compact-card,
 .park-boss-compact-card{
 gap:10px;
 padding:12px;
}
 .pb-compact-card img,
 .park-boss-compact-card img{
 width:48px !important;
 height:48px !important;
}
 .pb-compact-card__title,
 .park-boss-compact-card > div > a{
 font-size:13px;
}
}
.entry-content .pb-itinerary>.pb-itinerary__day[data-affiliate]{display:block;gap:0;margin:28px 0}
@media (max-width: 640px) {
  .pb-compact-card,
  .park-boss-compact-card {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr);
    grid-template-areas:
      "media body"
      "cta cta";
    align-items: start;
    gap: 12px;
    padding: 14px;
  }

  .pb-compact-card img,
  .park-boss-compact-card img {
    grid-area: media;
    width: 64px !important;
    height: 64px !important;
    margin: 0;
    align-self: start;
  }

  .pb-compact-card__body,
  .park-boss-compact-card > div {
    grid-area: body;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
  }

  .pb-compact-card__title,
  .park-boss-compact-card > div > a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    line-height: 1.35;
    min-width: 0;
  }

  .pb-compact-card__meta {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 4px 8px;
    margin-top: 0;
  }

  .pb-compact-card__price {
    font-size: 14px;
  }

  .pb-compact-card__brand {
    font-size: 11px;
    line-height: 1.3;
  }

  .pb-compact-card__btn,
  .park-boss-compact-card > a:last-child {
    grid-area: cta;
    width: 100% !important;
    justify-content: center;
    padding: 11px 14px !important;
  }
}

@media (max-width: 420px) {
  .pb-compact-card,
  .park-boss-compact-card {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }

  .pb-compact-card img,
  .park-boss-compact-card img {
    width: 56px !important;
    height: 56px !important;
  }

  .pb-compact-card__title,
  .park-boss-compact-card > div > a {
    font-size: 13px;
  }

  .pb-compact-card__btn,
  .park-boss-compact-card > a:last-child {
    font-size: 13px !important;
  }
}
