/*!
 * DSL Adventures - company pages (About Us, Our Team, Responsible Travel), Contact and policies.
 * Loaded only there (inc/company.php). Builds on the design system (tokens, buttons, icon chips,
 * .dsl-card-link) plus dsl-hubs.css (photo hero, guides row, closing band) on company pages,
 * dsl-inquiry.css on Contact and dsl-travel-guide.css (reading layout, table of contents) on
 * policies. The block library stylesheet is not loaded, so the core blocks used in the page
 * content (group, heading, paragraph, list, image, shortcode) are styled here.
 *
 * 01 Sections and splits   02 Text, links, actions   03 Lists (pillars, steps, checks, rules)
 * 04 Notes and link cards  05 Team cards             06 Contact   07 Policies   08 Pending markers
 * 09 Print
 */

/* ---------- 01. Sections and splits ---------- */
.dsl-co{--dsl-co-width:1200px;--dsl-co-text:760px}
.dsl-co>.wp-block-group{padding-block:var(--dsl-section-y);padding-inline:max(var(--dsl-gutter),calc((100% - var(--dsl-co-width)) / 2))}
.dsl-co>.wp-block-group>*{margin-top:0}
.dsl-co-section--cream{background:var(--dsl-cream)}
.dsl-co-section--alt,.dsl-co-split--reverse{background:var(--dsl-surface-alt)}
.dsl-co-section>:is(p,h2,h3,.dsl-co-checks,.dsl-co-promises,.dsl-co-official,.dsl-co-sources,.dsl-guide-note){max-width:var(--dsl-co-text)}
.dsl-co-split{display:grid;gap:clamp(28px,1.25rem + 3vw,72px);align-items:center}
.dsl-co-split>*{min-width:0}
.dsl-co-split .wp-block-image{margin:0}
.dsl-co-split .wp-block-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--dsl-radius-lg);background:var(--dsl-surface-alt);box-shadow:var(--dsl-shadow-md)}
.dsl-co-split .wp-element-caption{margin-top:10px;font-size:var(--dsl-fs-caption);line-height:1.45;color:var(--dsl-text-muted)}
@media (min-width:900px){
  .dsl-co-split{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
  .dsl-co-split--reverse{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  .dsl-co-split--reverse>.wp-block-image{order:2}
}

/* ---------- 02. Text, links, actions ---------- */
.dsl-co :is(.dsl-co-section,.dsl-co-split__text)>*{margin:0 0 1em}
.dsl-co :is(.dsl-co-section,.dsl-co-split__text)>:last-child{margin-bottom:0}
.dsl-co h2{margin-bottom:.55em;text-wrap:balance}
.dsl-co h3{margin:1.6em 0 .5em;font-size:var(--dsl-fs-h4)}
.dsl-co p{line-height:1.7}
.dsl-co .dsl-co-eyebrow{margin-bottom:10px;font-family:var(--dsl-font-head);font-size:var(--dsl-fs-label,.78125rem);font-weight:700;letter-spacing:.14em;line-height:1.3;text-transform:uppercase;color:var(--dsl-clay)}
.dsl-co .dsl-co-lead{font-size:var(--dsl-fs-lead);line-height:1.55;color:var(--dsl-secondary)}
.dsl-co :is(p,li):not(.dsl-co-actions) a:not(.dsl-btn):not(.dsl-card-link){color:var(--dsl-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,var(--dsl-primary) 45%,transparent)}
.dsl-co :is(p,li):not(.dsl-co-actions) a:not(.dsl-btn):not(.dsl-card-link):hover{color:var(--dsl-secondary);text-decoration-thickness:2px;text-decoration-color:currentColor}
.dsl-co strong{font-weight:700;color:var(--dsl-secondary)}
.dsl-co .dsl-co-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.dsl-co-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;border:2px solid var(--dsl-secondary);border-radius:var(--dsl-radius-pill);font-family:var(--dsl-font-head);font-size:.9375rem;font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;text-align:center;color:var(--dsl-secondary);text-decoration:none;transition:background-color var(--dsl-dur-fast),color var(--dsl-dur-fast),border-color var(--dsl-dur-fast)}
.dsl-co-actions a:hover{background:var(--dsl-secondary);color:#fff}
.dsl-co-actions a:first-child{border-color:var(--dsl-primary);background:var(--dsl-primary);color:#fff}
.dsl-co-actions a:first-child:hover{border-color:var(--dsl-primary-dark);background:var(--dsl-primary-dark)}
.dsl-co-actions a:focus-visible{outline:3px solid var(--dsl-focus);outline-offset:3px}
.dsl-co .wp-block-shortcode,.dsl-co .dsl-hub-tours{margin-top:28px}
@media (max-width:479.98px){.dsl-co-actions a{width:100%}}

/* ---------- 03. Lists ---------- */
.dsl-co ul.dsl-co-pillars{display:grid;gap:var(--dsl-space-md);grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));margin:28px 0 0;padding:0;list-style:none}
.dsl-co-pillars>li{padding:22px 22px 24px;border:1px solid var(--dsl-border);border-top:3px solid var(--dsl-accent);border-radius:var(--dsl-radius-lg);background:var(--dsl-surface);line-height:1.6;color:var(--dsl-text-muted)}
.dsl-co-pillars>li strong{display:block;margin-bottom:6px;font-family:var(--dsl-font-head);font-size:var(--dsl-fs-h5);line-height:1.3;color:var(--dsl-secondary)}
ol.dsl-co-steps{display:grid;gap:16px;margin:28px 0;padding:0;list-style:none;counter-reset:dsl-co-step}
ol.dsl-co-steps>li{counter-increment:dsl-co-step;margin:0;padding:22px;border:1px solid var(--dsl-border);border-radius:var(--dsl-radius-lg);background:var(--dsl-surface);line-height:1.6;color:var(--dsl-text-muted)}
ol.dsl-co-steps>li::before{content:counter(dsl-co-step);display:grid;place-items:center;width:38px;height:38px;margin-bottom:14px;border-radius:50%;background:var(--dsl-primary);color:#fff;font-family:var(--dsl-font-head);font-size:1rem;font-weight:700}
ol.dsl-co-steps>li strong{display:block;margin-bottom:4px;font-family:var(--dsl-font-head);font-size:1.0625rem;line-height:1.3;color:var(--dsl-secondary)}
@media (min-width:700px){ol.dsl-co-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.dsl-co ol.dsl-co-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
:is(ul.dsl-co-checks,ul.dsl-co-promises,ul.dsl-co-official){display:grid;gap:12px;margin:20px 0;padding:0;list-style:none}
:is(.dsl-co-checks,.dsl-co-promises,.dsl-co-official)>li{position:relative;margin:0;padding-left:34px;line-height:1.6}
:is(.dsl-co-checks,.dsl-co-promises)>li::before{content:"";position:absolute;left:0;top:.18em;width:22px;height:22px;border-radius:50%;background:var(--dsl-primary-tint-2,color-mix(in srgb,var(--dsl-primary) 14%,#fff))}
:is(.dsl-co-checks,.dsl-co-promises)>li::after{content:"";position:absolute;left:8px;top:calc(.18em + 5px);width:6px;height:10px;border:solid var(--dsl-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}
.dsl-co-official>li::before{content:"";position:absolute;left:1px;top:.2em;width:18px;height:18px;border:2px solid var(--dsl-secondary);border-radius:50%}
.dsl-co-official>li::after{content:"";position:absolute;left:10px;top:calc(.2em + 1px);width:2px;height:18px;background:var(--dsl-secondary);transform:rotate(45deg)}
.dsl-co ul.dsl-co-sources{margin:12px 0 20px;padding-left:1.3em}
.dsl-co-sources li{margin:.4em 0;line-height:1.55}
.dsl-co-sources li::marker{color:var(--dsl-clay)}

/* ---------- 04. Notes and link cards ---------- */
.dsl-co .dsl-guide-note{margin-block:28px;padding:16px 20px;border-left:4px solid var(--dsl-secondary);border-radius:0 var(--dsl-radius-md) var(--dsl-radius-md) 0;background:color-mix(in srgb,var(--dsl-secondary) 5%,#fff);line-height:1.6}
.dsl-co .dsl-guide-note>*{margin:0 0 .6em}
.dsl-co .dsl-guide-note>:last-child{margin-bottom:0}
.dsl-co .dsl-note-label{margin-bottom:6px;font-family:var(--dsl-font-head);font-size:.75rem;font-weight:700;letter-spacing:.14em;line-height:1.3;text-transform:uppercase;color:var(--dsl-secondary)}
.dsl-co-links{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin:32px 0 0;padding:0;list-style:none}
.dsl-co-link{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start;padding:20px;border:1px solid var(--dsl-border);border-radius:var(--dsl-radius-lg);background:var(--dsl-surface);transition:box-shadow var(--dsl-dur-fast),border-color var(--dsl-dur-fast)}
.dsl-co-link:hover{border-color:var(--dsl-border-strong);box-shadow:var(--dsl-shadow-lg)}
.dsl-co-link .dsl-card-link{font-family:var(--dsl-font-head);font-size:var(--dsl-fs-h5);font-weight:700;line-height:1.3;color:var(--dsl-secondary);text-decoration:none}
.dsl-co-link .dsl-card-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.dsl-co-link .dsl-card-link:focus-visible{outline:none}
.dsl-co-link:focus-within{outline:3px solid var(--dsl-focus);outline-offset:2px}
.dsl-co-link p{margin:4px 0 0;font-size:var(--dsl-fs-small);line-height:1.5;color:var(--dsl-text-muted)}

/* ---------- 05. Team cards ([dsl_team_grid], [dsl_founder]) ---------- */
.dsl-team-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin-top:32px}
.dsl-team-card{display:grid;align-content:start;overflow:hidden;border:1px solid var(--dsl-border);border-radius:var(--dsl-radius-lg);background:var(--dsl-surface);scroll-margin-top:calc(var(--dsl-header-h) + 20px)}
.dsl-team-card__media{aspect-ratio:4/5;background:var(--dsl-primary-tint,color-mix(in srgb,var(--dsl-primary) 10%,#fff))}
.dsl-team-card__img{display:block;width:100%;height:100%;object-fit:cover}
.dsl-team-card__initials{display:grid;place-items:center;width:100%;height:100%;font-family:var(--dsl-font-head);font-size:3rem;font-weight:700;color:var(--dsl-primary)}
.dsl-team-card__body{display:grid;gap:8px;padding:20px 22px 24px}
.dsl-team-card__body>*{margin:0}
.dsl-team-card__name{font-size:var(--dsl-fs-h4)}
.dsl-team-card__role{font-family:var(--dsl-font-head);font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dsl-clay)}
.dsl-team-card__facts{display:grid;gap:6px;font-size:var(--dsl-fs-small)}
.dsl-team-card__facts div{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:8px}
.dsl-team-card__facts dt{font-weight:700;color:var(--dsl-secondary)}
.dsl-team-card__facts dd{margin:0;color:var(--dsl-text-muted)}
.dsl-team-card__bio{line-height:1.6;color:var(--dsl-text-muted)}
.dsl-co-founder{max-width:var(--dsl-co-text);margin-top:40px}
.dsl-co-founder .dsl-team-card{grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.dsl-co-founder .dsl-team-card{grid-template-columns:240px minmax(0,1fr)}.dsl-co-founder .dsl-team-card__media{aspect-ratio:auto;min-height:100%}}

/* ---------- 06. Contact ---------- */
.dsl-contact .dsl-inquiry__nav--single{justify-content:flex-start}
.dsl-contact .dsl-inquiry__nav--single .dsl-inquiry__submit{margin-left:0}
.dsl-contact-plan{background:var(--dsl-surface-alt)}
.dsl-contact-plan>p{margin-bottom:16px;color:var(--dsl-text-muted)}
.dsl-contact .dsl-plan-contact span{color:var(--dsl-text-muted)}
.dsl-contact-links .dsl-co-links{margin-top:24px}

/* ---------- 07. Policies ---------- */
.dsl-policy-head{background:var(--dsl-cream);padding-block:clamp(18px,.75rem + 1.5vw,36px) clamp(28px,1.25rem + 2.5vw,56px)}
.dsl-policy-head__inner{width:min(var(--dsl-guide-width,1064px),100% - 2 * var(--dsl-gutter));display:grid;gap:14px;justify-items:start}
.dsl-policy-head__inner>*{margin:0}
.dsl-policy-head .dsl-breadcrumb{margin-bottom:4px}
.dsl-policy-head__title{font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.1;letter-spacing:-.01em}
.dsl-policy-head__dek{max-width:62ch;font-size:var(--dsl-fs-lead);line-height:1.55;color:var(--dsl-text-muted)}
.dsl-policy-status{display:flex;gap:12px;align-items:flex-start;max-width:760px;margin-top:8px!important;padding:14px 18px;border:1px solid color-mix(in srgb,var(--dsl-warning) 35%,#fff);border-left:4px solid var(--dsl-warning);border-radius:0 var(--dsl-radius-md) var(--dsl-radius-md) 0;background:color-mix(in srgb,var(--dsl-warning) 7%,#fff);line-height:1.55}
.dsl-policy-status p{margin:0}
.dsl-policy-status strong{color:var(--dsl-secondary)}
.dsl-policy-status .dsl-icon{flex:none;margin-top:2px;color:var(--dsl-warning)}
.dsl-policy__text ul.dsl-co-steps,.dsl-policy__text ol.dsl-co-steps{padding-left:0}
.dsl-policy__text .dsl-co-steps>li{padding-left:22px}
.dsl-policy__text .dsl-co-steps>li::marker{content:none}
@media (min-width:700px){.dsl-policy__text ol.dsl-co-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dsl-policy-contact{margin-top:clamp(36px,2rem + 2vw,56px);padding:22px 24px;border-radius:var(--dsl-radius-lg);background:var(--dsl-surface-alt)}
.dsl-policy-contact>*{margin:0}
.dsl-policy-contact__title{margin-bottom:6px;font-size:var(--dsl-fs-h5)}
.dsl-policy-contact a{color:var(--dsl-primary);text-decoration:underline;text-underline-offset:.2em}

/* ---------- 08. Pending markers (drafts only: "[TO CONFIRM: ...]") ---------- */
mark.dsl-pending{padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--dsl-accent) 32%,#fff);outline:1px dashed color-mix(in srgb,var(--dsl-secondary) 45%,transparent);color:var(--dsl-text);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.dsl-pending__label{font-family:var(--dsl-font-head);font-size:.8em;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dsl-secondary)}

/* ---------- 09. Print ---------- */
@media print{
  .dsl-co>.wp-block-group{padding:12pt 0;background:none}
  .dsl-co-actions,.dsl-co-links,.dsl-policy-status .dsl-icon{display:none!important}
  .dsl-policy-contact{break-inside:avoid;background:none;border:1px solid #999}
}
@media (prefers-reduced-motion:reduce){.dsl-co-link,.dsl-co-actions a{transition:none}}