/* Kurey – legacy.css (optional, template option "Legacy content shim")
   Styles the class names used in articles written for the old Gantry 5 / Studius sites so
   they look acceptable while content is migrated to the Kurey vocabulary (see docs/MIGRATION.md).
   Turn this file off once migration is done. */

/* Gantry grid */
.g-grid { display: flex; flex-wrap: wrap; margin: 0 -12px; }
.g-block { flex: 1 1 100%; min-width: 0; padding: 0 12px; }
.g-content { height: 100%; }
@media (min-width: 768px) {
  .g-block.size-20 { flex-basis: 20%; max-width: 20%; }
  .g-block.size-25 { flex-basis: 25%; max-width: 25%; }
  .g-block.size-28, .g-block.size-29, .g-block.size-30 { flex-basis: 30%; max-width: 30%; }
  .g-block.size-33, .g-block.size-33-3 { flex-basis: 33.333%; max-width: 33.333%; }
  .g-block.size-40 { flex-basis: 40%; max-width: 40%; }
  .g-block.size-50 { flex-basis: 50%; max-width: 50%; }
  .g-block.size-60 { flex-basis: 60%; max-width: 60%; }
  .g-block.size-66, .g-block.size-66-6 { flex-basis: 66.666%; max-width: 66.666%; }
  .g-block.size-70, .g-block.size-71, .g-block.size-72 { flex-basis: 70%; max-width: 70%; }
  .g-block.size-75 { flex-basis: 75%; max-width: 75%; }
  .g-block.size-80 { flex-basis: 80%; max-width: 80%; }
  .g-block.size-100 { flex-basis: 100%; max-width: 100%; }
}
.clearfix::after, .clear { content: ""; display: block; clear: both; }

/* Buttons */
.button { display: inline-flex; align-items: center; gap: .5em; padding: .8em 1.35em; border-radius: var(--k-radius-sm); border: 2px solid var(--k-ink); background: var(--k-ink); color: #fff; font-weight: 700; font-size: .9375rem; line-height: 1.2; text-decoration: none; }
.button:hover { background: #000; color: #fff; }
.button-red, .button-primary, .button-yellow { background: var(--k-accent); border-color: var(--k-accent); color: var(--k-accent-ink); }
.button-red:hover, .button-primary:hover { background: color-mix(in srgb, var(--k-accent) 86%, black); color: var(--k-accent-ink); }
.button-outline { background: transparent; color: var(--k-ink); }
.button-outline:hover { background: var(--k-ink); color: #fff; }

/* Dividers and helper classes */
hr.dline { border: 0; border-top: 1px solid var(--k-line); margin: 2rem 0; }
.schema-list { list-style: none; padding: 0; margin: 0 0 1em; }
.schema-list li { padding: 6px 0; border-bottom: 1px solid var(--k-line-soft); }
.sightseeing-grid h3 { font-size: 1rem; text-transform: uppercase; letter-spacing: .08em; margin-top: 1.4em; }
.sightseeing-grid h3 .fa { color: var(--k-muted); }

/* Old accordion markup, two generations:
   (a) <button class="n-accordion"> + <div class="n-panel"> driven by the old inline JS (max-height toggling)
   (b) <details class="n-accordion-item"><summary class="n-accordion"> + .n-panel (native, no JS needed) */
button.n-accordion { width: 100%; text-align: left; font: inherit; background: none; border: 0; border-bottom: 1px solid var(--k-line); }
button.n-accordion::after { content: ""; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--k-cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 20px no-repeat; transition: transform .25s; }
button.n-accordion.active::after { transform: rotate(180deg); background-color: var(--k-accent); }
button.n-accordion + .n-panel:not([style*="max-height"]) { max-height: 0; overflow: hidden; padding-bottom: 0 !important; }
button.n-accordion + .n-panel[style*="max-height"] { max-height: none !important; overflow: visible !important; }
.n-accordion-controls { display: flex; justify-content: flex-end; gap: 6px; font-size: var(--k-fs-sm); margin: 1em 0 .25em; }
.n-accordion-controls a { text-decoration: underline; color: var(--k-ink-2); }
details.n-accordion-item { border-bottom: 1px solid var(--k-line); }
details.n-accordion-item:first-of-type { border-top: 1px solid var(--k-line); }
.n-accordion { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; cursor: pointer; list-style: none; font-weight: 700; font-size: 1.125rem; }
.n-accordion::-webkit-details-marker { display: none; }
.n-accordion-icon { flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--k-cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 20px no-repeat; transition: transform .25s; }
details[open] > .n-accordion .n-accordion-icon { transform: rotate(180deg); background-color: var(--k-accent); }
details.n-accordion-item > .n-panel { max-height: none !important; overflow: visible !important; }
.n-panel { padding: 0 0 24px; transition: none !important; }

/* Old package pricing cards */
ul.n-pkg-v2 { list-style: none; margin: 1rem 0; padding: 26px 20px 22px; text-align: center; border: 1px solid var(--k-line); border-radius: var(--k-radius); display: flex; flex-direction: column; gap: 10px; align-items: center; height: calc(100% - 2rem); }
ul.n-pkg-v2 li { margin: 0; }
li.n-pkg-cat-v2 { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; }
li.n-pkg-hotel-name-v2 { font-size: var(--k-fs-sm); color: var(--k-ink-2); }
li.n-pkg-hotel-cat-v2 img { width: 100px; height: 24px; object-fit: contain; border-radius: 0; }
li.n-pkg-cost-v2 span { font-size: 1.625rem; font-weight: 800; }
ul.n-pkg-v2 .button { margin-top: auto; width: 100%; justify-content: center; }

/* Old showcase card grid (mod_custom HTML) */
.showcase-grid, .one-cols-img-list { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); margin: 0; padding: 0; }
.showcase-grid .g-block, .box1 { flex: none; max-width: none; padding: 0; }
.box1 > .g-content, .box1 > a { display: block; border: 1px solid var(--k-line-soft); border-radius: var(--k-radius); overflow: hidden; background: #fff; height: 100%; text-decoration: none; color: var(--k-ink); transition: box-shadow .2s, transform .2s; }
.box1 > .g-content:hover { box-shadow: var(--k-shadow); transform: translateY(-3px); }
.box1 img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; display: block; border-radius: 0; }
.box1 h4 { font-size: 1rem; text-transform: uppercase; margin: 14px 16px 6px; }
.box1 p { margin: 0 16px 8px; font-size: var(--k-fs-sm); color: var(--k-ink-2); }
.box1 p:last-child { padding-bottom: 14px; }
.title-center { text-align: center; }
.g-title { font-size: var(--k-fs-2xl); text-transform: uppercase; font-weight: 800; }

/* Old plain tables */
table.table { width: 100%; }
