.ocf-detail-packages { background:var(--ocf-bg-alt); }
.ocf-detail-packages .packages-heading { max-width:730px; margin:0 auto 28px; text-align:center; }
.ocf-detail-packages .packages-heading p { margin-top:16px; color:var(--ocf-body); }
.ocf-detail-packages .packages-selector { margin:0; padding:0; border:0; min-width:0; }
.ocf-detail-packages .packages-choice { position:absolute; width:1px; height:1px; opacity:0; }
.ocf-detail-packages .packages-options { display:flex; justify-content:center; gap:6px; width:fit-content; max-width:100%; padding:6px; margin:0 auto 42px; border:1px solid var(--ocf-border-light); border-radius:999px; background:var(--ocf-bg); }
.ocf-detail-packages .packages-options label { cursor:pointer; padding:12px 24px; border-radius:999px; font-size:14px; font-weight:600; color:var(--ocf-body); }
.ocf-detail-packages #dd-pack-full:checked ~ .packages-options label[for="dd-pack-full"],.ocf-detail-packages #dd-pack-exterior:checked ~ .packages-options label[for="dd-pack-exterior"],.ocf-detail-packages #dd-pack-interior:checked ~ .packages-options label[for="dd-pack-interior"] { background:var(--ocf-primary); color:var(--ocf-heading-alt); }
.ocf-detail-packages #dd-pack-full:focus-visible ~ .packages-options label[for="dd-pack-full"],.ocf-detail-packages #dd-pack-exterior:focus-visible ~ .packages-options label[for="dd-pack-exterior"],.ocf-detail-packages #dd-pack-interior:focus-visible ~ .packages-options label[for="dd-pack-interior"] { outline:3px solid var(--ocf-secondary); outline-offset:3px; }
.ocf-detail-packages .packages-grid { display:none; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ocf-detail-packages #dd-pack-full:checked ~ [data-package-group="full"],.ocf-detail-packages #dd-pack-exterior:checked ~ [data-package-group="exterior"],.ocf-detail-packages #dd-pack-interior:checked ~ [data-package-group="interior"] { display:grid; }
.ocf-detail-packages .package-card { display:flex; flex-direction:column; align-items:flex-start; padding:32px; border:1px solid var(--ocf-border); border-radius:var(--card-radius); background:var(--ocf-bg); }
.ocf-detail-packages .package-card--featured { border:2px solid var(--ocf-primary); box-shadow:0 12px 30px #1f3e9010; }
.ocf-detail-packages .package-badge { display:inline-flex; padding:6px 12px; border-radius:999px; background:var(--ocf-bg-alt); color:var(--ocf-primary); font-size:12px; font-weight:700; }
.ocf-detail-packages .package-card--featured .package-badge { background:var(--ocf-primary); color:var(--ocf-heading-alt); }
.ocf-detail-packages .package-card h3 { margin-top:20px; font-size:25px; font-weight:800; }
.ocf-detail-packages .package-card ul { flex:1; list-style:none; padding:0; margin:26px 0 30px; width:100%; }
.ocf-detail-packages .package-card li { position:relative; padding:10px 0 10px 24px; color:var(--ocf-body); font-size:14px; border-bottom:1px solid var(--ocf-border-light); }
.ocf-detail-packages .package-card li::before { content:'✓'; position:absolute; left:0; color:var(--ocf-primary); font-weight:800; }
.ocf-detail-packages .package-card .btn-primary { width:100%; justify-content:space-between; font-size:14px; }
.ocf-detail-packages .packages-note { margin:26px auto 0; max-width:680px; color:var(--ocf-body); font-size:13px; text-align:center; }
@media(max-width:900px){ .ocf-detail-packages .packages-grid { gap:14px; } .ocf-detail-packages .package-card { padding:24px 18px; } .ocf-detail-packages .package-card h3 { font-size:22px; } }
@media(max-width:639px){ .ocf-detail-packages .packages-options { width:100%; margin-bottom:28px; } .ocf-detail-packages .packages-options label { flex:1; text-align:center; padding:11px 10px; font-size:12px; white-space:nowrap; } .ocf-detail-packages .packages-grid { grid-template-columns:minmax(0,1fr); gap:18px; } .ocf-detail-packages .package-card { padding:28px; } }

/* OCF_AGENT_BLOCK:destination-packages-visible START */
html.lisbon-motion .ocf-detail-packages.lisbon-reveal .lisbon-reveal-item { opacity:1; transform:none; transition:none; }
/* OCF_AGENT_BLOCK:destination-packages-visible END */
