.cc-inline{border-left:3px solid var(--brand);padding:.15rem 0 .15rem 1rem;margin:1.5rem 0;color:var(--ink)}.cc-inline a{font-weight:700}.cc-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:1.8rem 0;background:var(--surface-2)}.cc-card img{margin:0;border-radius:0;box-shadow:none;width:100%;height:100%;max-height:290px;object-fit:cover}.cc-card>div{padding:1.1rem}.cc-card p{margin:.3rem 0 1rem}.cc-module{margin:3rem 0 0;padding:clamp(1.1rem,4vw,2.2rem);border:1px solid var(--line);border-top:5px solid var(--brand);border-radius:12px;background:var(--surface-2);scroll-margin-top:100px}.cc-kicker{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.cc-module h2{margin:.35rem 0 1rem}.cc-module label{display:block;font-weight:650;margin:1rem 0 .4rem}.cc-module select,.cc-module input{font:inherit;background:white;border:1px solid #718393;color:var(--ink);border-radius:6px;padding:.75rem;width:100%;min-height:46px;box-sizing:border-box}.cc-module button,.cc-float button,.cc-dialog button{font:inherit;min-height:44px;cursor:pointer}.cc-choice-row{display:flex;gap:.6rem;align-items:end}.cc-choice-row>div{flex:1;min-width:0}.cc-reset{background:white;color:var(--brand);border:1px solid #9babb7;border-radius:6px;padding:.6rem .8rem}.cc-recommendation{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.3rem}.cc-recommendation h3{margin:0 0 .5rem}.cc-action{display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:normal;overflow-wrap:anywhere;background:var(--accent)!important;color:white!important;border-radius:7px;padding:.85rem 1.15rem;min-height:46px;text-decoration:none!important;box-sizing:border-box;font-weight:700;line-height:1.3}.cc-action:hover{background:var(--accent-deep)!important}.cc-small{font-size:.88rem;color:var(--ink-soft)}.cc-calculator{border-top:1px solid var(--line);margin:1.5rem 0;padding-top:1rem}.cc-calculator summary{cursor:pointer;font-weight:700;min-height:44px}.cc-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cc-calculator output{display:block;min-height:2rem;margin:1rem 0;font-weight:650}.cc-float{position:fixed;z-index:60;bottom:1rem;right:1rem;max-width:470px;box-sizing:border-box;display:flex;align-items:center;gap:.8rem;padding:1rem;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 28px #08233933}.cc-float p{margin:0;line-height:1.3;font-size:.9rem;flex:1}.cc-float .cc-action{font-size:.86rem;max-width:235px}.cc-close{border:0;background:transparent;font-size:1.2rem;min-width:44px;min-height:44px;flex:none;color:var(--brand)}.cc-dialog{max-width:520px;width:calc(100% - 2rem);padding:1.6rem;border:1px solid var(--line);border-radius:12px;color:var(--ink);box-sizing:border-box}.cc-dialog::backdrop{background:#09253670}.cc-dialog .cc-close{float:right}.cc-dialog h2{font-size:1.4rem;padding-right:2rem}.cc-module [hidden],.cc-float[hidden],.cc-dialog[hidden]{display:none!important}.cc-enhanced-only{display:none}.cc-ready .cc-enhanced-only{display:block}.cc-ready .cc-choice-row{display:flex}.cc-action:focus-visible,.cc-reset:focus-visible,.cc-close:focus-visible{outline:3px solid var(--brand);outline-offset:4px}body.city-cro{padding-bottom:0!important}.cc-bridge{margin:1rem 0 1.5rem}.cc-jump{font:inherit;border:0;background:transparent;text-decoration:underline;color:var(--accent);cursor:pointer;min-height:44px}
@media(max-width:760px){.cc-card{grid-template-columns:1fr}.cc-card img{max-height:230px;aspect-ratio:3/2}.cc-inputs{grid-template-columns:1fr}.cc-choice-row{flex-wrap:wrap}.cc-float{left:.5rem;right:.5rem;bottom:.4rem;max-width:none;padding:.75rem .5rem calc(.65rem + env(safe-area-inset-bottom));gap:.5rem}.cc-float p{display:none}.cc-float .cc-action{max-width:none;flex:1}.cc-module .cc-action{width:100%}}
@media(max-width:500px){.cc-choice-row>div{flex-basis:100%}.cc-choice-row{align-items:start}.cc-choice-row>.cc-reset{padding:.4rem .9rem}}

/* Prominent booking surfaces: retain Boston's green/red palette. */
.city-cro .cc-inline {
  padding: 1.15rem 1.25rem;
  margin: 1.8rem 0;
  border: 1px solid #aac7b7;
  border-left: 6px solid var(--brand);
  border-radius: 10px;
  background: #e5efe6;
  color: #17382b;
  box-shadow: 0 3px 12px #17382b0d;
}
.city-cro .cc-inline::before {
  content: 'Booking option';
  display: block;
  margin-bottom: .5rem;
  color: #00563f;
  font-size: .75rem;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.city-cro .cc-inline .cc-link {
  display: table;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: .8rem;
  padding: .8rem 1rem;
  border-radius: 7px;
  background: #00563f;
  color: #fff;
  font-weight: 750;
  line-height: 1.35;
  text-decoration: none;
  overflow-wrap: anywhere;
  min-height: 46px;
}
.city-cro .cc-inline .cc-link:hover { background: #003e2d; }
.city-cro .cc-inline .cc-link:focus-visible {
  outline: 3px solid #bd3039;
  outline-offset: 4px;
}
.city-cro .cc-card {
  border: 2px solid #84ab93;
  border-top: 6px solid #00563f;
  background: #f8fcf7;
  box-shadow: 0 6px 20px #17382b14;
  gap: 0;
}
.city-cro .cc-card > div { padding: 1.35rem; }
.city-cro .cc-card img { display: block; margin: 0; }
.city-cro .cc-module {
  border: 2px solid #00563f;
  border-top: 10px solid #00563f;
  background: #e5efe6;
  box-shadow: 0 10px 28px #17382b1a;
}
.city-cro .cc-kicker {
  display: inline-block;
  background: #00563f;
  color: #fff;
  padding: .45rem .7rem;
  border-radius: 5px;
  font-weight: 750;
}
.city-cro .cc-module h2 { color: #17382b; }
.city-cro .cc-recommendation {
  padding: 1.25rem;
  border: 1px solid #aac7b7;
  border-radius: 9px;
  background: #fff;
}
.city-cro .cc-recommendation h3 { color: #00563f; }
.city-cro .cc-action {
  border: 2px solid #9f222b;
  box-shadow: 0 3px 0 #871c24;
  padding: .95rem 1.2rem;
}
.city-cro .cc-float {
  border: 2px solid #00563f;
  border-top-width: 5px;
  box-shadow: 0 8px 30px #17382b33;
}
@media (max-width: 500px) {
  .city-cro .cc-inline { padding: 1rem; }
  .city-cro .cc-inline .cc-link { display: block; text-align: center; }
  .city-cro .cc-recommendation { padding: 1rem; }
  .city-cro .cc-card > div { padding: 1.15rem; }
}
/* Keep the prominent closing panel compact enough for mobile reading. */
.city-cro .cc-module h2 { margin: .8rem 0 1.1rem; }
.city-cro .cc-module .cc-kicker { margin: 0; }
.city-cro .cc-recommendation h3 { margin-top: 0; }
