.portugal-article{max-width:1120px}.portugal-article>section:not(.pt-explore):not(.pt-budget){max-width:780px;margin-left:auto;margin-right:auto}.pt-prices,.pt-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pt-price{border:1px solid #dce2eb;padding:22px;border-radius:8px}.pt-price h3{font-size:18px;margin:0 0 16px}.pt-price strong{font-size:30px}.pt-price p{font-size:15px}.pt-price a{font-size:14px;text-decoration:underline}.pt-budget{background:#112346;color:white;padding:30px;border-radius:12px;margin:40px 0}.pt-budget h2{margin-top:0}.pt-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pt-fields label{font-size:14px;display:flex;flex-direction:column;justify-content:space-between;gap:8px}.pt-fields input{width:100%;min-width:0;padding:12px;border:1px solid #bbc9df;border-radius:5px;font-size:18px}.pt-total{display:flex;flex-direction:column;margin:28px 0;padding:22px;background:#20385e;border-radius:8px}.pt-total output{font-size:40px;font-weight:750;color:#ffb347}.pt-total small{font-size:14px;margin-top:12px}.pt-budget button{padding:10px 18px;font:inherit;cursor:pointer;border:0;border-radius:5px}.pt-gallery{margin:28px 0}.pt-gallery figure{margin:0;border-radius:8px;overflow:hidden;background:#f1f5fb}.pt-gallery img{width:100%;height:225px;object-fit:cover;display:block}.pt-gallery figcaption{padding:16px}.pt-gallery strong{display:block;font-size:20px}.pt-gallery a{font-size:12px;text-decoration:underline}.pt-gallery p{font-size:15px;margin:8px 0}@media(max-width:700px){.pt-prices,.pt-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.pt-gallery{grid-template-columns:1fr}.pt-budget{padding:20px}.pt-gallery img{height:230px}}@media(max-width:420px){.pt-fields,.pt-prices{grid-template-columns:1fr}}.pt-fields select{width:100%;padding:12px;border:1px solid #bbc9df;border-radius:5px;font-size:18px;background:white;color:#112346}.pt-budget a{text-decoration:underline;color:#ffce85}.pt-total [data-other]{font-size:25px}.pt-budget input{color:#112346;background:white}.pt-budget [data-rate-note]{font-size:14px}.pt-total output{overflow-wrap:anywhere}

/* Portugal guide: reusable itinerary, budget and booking pattern. */
.pt-jump{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 16px}.pt-jump a{padding:10px 18px;border-radius:30px;background:#112346;color:white;font-weight:650;font-size:16px}.pt-jump a:hover{background:#284a75}.pt-at-a-glance{display:flex;flex-wrap:wrap;gap:10px 24px;padding:14px 0;border-top:1px solid #dce2eb;border-bottom:1px solid #dce2eb;font-size:14px}.pt-day{border-left:3px solid #e16b18;padding-left:24px}.pt-day h2{font-size:23px}.pt-day-note{padding:14px 18px;background:#f1f5fb;border-radius:8px}.pt-inline{text-decoration:underline;font-weight:650}.portugal-article>section.pt-bookings{max-width:none}.pt-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pt-book-card{display:flex;flex-direction:column;padding:24px;border:1px solid #dce2eb;border-radius:12px;background:#fff}.pt-book-card h3{font-size:22px;line-height:1.35;margin:0 0 12px}.pt-book-card .kicker{font-size:14px}.pt-book-card p{margin:0 0 16px}.pt-book-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.pt-book-link{display:inline-block;text-decoration:underline;font-weight:650;font-size:16px}.pt-book-card>.pt-book-link,.pt-book-actions .pt-book-link{padding:10px 14px;border-radius:6px;background:#112346;color:white;text-decoration:none;align-self:flex-start;margin-top:auto}.pt-book-actions .pt-book-link+ .pt-book-link{background:#eef3f9;color:#112346}.pt-small{font-size:14px}.pt-disclosure{background:#f1f5fb;padding:22px;border-radius:10px;margin-top:22px}.pt-disclosure p{font-size:14px;margin-bottom:0}.pt-breakdown{width:100%;border-collapse:collapse;font-size:16px;margin:22px 0}.pt-breakdown th,.pt-breakdown td{padding:12px 8px;text-align:right;border-bottom:1px solid #526887}.pt-breakdown th:first-child,.pt-breakdown td:first-child{text-align:left}.pt-breakdown caption{text-align:left;font-weight:700;font-size:20px;margin-bottom:8px}.pt-breakdown small{display:block;font-size:14px}.pt-budget .pt-breakdown tfoot{color:#ffce85;font-weight:700}.pt-breakdown-wrap{overflow-x:auto}.pt-day-note a{white-space:normal}@media(max-width:700px){.pt-book-grid{grid-template-columns:1fr}.pt-book-card{padding:20px}.pt-day{padding-left:16px}.pt-breakdown{font-size:14px}.pt-breakdown th,.pt-breakdown td{padding:10px 5px}.pt-breakdown small{font-size:14px}.pt-jump a{padding:9px 13px}}
