/* Private departures from Isola Bella, shared across the brand's existing themes. */
.pc-page{max-width:1500px;margin:auto;padding:64px 5% 80px;color:var(--ink,#123347)}
.pc-page *,.pc-collection *{box-sizing:border-box}
.pc-kicker{font-size:14px;letter-spacing:.12em;line-height:1.7;color:var(--muted,#52656d);margin:0 0 16px}
.pc-back{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:5px;margin:0 0 28px}
.pc-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:clamp(32px,5vw,76px);align-items:center}
.pc-hero h1{font-size:clamp(42px,4.5vw,72px);line-height:1.12;margin:0 0 24px;letter-spacing:-.025em}
.pc-page p{font-size:16px;line-height:1.85;margin:0 0 20px;color:var(--muted,#52656d)}
.pc-hero .pc-kicker,.pc-section .pc-kicker{font-size:14px;margin:0 0 16px}
.pc-photo{margin:0!important;min-width:0}
.pc-photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:28px}
.pc-facts{display:flex;flex-wrap:wrap;gap:10px 20px;padding:16px 0;margin:20px 0;border-top:1px solid var(--line,#d6dcda);border-bottom:1px solid var(--line,#d6dcda);font-size:14px;line-height:1.65}
.pc-page .pc-price{font-size:32px;line-height:1.4;color:var(--ink,#123347);margin:20px 0}
.pc-price span{font-size:14px;display:block;color:var(--muted,#52656d)}
.pc-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;background:var(--ink,#123347);color:#fff!important;border:1px solid var(--ink,#123347);font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;text-align:center;text-decoration:none!important;letter-spacing:.015em}
.pc-button:hover{filter:brightness(1.25)}
.pc-button:focus-visible,.pc-page a:focus-visible{outline:3px solid #a77c42;outline-offset:4px}
.pc-section{padding:56px 0;margin:0;border-bottom:1px solid var(--line,#d6dcda)}
.pc-section h2,.pc-collection h2{font-size:clamp(34px,3.8vw,54px);line-height:1.2;margin:0 0 22px}
.pc-section-heading{max-width:800px;margin-bottom:30px}
.pc-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px)}
.pc-details h3{font-size:25px;line-height:1.4;margin:0 0 18px}
.pc-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin:22px 0}
.pc-specs div{border-bottom:1px solid var(--line,#d6dcda);padding:12px 0}
.pc-specs dt{font-size:14px;color:var(--muted,#52656d)}
.pc-specs dd{font-size:20px;margin:5px 0 0}
.pc-page .pc-small{font-size:14px;line-height:1.8}
.pc-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.pc-rate{border:1px solid var(--line,#d6dcda);padding:26px;min-width:0}
.pc-rate h3{font-size:27px;line-height:1.3;margin:0 0 14px}
.pc-page .pc-duration{font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}
.pc-page .pc-season{font-size:14px;color:var(--ink,#123347);margin:0 0 18px}
.pc-rate-row{padding:16px 0;border-top:1px solid var(--line,#d6dcda);display:grid;grid-template-columns:1fr auto;gap:10px 18px;align-items:center}
.pc-rate-row div{display:flex;flex-direction:column;font-size:14px;line-height:1.7}
.pc-rate-row strong{font-size:24px;font-weight:500;color:var(--ink,#123347)}
.pc-rate-row .pc-button{font-size:14px;padding:10px 14px}
.pc-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.pc-gallery img{display:block;width:100%;height:auto;object-fit:contain;border-radius:22px}
.pc-related{display:flex;flex-wrap:wrap;gap:12px 26px}
.pc-related a{font-size:16px;text-decoration:underline;text-underline-offset:5px}
.pc-card-note{font-size:14px!important;line-height:1.7!important;color:var(--muted,#52656d)}
.pc-collection{max-width:1500px;margin:auto;padding:64px 5%;border-top:1px solid var(--line,#d6dcda);border-bottom:1px solid var(--line,#d6dcda)}
.pc-collection>p{font-size:16px;line-height:1.8;max-width:800px;margin:0 0 30px}
.pc-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 40px}
.pc-card img{display:block;width:100%;height:auto;border-radius:22px}
.pc-card h3{font-size:32px;line-height:1.25;margin:22px 0 14px}
.pc-card p{font-size:16px;line-height:1.8;margin:0 0 18px}
@media(max-width:850px){.pc-page{padding:40px 6% 56px}.pc-hero,.pc-details{grid-template-columns:minmax(0,1fr);gap:30px}.pc-rate-grid{grid-template-columns:minmax(0,1fr)}.pc-section{padding:40px 0}.pc-hero h1{font-size:clamp(38px,8vw,58px)}.pc-collection{padding:44px 6%}.pc-collection-grid{gap:36px 24px}}
@media(max-width:600px){.pc-gallery,.pc-collection-grid{grid-template-columns:minmax(0,1fr)}.pc-rate{padding:20px}.pc-photo img{border-radius:22px}.pc-rate-row{gap:10px}.pc-rate-row .pc-button{max-width:140px}.pc-section h2,.pc-collection h2{font-size:36px}.pc-specs{gap:10px 18px}}

.pc-package,.pc-page .pc-package{font-size:14px;line-height:1.75;color:var(--ink,#123347);margin:16px 0 22px}

/* Common private-charter card format requested by the owner. */
.pc-standard-card .pc-card-tag{font-size:14px;line-height:1.7;letter-spacing:0;text-transform:none;margin:0 0 12px;color:var(--ink,#123347)}
.pc-standard-card .pc-standard-description,.pc-standard-card .pc-standard-prices,.pc-standard-card .pc-standard-inclusions{font-size:16px;line-height:1.8;margin:0 0 18px;letter-spacing:0;text-transform:none}
.pc-standard-card .pc-standard-prices{color:var(--ink,#123347)}
.pc-standard-prices strong{font-weight:600}
.pc-tariff-line{display:block;margin:0 0 10px}
.pc-standard-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.pc-standard-copy{padding-top:22px}
.pc-standard-copy h3{margin:0 0 16px}
.pc-detail-inclusions{font-size:16px!important;line-height:1.8!important;max-width:1100px;margin:0 0 28px!important}

.pc-standard-card .pc-card-photo{display:block;align-self:start;min-height:0;width:100%;aspect-ratio:3/2;overflow:hidden;border-radius:35px}
.pc-standard-card .pc-card-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}
.pc-standard-card h3{font-size:clamp(26px,2.4vw,34px);line-height:1.25;margin:0 0 16px}

/* One consistent, responsive layout for every boat in the collection. */
#flotta .pc-standard-card{min-width:0;margin-top:0;display:flex;flex-direction:column}
#flotta .pc-standard-card .pc-card-photo{position:relative;width:100%;aspect-ratio:3/2;border-radius:35px;overflow:hidden;flex-shrink:0}
#flotta .pc-standard-card .pc-card-photo img{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center;border-radius:35px}
#flotta .pc-standard-card .pc-standard-copy{padding:26px 0 0;min-width:0;display:flex;flex-direction:column;flex:1}
#flotta .pc-standard-card .pc-card-tag{min-height:3.4em;margin:0 0 12px;font-size:14px;line-height:1.7}
#flotta .pc-standard-card h3{min-height:2.5em;line-height:1.25;margin:0 0 16px}
#flotta .pc-standard-card .pc-starting-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0 0 24px;color:var(--ink,#123347);line-height:1.6}
#flotta .pc-starting-price strong{font-size:22px;font-weight:600}
#flotta .pc-starting-price span{font-size:14px;color:var(--muted,#52656d)}
#flotta .pc-card-accordions{border-top:1px solid var(--line,#d6dcda);margin-bottom:24px}
#flotta .pc-card-details{border-bottom:1px solid var(--line,#d6dcda)}
#flotta .pc-card-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:16px 0;cursor:pointer;list-style:none;font-size:16px;line-height:1.5;font-weight:500;color:var(--ink,#123347)}
#flotta .pc-card-details summary::-webkit-details-marker{display:none}
#flotta .pc-card-details summary::marker{content:""}
#flotta .pc-accordion-icon{display:flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;font-size:24px;font-weight:400;line-height:1}
#flotta .pc-accordion-icon::before{content:"+"}
#flotta .pc-card-details[open] .pc-accordion-icon::before{content:"−"}
#flotta .pc-card-details .pc-accordion-content{padding:0 0 18px}
#flotta .pc-card-details .pc-accordion-content p{font-size:16px;line-height:1.8;margin:0;color:var(--muted,#52656d)}
#flotta .pc-standard-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:auto;width:100%}
#flotta .pc-standard-actions .button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:56px;margin:0;padding:15px 20px;border:1px solid #102c3c;border-radius:35px;background:#102c3c;color:#fff;font-size:14px;line-height:24px;font-weight:500;letter-spacing:.035em;text-align:center;white-space:normal}
#flotta .pc-standard-actions .button:hover{background:#234650;border-color:#234650}
#flotta .pc-card-details summary:hover{color:var(--bronze,#926c46)}
#flotta .pc-card-details summary:focus-visible,#flotta .pc-card-photo:focus-visible,#flotta .pc-standard-actions .button:focus-visible{outline:3px solid var(--bronze,#926c46);outline-offset:5px}
@media(max-width:700px){#flotta .pc-standard-card .pc-standard-copy{padding-top:22px}}

/* Match the reference collection on desktop and mobile. */
#flotta .pc-standard-card{align-items:stretch;gap:0}
#flotta .pc-card-photo::after{content:none}
#flotta .pc-standard-actions .button{text-decoration:none}
#flotta .boats{grid-template-columns:repeat(2,minmax(0,1fr));gap:78px 6%}
@media(max-width:1000px){#flotta .boats{gap:64px 5%}}
@media(max-width:700px){#flotta .boats{grid-template-columns:minmax(0,1fr);gap:52px}}

/* Hourly private charter: one clear rate and minimum booking. */
.pc-hourly-page .pc-button{min-height:56px;border-radius:35px;padding:15px 24px}
.pc-hourly-page .pc-rate-grid{grid-template-columns:minmax(0,1fr);max-width:720px}
.pc-hourly-page .pc-rate{border-radius:35px}
.pc-hourly-page .pc-rate .pc-button{width:100%}
