/*
Theme Name: Carry On Sizes
Template: hello-elementor
Version: 1.0.0
Description: Child theme for CarryOnSizes.com. Design tokens live here as CSS custom properties so Elementor, the block editor and any hand written markup all read from one source.
*/

:root{
  --cos-navy:#0F2743;
  --cos-navy-deep:#0B1D33;
  --cos-ink:#16202E;
  --cos-body:#4C5766;
  --cos-accent:#EE7B31;
  --cos-accent-hover:#D96A22;
  --cos-teal:#1C7C7C;
  --cos-green:#2E9E5B;
  --cos-surface:#F6F6F4;
  --cos-card:#FFFFFF;
  --cos-border:#E4E6E9;
  --cos-radius:12px;
  --cos-radius-sm:8px;
  --cos-shadow:0 1px 2px rgba(15,39,67,.04),0 8px 24px rgba(15,39,67,.06);
  --cos-max:1200px;
}

/* Fluid type: scales with the viewport, no breakpoint jumps */
body{background:var(--cos-surface);color:var(--cos-body);-webkit-font-smoothing:antialiased;}
h1{font-size:clamp(2.25rem,1.4rem + 3.6vw,4rem);line-height:1.05;letter-spacing:-.02em;}
h2{font-size:clamp(1.5rem,1.15rem + 1.5vw,2.25rem);line-height:1.15;letter-spacing:-.015em;}
h3{font-size:clamp(1.125rem,1rem + .55vw,1.375rem);line-height:1.25;}
h1,h2,h3,h4,h5,h6{color:var(--cos-ink);}

/* Content width without fixed pixel gutters */
.cos-wrap{width:min(100% - 2.5rem,var(--cos-max));margin-inline:auto;}
@media(max-width:767px){.cos-wrap{width:min(100% - 2rem,var(--cos-max));}}

/* Images never overflow their container */
img,svg,video{max-width:100%;height:auto;}

/* Reduced motion respected site wide */
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;transition-duration:.01ms !important;}}

/* ============================================================
   COMPONENTS
   Custom markup is styled here rather than through Elementor
   controls, so the rendered DOM stays shallow and the CSS ships
   in one already cached file.
   ============================================================ */

/* --- Logo --- */
.cos-logo{display:inline-flex;align-items:center;gap:.625rem;text-decoration:none;}
.cos-logo__mark{display:block;width:34px;height:34px;flex:0 0 34px;}
.cos-logo__mark svg{display:block;width:100%;height:100%;}
.cos-logo__text{font-family:Manrope,system-ui,sans-serif;font-weight:800;font-size:1.1875rem;letter-spacing:-.02em;color:#fff;white-space:nowrap;}

/* --- Sticky header --- */
#cos-header{position:sticky;top:0;z-index:99;}
.admin-bar #cos-header{top:32px;}
@media(max-width:782px){.admin-bar #cos-header{top:46px;}}
#cos-search .elementor-search-form__container{border-radius:999px;overflow:hidden;}
@media(max-width:1024px){#cos-search .elementor-search-form__input{padding-inline-end:0;}}

/* --- Footer --- */
#cos-footer{color:rgba(255,255,255,.78);}
.cos-fbrand__p{margin:.75rem 0 0;font-size:.875rem;line-height:1.6;color:rgba(255,255,255,.7);max-width:34ch;}
.cos-fcol__h{margin:0 0 .875rem;font-size:.9375rem;font-weight:700;color:#fff;letter-spacing:-.01em;}
.cos-fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;}
.cos-fcol a{color:rgba(255,255,255,.72);text-decoration:none;font-size:.875rem;transition:color .15s ease;}
.cos-fcol a:hover,.cos-fcol a:focus-visible{color:#EE7B31;}
.cos-fnews__p{margin:0;font-size:.875rem;line-height:1.55;color:rgba(255,255,255,.7);}
.cos-fnews__note{margin:0;font-size:.75rem;color:rgba(255,255,255,.5);}
.cos-fbot{margin:0;font-size:.8125rem;color:rgba(255,255,255,.6);}
.cos-fbot--links{display:flex;flex-wrap:wrap;gap:1.25rem;}
.cos-fbot--links a{color:rgba(255,255,255,.6);text-decoration:none;}
.cos-fbot--links a:hover,.cos-fbot--links a:focus-visible{color:#fff;}

/* --- Hero --- */
.cos-hero__eyebrow{margin:0 0 .5rem;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#EE7B31;}
.cos-hero h1{color:#fff;margin:0;}
.cos-hero h1 .accent{color:#EE7B31;display:block;}
.cos-hero__sub{margin:1rem 0 0;font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.6;color:rgba(255,255,255,.8);max-width:46ch;}

/* --- Search card in the hero --- */
.cos-searchcard{background:#fff;border-radius:14px;box-shadow:0 18px 40px rgba(4,18,36,.28);overflow:hidden;}
.cos-searchcard__tabs{display:flex;gap:0;border-bottom:1px solid var(--cos-border);overflow-x:auto;scrollbar-width:none;}
.cos-searchcard__tabs::-webkit-scrollbar{display:none;}
.cos-searchcard__tab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:.875rem 1.125rem;font:600 .875rem/1 Manrope,system-ui,sans-serif;color:var(--cos-body);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:.5rem;}
.cos-searchcard__tab[aria-selected="true"]{color:var(--cos-navy);border-bottom-color:#EE7B31;}
.cos-searchcard__body{padding:1.125rem;}
.cos-searchcard__row{display:flex;gap:.625rem;flex-wrap:wrap;}
.cos-searchcard__input{flex:1 1 14rem;min-width:0;display:flex;align-items:center;gap:.625rem;border:1px solid var(--cos-border);border-radius:10px;padding:.75rem .875rem;background:#fff;}
.cos-searchcard__input input{border:0;outline:0;width:100%;min-width:0;font:400 .9375rem/1.3 Manrope,system-ui,sans-serif;color:var(--cos-ink);background:transparent;}
/* This icon is an inline SVG with a viewBox and no width/height attributes. The global
   img,svg,video reset (max-width:100%;height:auto) then sized it off its container instead
   of its own box: it rendered 202x202px, which stretched the input wrapper and the Search
   button to 228px tall and turned the hero's search field into a giant empty rectangle.
   Every other icon on the site carries an explicit size rule; this one was missed. */
.cos-searchcard__input svg{flex:0 0 auto;width:1.125rem;height:1.125rem;color:var(--cos-muted,#8A94A2);}
/* The shared icon helper (mu-plugins/cos-icons.php) now emits width/height attributes, so an
   icon dropped into a new component without a matching CSS rule renders at 24px instead of
   expanding to its container. Attributes are the lowest-priority source, so every component
   rule above still overrides them. */
.cos-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#EE7B31;color:#fff;border:0;border-radius:10px;padding:.8125rem 1.5rem;font:700 .9375rem/1 Manrope,system-ui,sans-serif;cursor:pointer;text-decoration:none;transition:background .15s ease;}
.cos-btn:hover,.cos-btn:focus-visible{background:#D96A22;color:#fff;}
.cos-searchcard__hint{margin:.625rem 0 0;font-size:.75rem;color:var(--cos-muted,#8A94A2);}
.cos-searchcard__pop{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1.125rem 1rem;border-top:1px solid var(--cos-border);font-size:.8125rem;}
.cos-searchcard__pop b{color:var(--cos-ink);font-weight:700;}
.cos-searchcard__pop a{color:var(--cos-body);text-decoration:none;}
.cos-searchcard__pop a:hover{color:#EE7B31;}

/* --- Stats bar --- */
.cos-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.5rem;background:#fff;border:1px solid var(--cos-border);border-radius:14px;padding:1.5rem;}
.cos-stat{display:flex;align-items:center;gap:.875rem;}
.cos-stat__icon{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#0F2743;display:grid;place-items:center;}
.cos-stat__icon svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.7;}
.cos-stat__n{margin:0;font:800 1.375rem/1.1 Manrope,system-ui,sans-serif;color:var(--cos-ink);letter-spacing:-.02em;}
.cos-stat__l{margin:.125rem 0 0;font-size:.8125rem;line-height:1.35;color:var(--cos-body);}

/* --- Section heads --- */
.cos-sec{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 1.25rem;}
.cos-sec h2{margin:0;}
.cos-sec p{margin:.375rem 0 0;font-size:.9375rem;color:var(--cos-body);}
.cos-sec__link{font:600 .875rem/1 Manrope,system-ui,sans-serif;color:var(--cos-navy);text-decoration:none;white-space:nowrap;}
.cos-sec__link:hover{color:#EE7B31;}

/* --- Card grids --- */
.cos-grid{display:grid;gap:1rem;}
.cos-grid--tools{grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));}
.cos-grid--airlines{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));}
.cos-grid--areas{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));}
.cos-grid--guides{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));}

.cos-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--cos-border);border-radius:var(--cos-radius);padding:1.25rem;text-decoration:none;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;}
.cos-card:hover,.cos-card:focus-visible{border-color:#EE7B31;transform:translateY(-2px);box-shadow:var(--cos-shadow);}
.cos-card__icon{width:44px;height:44px;border-radius:10px;background:#F1F3F6;display:grid;place-items:center;margin-bottom:.875rem;}
.cos-card__icon svg{width:22px;height:22px;stroke:#0F2743;fill:none;stroke-width:1.6;}
.cos-card h3{margin:0 0 .375rem;font-size:.9375rem;font-weight:700;color:var(--cos-ink);}
.cos-card p{margin:0;font-size:.8125rem;line-height:1.5;color:var(--cos-body);}
.cos-card__arrow{margin-top:auto;padding-top:.875rem;color:#EE7B31;font-size:1rem;line-height:1;}

.cos-air{display:flex;align-items:center;justify-content:center;min-height:5rem;background:#fff;border:1px solid var(--cos-border);border-radius:var(--cos-radius);padding:1rem;text-decoration:none;font:700 .9375rem/1.2 Manrope,system-ui,sans-serif;color:var(--cos-ink);text-align:center;transition:border-color .15s ease,transform .15s ease;}
.cos-air:hover,.cos-air:focus-visible{border-color:#EE7B31;transform:translateY(-2px);color:var(--cos-ink);}

/* --- Can I bring band --- */
.cos-band{background:#0F2743;border-radius:14px;padding:1.75rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.cos-band__left{flex:1 1 15rem;display:flex;align-items:center;gap:1rem;}
.cos-band__icon{flex:0 0 52px;width:52px;height:52px;border-radius:12px;background:rgba(238,123,49,.16);display:grid;place-items:center;}
.cos-band__icon svg{width:26px;height:26px;stroke:#EE7B31;fill:none;stroke-width:1.7;}
.cos-band h2{margin:0;color:#fff;font-size:clamp(1.25rem,1.1rem + .6vw,1.625rem);}
.cos-band p{margin:.25rem 0 0;font-size:.875rem;color:rgba(255,255,255,.72);}
.cos-band__right{flex:2 1 20rem;min-width:0;}
.cos-band__form{display:flex;gap:.5rem;}
.cos-band__form input{flex:1 1 auto;min-width:0;border:0;border-radius:10px;padding:.875rem 1rem;font:400 .9375rem/1 Manrope,system-ui,sans-serif;color:var(--cos-ink);}
.cos-band__chips{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.75rem;font-size:.75rem;color:rgba(255,255,255,.6);}
.cos-chip{display:inline-block;background:rgba(255,255,255,.10);color:#fff;border-radius:999px;padding:.3125rem .75rem;font-size:.75rem;text-decoration:none;transition:background .15s ease;}
.cos-chip:hover,.cos-chip:focus-visible{background:#EE7B31;color:#fff;}

/* --- Core area cards --- */
.cos-area{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:11.5rem;border-radius:var(--cos-radius);padding:1.125rem;text-decoration:none;background:#E9ECEF;overflow:hidden;transition:transform .15s ease;}
.cos-area:hover,.cos-area:focus-visible{transform:translateY(-2px);}
.cos-area--dark{background:#0F2743;}
.cos-area--dark h3,.cos-area--dark p{color:#fff;}
.cos-area--dark p{color:rgba(255,255,255,.72);}
.cos-area__icon{position:absolute;top:1.125rem;left:1.125rem;width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.9);display:grid;place-items:center;}
.cos-area__icon svg{width:18px;height:18px;stroke:#0F2743;fill:none;stroke-width:1.7;}
.cos-area h3{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:var(--cos-ink);}
.cos-area p{margin:0;font-size:.8125rem;line-height:1.45;color:var(--cos-body);}
.cos-area__arrow{margin-top:.75rem;color:#EE7B31;font-size:1rem;line-height:1;}

/* --- Guide cards --- */
.cos-guide{display:flex;flex-direction:column;background:#fff;border:1px solid var(--cos-border);border-radius:var(--cos-radius);overflow:hidden;text-decoration:none;transition:border-color .15s ease,transform .15s ease;}
.cos-guide:hover,.cos-guide:focus-visible{border-color:#EE7B31;transform:translateY(-2px);}
.cos-guide__img{aspect-ratio:16/10;background:#DDE2E8;}
.cos-guide__body{padding:.875rem 1rem 1.125rem;}
.cos-guide__cat{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#EE7B31;margin-bottom:.375rem;}
.cos-guide h3{margin:0 0 .5rem;font-size:.9375rem;font-weight:700;line-height:1.35;color:var(--cos-ink);}
.cos-guide__meta{margin:0;font-size:.75rem;color:var(--cos-muted,#8A94A2);}

/* --- Focus visibility, site wide --- */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #EE7B31;outline-offset:2px;border-radius:4px;}
/* --- Hero trip overview card --- */
.cos-trip{background:#fff;border-radius:14px;padding:1.25rem;box-shadow:0 18px 44px rgba(4,18,36,.30);max-width:26rem;margin-inline:auto;}
.cos-trip__label{margin:0 0 .625rem;font-size:.75rem;font-weight:700;color:var(--cos-muted,#8A94A2);letter-spacing:.02em;}
.cos-trip__route{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;font:800 1.375rem/1 Manrope,system-ui,sans-serif;color:var(--cos-ink);letter-spacing:-.02em;}
.cos-trip__route i{color:var(--cos-muted,#8A94A2);font-style:normal;font-weight:400;}
.cos-trip__route em{margin-left:auto;font:600 .6875rem/1 Manrope,system-ui,sans-serif;font-style:normal;color:#2E9E5B;background:#E8F5ED;border-radius:999px;padding:.375rem .625rem;}
.cos-trip__list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem;}
.cos-trip__list li{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--cos-body);padding:.5rem .75rem;background:#F7F8FA;border-radius:8px;}
.cos-trip__list .ok,.cos-trip__pi .ok{color:#fff;background:#2E9E5B;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-style:normal;}
.cos-trip__pi{margin-top:1rem;border:1px solid var(--cos-border);border-radius:10px;padding:.75rem .875rem;}
.cos-trip__pi p{margin:0;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--cos-ink);}
.cos-trip__pi-sub{margin:.25rem 0 0 !important;font-size:.75rem !important;color:var(--cos-muted,#8A94A2) !important;display:block !important;}

/* --- Screen reader only --- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}

/* --- Hero headline: the accent line sits on its own row --- */
.cos-hero h1 .accent{margin-top:.1em;}

/* --- Elementor resets so containers do not add stray gaps --- */
.elementor-widget-html{width:100%;}
#cos-header .elementor-widget:not(:last-child){margin-block-end:0;}
/* The width:100% reset above is meant for HTML widgets inside already-constrained
   content columns (footer, single-post furniture). Applied unscoped, it also hit the
   header's logo widget, which sits directly in the header's flex row with no wrapping
   column: with flex-basis effectively 100% of the 1200px row, the logo widget claimed
   ~613px of invisible space, starving the nav menu down to ~396px and forcing it to
   wrap onto three lines. Give bare, unwrapped widgets in a flex header row their
   natural content width back. */
#cos-header > div > .elementor-widget-html{width:auto !important;flex:0 0 auto !important;}

/* Carry On Sizes - dynamic component styles.
   Appended to the child theme sheet at build time; tokens live in style.css. */

/* ---------------------------------------------------------- breadcrumbs */
.cos-crumbs{font-size:.8125rem;color:var(--cos-body)}
.cos-crumbs ol{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.cos-crumbs li+li::before{content:"/";margin-right:.5rem;color:var(--cos-border)}
.cos-crumbs a{color:inherit;text-decoration:none}
.cos-crumbs a:hover{color:var(--cos-accent);text-decoration:underline}
.cos-crumbs [aria-current]{color:var(--cos-ink);font-weight:600}

/* ------------------------------------------------------ table of contents */
.cos-toc{border:1px solid var(--cos-border);border-radius:.75rem;background:var(--cos-surface);padding:1.25rem 1.5rem;margin:2rem 0}
.cos-toc-t{margin:0 0 .75rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--cos-navy)}
.cos-toc ol{margin:0;padding-left:1.1rem;display:grid;gap:.4rem}
.cos-toc a{color:var(--cos-body);text-decoration:none;font-size:.9375rem}
.cos-toc a:hover{color:var(--cos-accent);text-decoration:underline}
.cos-toc-3{margin-left:.9rem;font-size:.875rem;opacity:.9}

/* --------------------------------------------------------- verification */
.cos-verify{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem 1rem;border-radius:.625rem;font-size:.875rem;line-height:1.5;margin:1.25rem 0}
.cos-verify svg{flex:0 0 auto;width:1.125rem;height:1.125rem;margin-top:.1rem}
.cos-verify.is-ok{background:#EAF7EF;color:#1B5E36;border:1px solid #BFE3CC}
.cos-verify.is-pending{background:#FFF6EC;color:#7A4A15;border:1px solid #F2D9BC}
.cos-verify-src{margin-left:auto;white-space:nowrap;font-weight:600;color:inherit}

/* -------------------------------------------------------------- tables */
.cos-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5rem 0;border:1px solid var(--cos-border);border-radius:.75rem}
.cos-table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:34rem}
.cos-table th,.cos-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--cos-border);vertical-align:top}
.cos-table thead th{background:var(--cos-surface);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cos-navy);font-weight:700;white-space:nowrap}
.cos-table tbody tr:last-child th,.cos-table tbody tr:last-child td{border-bottom:0}
.cos-table tbody th{font-weight:600;color:var(--cos-ink);white-space:nowrap}
.cos-rowic{display:inline-flex;width:1.5rem;height:1.5rem;margin-right:.5rem;vertical-align:-.35rem;color:var(--cos-teal)}
.cos-rowic svg{width:100%;height:100%}
.cos-imp{font-weight:600;color:var(--cos-ink)}
.cos-met{display:block;font-size:.8125rem;color:var(--cos-body)}
.cos-dash{color:#98A1AD;font-style:italic;font-size:.875rem}
.cos-farenote{font-size:.875rem;color:var(--cos-body);margin:-.5rem 0 1.5rem}

/* ------------------------------------------------------------- verdict */
.cos-verdict{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin:1.5rem 0}
.cos-vcard{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.15rem .75rem;align-items:center;padding:1.125rem 1.25rem;border-radius:.75rem;border:1px solid var(--cos-border);background:#fff}
.cos-vic{grid-row:1/3;display:flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;border-radius:.5rem;background:var(--cos-surface)}
.cos-vic svg{width:1.25rem;height:1.25rem}
.cos-vlab{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cos-body);font-weight:700}
.cos-vval{font-size:1.125rem;font-weight:700;color:var(--cos-ink);line-height:1.2}
.cos-vcard.is-yes{border-color:#BFE3CC;background:#F3FBF6}
.cos-vcard.is-yes .cos-vic{background:#DCF1E4;color:#1B5E36}
.cos-vcard.is-yes .cos-vval{color:#1B5E36}
.cos-vcard.is-no{border-color:#F3C9C9;background:#FDF5F5}
.cos-vcard.is-no .cos-vic{background:#F9DEDE;color:#96271F}
.cos-vcard.is-no .cos-vval{color:#96271F}
.cos-vcard.is-lim{border-color:#F2D9BC;background:#FFF9F2}
.cos-vcard.is-lim .cos-vic{background:#FBE6CE;color:#7A4A15}
.cos-vcard.is-lim .cos-vval{color:#7A4A15}
.cos-vmeta{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.5rem}
.cos-vmeta li{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.9375rem;padding:.625rem .875rem;background:var(--cos-surface);border-radius:.5rem}
.cos-vmeta span{color:var(--cos-body);min-width:9rem}
.cos-vmeta strong{color:var(--cos-ink)}

/* ------------------------------------------------------------ callouts */
.cos-callout{border-left:3px solid var(--cos-teal);background:var(--cos-surface);padding:1.125rem 1.25rem;border-radius:0 .625rem .625rem 0;margin:1.75rem 0}
.cos-callout p{margin:0}
.cos-callout p+p{margin-top:.5rem}
.cos-callout-t{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:var(--cos-navy)}
.cos-intl{border-left-color:var(--cos-accent)}
.cos-air-note{border-left-color:var(--cos-navy)}
.cos-nodata{background:#FFF6EC;border:1px solid #F2D9BC;color:#7A4A15;padding:1rem 1.25rem;border-radius:.625rem;font-size:.9375rem;margin:1.5rem 0}

/* -------------------------------------------------------------- finder */
.cos-finder{margin:2rem 0}
.cos-finder-bar{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.125rem;border:1px solid var(--cos-border);border-radius:.75rem;background:#fff;box-shadow:0 1px 2px rgba(15,39,67,.05)}
.cos-finder-bar svg{width:1.25rem;height:1.25rem;flex:0 0 auto;color:var(--cos-body)}
.cos-finder-in{flex:1;border:0;outline:0;font:inherit;font-size:1rem;color:var(--cos-ink);background:transparent;min-width:0}
.cos-finder-in::placeholder{color:#98A1AD}
.cos-finder-bar:focus-within{border-color:var(--cos-accent);box-shadow:0 0 0 3px rgba(238,123,49,.15)}
.cos-finder-count{font-size:.8125rem;color:var(--cos-body);white-space:nowrap}
.cos-alpha{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0}
.cos-alpha a{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:.4rem;background:var(--cos-surface);color:var(--cos-navy);font-size:.8125rem;font-weight:700;text-decoration:none}
.cos-alpha a:hover{background:var(--cos-navy);color:#fff}
.cos-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.cos-chip{border:1px solid var(--cos-border);background:#fff;color:var(--cos-body);padding:.45rem .875rem;border-radius:2rem;font:inherit;font-size:.875rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.cos-chip:hover{border-color:var(--cos-navy);color:var(--cos-navy)}
.cos-chip.is-on{background:var(--cos-navy);border-color:var(--cos-navy);color:#fff}
.cos-finder-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.5rem;margin-top:1rem}
.cos-finder-res a{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--cos-border);border-radius:.5rem;text-decoration:none;color:var(--cos-ink);font-size:.9375rem;background:#fff}
.cos-finder-res a:hover{border-color:var(--cos-accent);background:#FFFAF6}
.cos-finder-res mark{background:#FDEBD9;color:inherit;padding:0 .1em;border-radius:.15em}
.cos-finder-none{grid-column:1/-1;color:var(--cos-body);font-size:.9375rem;padding:1rem 0}
.cos-agroup{margin:2rem 0 0}
.cos-agroup h3{font-size:1.125rem;color:var(--cos-navy);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:2px solid var(--cos-surface)}
.cos-agroup ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.25rem .75rem}
.cos-agroup a{display:block;padding:.4rem 0;color:var(--cos-body);text-decoration:none;font-size:.9375rem}
.cos-agroup a:hover{color:var(--cos-accent)}
.cos-iata{display:inline-block;font-size:.6875rem;letter-spacing:.05em;font-weight:700;color:#98A1AD;border:1px solid var(--cos-border);border-radius:.25rem;padding:0 .3rem;margin-left:.35rem;vertical-align:1px}

/* --------------------------------------------------------- category tiles */
.cos-cattiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.875rem;margin:2rem 0}
.cos-cattile{display:grid;gap:.35rem;padding:1.25rem 1rem;border:1px solid var(--cos-border);border-radius:.75rem;background:#fff;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
.cos-cattile:hover{border-color:var(--cos-accent);transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,39,67,.08)}
.cos-cattile-i{display:flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:.5rem;background:var(--cos-surface);color:var(--cos-teal);margin-bottom:.25rem}
.cos-cattile-i svg{width:1.375rem;height:1.375rem}
.cos-cattile-n{font-weight:700;color:var(--cos-ink);font-size:.9375rem;line-height:1.3}
.cos-cattile-c{font-size:.8125rem;color:var(--cos-body)}

/* ------------------------------------------------------------ item grid */
.cos-gridh{font-size:clamp(1.375rem,2.5vw,1.75rem);color:var(--cos-navy);margin:2.5rem 0 1rem}
.cos-itemgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.625rem}
.cos-icard{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1rem;border:1px solid var(--cos-border);border-radius:.5rem;background:#fff;text-decoration:none;color:var(--cos-ink);font-size:.9375rem;transition:border-color .15s}
.cos-icard:hover{border-color:var(--cos-accent)}
.cos-icard-v{font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .45rem;border-radius:.3rem;white-space:nowrap;background:var(--cos-surface);color:var(--cos-body)}
.cos-icard-v.is-yes{background:#DCF1E4;color:#1B5E36}
.cos-icard-v.is-no{background:#F9DEDE;color:#96271F}
.cos-icard-v.is-limited{background:#FBE6CE;color:#7A4A15}

/* ------------------------------------------------------------ post grid */
.cos-postgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.5rem}
.cos-pcard{display:flex;flex-direction:column;border:1px solid var(--cos-border);border-radius:.75rem;overflow:hidden;background:#fff;transition:box-shadow .18s,transform .18s}
.cos-pcard:hover{box-shadow:0 8px 22px rgba(15,39,67,.09);transform:translateY(-2px)}
.cos-pcard-i{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--cos-surface)}
.cos-pcard-i img{width:100%;height:100%;object-fit:cover;display:block}
.cos-pcard-b{padding:1.125rem 1.25rem 1.375rem;display:flex;flex-direction:column;gap:.5rem}
.cos-pcard-c{font-size:.6875rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:var(--cos-teal)}
.cos-pcard h3{margin:0;font-size:1.0625rem;line-height:1.35}
.cos-pcard h3 a{color:var(--cos-ink);text-decoration:none}
.cos-pcard h3 a:hover{color:var(--cos-accent)}
.cos-pcard p{margin:0;font-size:.875rem;color:var(--cos-body);line-height:1.55}

/* -------------------------------------------------------- related/siblings */
.cos-related{margin:3rem 0 0;padding:1.5rem 1.75rem;background:var(--cos-surface);border-radius:.75rem}
.cos-related h2{margin:0 0 .875rem;font-size:1.125rem;color:var(--cos-navy)}
.cos-related ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.cos-related a{color:var(--cos-body);text-decoration:none;font-size:.9375rem}
.cos-related a:hover{color:var(--cos-accent);text-decoration:underline}
.cos-sibs{margin:3rem 0 0}
.cos-sibs h2{font-size:1.125rem;color:var(--cos-navy);margin:0 0 .875rem}
.cos-sibgrid{display:flex;flex-wrap:wrap;gap:.5rem}
.cos-sibgrid a{padding:.45rem .875rem;border:1px solid var(--cos-border);border-radius:2rem;background:#fff;color:var(--cos-body);text-decoration:none;font-size:.875rem}
.cos-sibgrid a:hover{border-color:var(--cos-accent);color:var(--cos-accent)}
.cos-empty{padding:1.5rem;border:1px dashed var(--cos-border);border-radius:.75rem;color:var(--cos-body);font-size:.9375rem;text-align:center}
.cos-empty p{margin:0}

@media (max-width:600px){
	.cos-vmeta span{min-width:100%}
	.cos-related{padding:1.25rem}
}

/* ---------------------------------------------------- article furniture */
.cos-pmeta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.875rem;color:var(--cos-body);margin:.5rem 0 0}
.cos-pmeta-a{font-weight:600;color:var(--cos-ink)}
.cos-pmeta span+span::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:currentColor;vertical-align:.2em;margin-right:1rem;opacity:.5}
.cos-answer{background:#fff;border:1px solid var(--cos-border);border-left:3px solid var(--cos-accent);border-radius:0 .625rem .625rem 0;padding:1rem 1.25rem;margin:1.25rem 0 0}
.cos-answer p{margin:0;font-size:1.0625rem;line-height:1.6;color:var(--cos-ink)}
.cos-faq{margin:3rem 0 0}
.cos-faq h2{font-size:clamp(1.375rem,2.5vw,1.625rem);color:var(--cos-navy);margin:0 0 1rem}
.cos-faq-i{border:1px solid var(--cos-border);border-radius:.625rem;margin-bottom:.625rem;background:#fff}
.cos-faq-i summary{cursor:pointer;padding:1rem 1.25rem;font-weight:600;color:var(--cos-ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.cos-faq-i summary::-webkit-details-marker{display:none}
.cos-faq-i summary::after{content:"+";font-size:1.25rem;font-weight:400;color:var(--cos-body);flex:0 0 auto}
.cos-faq-i[open] summary::after{content:"\2212"}
.cos-faq-i>div{padding:0 1.25rem 1.125rem;color:var(--cos-body);font-size:.9375rem;line-height:1.65}
.cos-faq-i>div p{margin:0 0 .75rem}
.cos-faq-i>div p:last-child{margin-bottom:0}

/* ------------------------------------------------- archive and search */
.cos-archh1{font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.15;color:var(--cos-navy);margin:.5rem 0 0}
.cos-archdesc{margin-top:.75rem;color:var(--cos-body);font-size:1rem;max-width:60ch}
.cos-archdesc p{margin:0}
.cos-airlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.5rem}
.cos-airlist a{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border:1px solid var(--cos-border);border-radius:.5rem;background:#fff;text-decoration:none;color:var(--cos-ink);font-size:.9375rem}
.cos-airlist a:hover{border-color:var(--cos-accent)}
.cos-airlist-d{color:var(--cos-body);font-size:.875rem;white-space:nowrap}
.cos-pager{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin:2.5rem 0 0}
.cos-pager a,.cos-pager span{display:inline-flex;min-width:2.25rem;height:2.25rem;padding:0 .6rem;align-items:center;justify-content:center;border:1px solid var(--cos-border);border-radius:.4rem;text-decoration:none;color:var(--cos-body);font-size:.875rem;background:#fff}
.cos-pager a:hover{border-color:var(--cos-accent);color:var(--cos-accent)}
.cos-pager .current{background:var(--cos-navy);border-color:var(--cos-navy);color:#fff;font-weight:700}
.cos-searchform{display:flex;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem 1.125rem;border:1px solid var(--cos-border);border-radius:.75rem;background:#fff;max-width:34rem}
.cos-searchform svg{width:1.125rem;height:1.125rem;flex:0 0 auto;color:var(--cos-body)}
.cos-searchform input{flex:1;border:0;outline:0;font:inherit;background:transparent;min-width:0;color:var(--cos-ink)}
.cos-searchform button{border:0;background:var(--cos-navy);color:#fff;font:inherit;font-weight:600;font-size:.875rem;padding:.6rem 1.125rem;border-radius:.5rem;cursor:pointer}
.cos-searchform button:hover{background:var(--cos-accent)}
.cos-searchform:focus-within{border-color:var(--cos-accent);box-shadow:0 0 0 3px rgba(238,123,49,.15)}
.cos-searchcount{color:var(--cos-body);font-size:.9375rem;margin:0 0 1.5rem}
.cos-sgroup{margin:0 0 2.5rem}
.cos-sgroup h2{font-size:1.25rem;color:var(--cos-navy);margin:0 0 1rem}
.cos-slist{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.cos-slist li{display:grid;gap:.25rem;padding-bottom:1rem;border-bottom:1px solid var(--cos-border)}
.cos-slist a{font-weight:600;color:var(--cos-ink);text-decoration:none;font-size:1.0625rem}
.cos-slist a:hover{color:var(--cos-accent)}
.cos-slist span{color:var(--cos-body);font-size:.9375rem}
.cos-404links{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem}
.cos-404links a{display:flex;align-items:center;gap:.75rem;padding:1rem 1.125rem;border:1px solid var(--cos-border);border-radius:.625rem;background:#fff;text-decoration:none;color:var(--cos-ink);font-weight:600;font-size:.9375rem}
.cos-404links a:hover{border-color:var(--cos-accent)}
.cos-404links svg{width:1.25rem;height:1.25rem;flex:0 0 auto;color:var(--cos-teal)}

/* --------------------------------------------------------------- tools */
.cos-tool{margin:2rem 0}
.cos-tool-lede{font-size:1.0625rem;line-height:1.65;color:var(--cos-body);max-width:62ch;margin:0 0 1.75rem}
.cos-tool-in{display:grid;gap:1.125rem;padding:1.5rem;border:1px solid var(--cos-border);border-radius:.875rem;background:var(--cos-surface)}
.cos-field{display:grid;gap:.35rem}
.cos-field-l{font-size:.8125rem;font-weight:700;letter-spacing:.03em;color:var(--cos-navy)}
.cos-field-h{font-size:.8125rem;color:var(--cos-body);line-height:1.5}
.cos-tool input[type="text"],.cos-tool input[type="number"],.cos-tool input[type="search"],.cos-tool select,.cos-tool textarea{width:100%;padding:.65rem .875rem;border:1px solid var(--cos-border);border-radius:.5rem;font:inherit;font-size:1rem;color:var(--cos-ink);background:#fff;-webkit-appearance:none;appearance:none}
.cos-tool select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%234C5766'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:1rem;padding-right:2rem}
.cos-tool textarea{resize:vertical;line-height:1.6;font-size:.9375rem}
.cos-tool input:focus,.cos-tool select:focus,.cos-tool textarea:focus{outline:0;border-color:var(--cos-accent);box-shadow:0 0 0 3px rgba(238,123,49,.15)}
.cos-dims{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.cos-units{display:inline-flex;gap:0;margin-top:.4rem;border:1px solid var(--cos-border);border-radius:.4rem;overflow:hidden;background:#fff;width:max-content}
.cos-units button{border:0;background:transparent;font:inherit;font-size:.8125rem;font-weight:600;color:var(--cos-body);padding:.4rem .8rem;cursor:pointer}
.cos-units button.is-on{background:var(--cos-navy);color:#fff}
.cos-btn{border:0;background:var(--cos-accent);color:#fff;font:inherit;font-weight:700;font-size:1rem;padding:.85rem 1.5rem;border-radius:.5rem;cursor:pointer;justify-self:start;transition:background .15s}
.cos-btn:hover{background:var(--cos-accent-hover)}
.cos-btn.cos-ghost{background:transparent;color:var(--cos-navy);border:1px dashed var(--cos-border);font-size:.875rem;padding:.55rem 1rem}
.cos-btn.cos-ghost:hover{border-color:var(--cos-accent);color:var(--cos-accent)}
.cos-check{display:flex;align-items:center;gap:.6rem;font-size:.9375rem;color:var(--cos-ink)}
.cos-check input{width:1.05rem;height:1.05rem;accent-color:var(--cos-accent)}
.cos-liqrow,.cos-legrow,.cos-bagrow{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}
.cos-liqrow input[name="name"]{flex:2}
.cos-liqrow input[name="size"]{flex:1;min-width:5rem}
.cos-liqrow select{flex:0 0 6rem}
.cos-legrow input[name="from"],.cos-legrow input[name="to"]{flex:0 0 5rem;text-transform:uppercase}
.cos-legrow .cos-airin{flex:1}
.cos-arrow{color:var(--cos-body);flex:0 0 auto}
.cos-bagrow{align-items:flex-end}
.cos-bagrow .cos-field{flex:1}
.cos-x{border:0;background:transparent;color:var(--cos-body);font-size:1.375rem;line-height:1;cursor:pointer;padding:0 .4rem;flex:0 0 auto}
.cos-x:hover{color:#96271F}
.cos-picked{display:flex;flex-wrap:wrap;gap:.5rem}
.cos-pickchip{border:1px solid var(--cos-navy);background:var(--cos-navy);color:#fff;border-radius:2rem;padding:.4rem .85rem;font:inherit;font-size:.8125rem;cursor:pointer}
.cos-pickchip:hover{background:#96271F;border-color:#96271F}
.cos-tool-note{font-size:.8125rem;color:var(--cos-body);line-height:1.6;margin:0}

/* ------------------------------------------------------- tool results */
.cos-tool-out:empty{display:none}
.cos-res{margin-top:1.5rem;padding:1.5rem;border-radius:.875rem;border:1px solid var(--cos-border);background:#fff}
.cos-res.is-ok{border-color:#BFE3CC;background:#F7FCF9}
.cos-res.is-warn{border-color:#F2D9BC;background:#FFFBF6}
.cos-res.is-bad{border-color:#F3C9C9;background:#FDF7F7}
.cos-res-h{font-size:1.125rem;font-weight:700;color:var(--cos-ink);margin:0 0 1rem;line-height:1.45}
.cos-res h3{font-size:.9375rem;letter-spacing:.03em;color:var(--cos-navy);margin:1.5rem 0 .625rem}
.cos-res h3:first-of-type{margin-top:1rem}
.cos-res p{margin:0 0 .875rem;color:var(--cos-body);line-height:1.65;font-size:.9375rem}
.cos-res p:last-child{margin-bottom:0}
.cos-res .cos-table{min-width:26rem}
.cos-res tr.is-best th,.cos-res tr.is-best td{background:#F3FBF6;font-weight:700;color:#1B5E36}
.cos-steps{margin:0 0 1rem;padding-left:1.25rem;display:grid;gap:.4rem;color:var(--cos-body);font-size:.9375rem}
.cos-liqlist,.cos-faillist{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.4rem}
.cos-liqlist li,.cos-faillist li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;padding:.6rem .875rem;border-radius:.45rem;font-size:.9375rem;background:var(--cos-surface);color:var(--cos-ink)}
.cos-liqlist li span,.cos-faillist li span{color:var(--cos-body);font-size:.8125rem;text-align:right}
.cos-liqlist.is-ok li{background:#F3FBF6}
.cos-liqlist.is-warn li{background:#FFF9F2}
.cos-liqlist.is-bad li,.cos-faillist li{background:#FDF7F7}
.cos-faillist a{color:var(--cos-ink);font-weight:600;text-decoration:none}
.cos-faillist a:hover{color:var(--cos-accent)}

/* --------------------------------------------------------- tool index */
.cos-toolgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin:2rem 0}
.cos-toolcard{display:grid;gap:.45rem;padding:1.5rem;border:1px solid var(--cos-border);border-radius:.875rem;background:#fff;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
.cos-toolcard:hover{border-color:var(--cos-accent);transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,39,67,.08)}
.cos-toolcard-i{display:flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border-radius:.55rem;background:var(--cos-surface);color:var(--cos-teal);margin-bottom:.35rem}
.cos-toolcard-i svg{width:1.5rem;height:1.5rem}
.cos-toolcard-n{font-weight:700;color:var(--cos-ink);font-size:1.0625rem;line-height:1.3}
.cos-toolcard-d{font-size:.875rem;color:var(--cos-body);line-height:1.55}
.cos-log{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.cos-log li{display:grid;grid-template-columns:8rem 1fr;gap:.25rem 1rem;padding:.875rem 1rem;border:1px solid var(--cos-border);border-radius:.5rem;background:#fff;font-size:.9375rem}
.cos-log time{color:var(--cos-body);font-size:.8125rem;font-weight:600}
.cos-log a{color:var(--cos-ink);font-weight:600;text-decoration:none}
.cos-log a:hover{color:var(--cos-accent)}
.cos-log span{grid-column:2;color:var(--cos-body);font-size:.875rem}

@media (max-width:640px){
	.cos-dims{grid-template-columns:1fr 1fr}
	.cos-liqrow{flex-wrap:wrap}
	.cos-liqrow input[name="name"]{flex:1 0 100%}
	.cos-legrow{flex-wrap:wrap}
	.cos-legrow .cos-airin{flex:1 0 100%;order:3}
	.cos-log li{grid-template-columns:1fr}
	.cos-log span{grid-column:1}
	.cos-tool-in{padding:1.125rem}
	.cos-res{padding:1.125rem}
}
