/* Content pages: ordinary pages (page.php), the contact page, 404, site search and the blog (index.php).
   Desktop layout is in inline styles on the markup and phone/tablet layout of the design's own classes
   (sp-, cn-) is in site.css. This file holds what the design did not draw:
     1. the side column wrapper and its help card
     2. the reading styles for plain WordPress content (.tg-prose)
     3. content built in Elementor (.tg-wp-content--built): left alone, only kept inside its column
     4. result lists, pagers and the search card (404, search, blog)
     5. the contact page's form area when it holds page content instead of a form
   Breakpoints as everywhere: phone up to 699px, tablet 700 to 1079px, desktop 1080px and up. */

/* ---------- 1. side column ---------- */
/* Desktop: the navigation card with the help card under it. Below desktop the wrapper steps aside so the
   navigation lays itself out exactly as site.css says (a sticky sidebar or one swipe row); the help card is
   desktop only: on a phone the dock has Call, on a tablet the header has the number. */
@media (max-width:1079px){
  .tg-side{display:contents!important}
  .tg-side-help{display:none!important}
}
@media (min-width:1080px){
  .tg-side .sp-navlink:not([aria-current]):hover{background:#F4F6F8}
}

/* ---------- 2. reading styles for plain WordPress content ---------- */
/* The wrapper also carries Elementor's kit class (see tg_kit_class()); these rules sit one class above the
   kit's so plain content reads in the new design, not in the old site's global styles. */
.tg-page .tg-prose{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;background:none;overflow-wrap:break-word;min-width:0}
.tg-page .tg-prose::after{content:"";display:block;clear:both}
.tg-page .tg-prose :where(p,ul,ol,dl,blockquote,figure,table,pre,address,hr,.wp-block-buttons,.wp-block-image,.wp-block-table,.wp-block-columns,.wp-block-embed,.wp-block-group,.wp-caption){margin:0 0 20px}
.tg-page .tg-prose :where(h1,h2,h3,h4,h5,h6){margin:28px 0 12px;font-family:inherit;font-weight:700;line-height:1.25;letter-spacing:0;text-transform:none;color:#003050;overflow-wrap:anywhere;clear:both}
.tg-page .tg-prose :where(h1,h2){margin:36px 0 20px;font-family:PIRULEN,'Barlow Condensed',sans-serif;font-weight:400;font-size:clamp(20px,2vw,26px);line-height:1.2;text-transform:uppercase}
.tg-page .tg-prose :where(h3){font-size:21px}
.tg-page .tg-prose :where(h4){font-size:18px;color:#0E1B26}
.tg-page .tg-prose :where(h5,h6){font-family:'Barlow Condensed',Barlow,sans-serif;font-weight:600;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#566574}
.tg-page .tg-prose > :first-child{margin-top:0}
.tg-page .tg-prose > :last-child{margin-bottom:0}
.tg-page .tg-prose :where(h1,h2,h3,h4,h5,h6,[id]){scroll-margin-top:24px}

.tg-page .tg-prose a:where(:not(.wp-block-button__link,.wp-element-button,.button)){color:#0F5C9A;text-decoration:underline;text-underline-offset:3px;font-weight:inherit}
.tg-page .tg-prose a:where(:not(.wp-block-button__link,.wp-element-button,.button)):hover{color:#003050}
.tg-page .tg-prose :where(strong,b){font-weight:700;color:#0E1B26}

.tg-page .tg-prose :where(ul,ol){padding-left:1.35em}
.tg-page .tg-prose :where(ul){list-style:disc}
.tg-page .tg-prose :where(ol){list-style:decimal}
.tg-page .tg-prose :where(li){margin:0 0 8px}
.tg-page .tg-prose :where(li)::marker{color:#114575;font-weight:700}
.tg-page .tg-prose :where(li) > :where(ul,ol){margin:8px 0 0}
.tg-page .tg-prose :where(dt){font-weight:700;color:#0E1B26}
.tg-page .tg-prose :where(dd){margin:0 0 12px}

.tg-page .tg-prose :where(blockquote){margin:8px 0 28px;padding:24px 28px;background:#FFFFFF;border:1px solid #DCE2E8;border-radius:6px;font-size:22px;line-height:1.45;font-weight:600;font-style:normal;color:#003050;quotes:none}
.tg-page .tg-prose :where(blockquote) > :where(p,ul,ol){margin:0 0 12px}
.tg-page .tg-prose :where(blockquote) > :last-child{margin-bottom:0}
.tg-page .tg-prose :where(blockquote cite,blockquote footer){display:block;margin-top:10px;font-size:15px;font-weight:400;font-style:normal;color:#566574}

.tg-page .tg-prose :where(img,video,iframe,embed,object,svg){max-width:100%}
.tg-page .tg-prose :where(img){height:auto;border-radius:6px}
.tg-page .tg-prose :where(figure){margin:8px 0 28px;max-width:100%}
.tg-page .tg-prose :where(figure img){display:block}
.tg-page .tg-prose :where(figcaption,.wp-caption-text,.wp-element-caption){margin:10px 0 0;font-size:15px;line-height:1.45;color:#566574;text-align:left}
.tg-page .tg-prose :where(.wp-caption){max-width:100%}
.tg-page .tg-prose :where(.alignleft){float:left;max-width:50%;margin:6px 24px 16px 0}
.tg-page .tg-prose :where(.alignright){float:right;max-width:50%;margin:6px 0 16px 24px}
.tg-page .tg-prose :where(.aligncenter){display:block;margin-left:auto;margin-right:auto}
.tg-page .tg-prose :where(.alignwide,.alignfull){max-width:100%;margin-left:0;margin-right:0}

.tg-page .tg-prose :where(table){width:100%;border-collapse:collapse;border-spacing:0;background:#FFFFFF;border:1px solid #DCE2E8;font-size:16px;line-height:1.4}
.tg-page .tg-prose :where(th,td){padding:12px 14px;border:0;border-top:1px solid #E9EDF1;text-align:left;vertical-align:top}
.tg-page .tg-prose :where(thead th,tr:first-child > th){border-top:0;background:#F4F6F8;font-family:'Barlow Condensed',Barlow,sans-serif;font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#36454F;white-space:nowrap}
.tg-page .tg-prose :where(tbody:first-child > tr:first-child > td,table > tr:first-child > td){border-top:0}

.tg-page .tg-prose :where(hr){height:0;border:0;border-top:1px solid #DCE2E8;margin:32px 0}
.tg-page .tg-prose :where(code,kbd){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:#E9EDF1;border-radius:3px;padding:1px 5px}
.tg-page .tg-prose :where(pre){padding:16px 18px;background:#FFFFFF;border:1px solid #DCE2E8;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;line-height:1.5;overflow-x:auto;white-space:pre-wrap}
.tg-page .tg-prose :where(pre code){background:none;padding:0}

/* buttons an editor can add: block buttons, the classic .button class, a submit button (password form) */
.tg-page .tg-prose :where(.wp-block-buttons){display:flex;flex-wrap:wrap;gap:10px}
.tg-page .tg-prose :where(.wp-block-button){margin:0}
.tg-page .tg-prose :where(.wp-block-button__link,a.button,input[type="submit"],button[type="submit"]){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:8px 22px;border:2px solid #003050;border-radius:4px;background:#003050;color:#FFFFFF;font:inherit;font-size:16px;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .14s ease-out,border-color .14s ease-out,color .14s ease-out}
.tg-page .tg-prose :where(.wp-block-button__link,a.button,input[type="submit"],button[type="submit"]):hover{background:#114575;border-color:#114575;color:#FFFFFF}
.tg-page .tg-prose :where(.is-style-outline) > :where(.wp-block-button__link){background:#FFFFFF;color:#003050}
.tg-page .tg-prose :where(.is-style-outline) > :where(.wp-block-button__link):hover{background:rgba(0,48,80,.06);border-color:#003050;color:#003050}

/* fields in plain content (the password form of a protected page, a simple embedded form) */
.tg-page .tg-prose :where(input:not([type]),input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],input[type="password"],input[type="search"],select,textarea){box-sizing:border-box;max-width:100%;min-height:48px;padding:0 14px;border:1px solid #8796A5;border-radius:4px;background:#FFFFFF;font:inherit;font-size:16px;color:#0E1B26}
.tg-page .tg-prose :where(textarea){padding:12px 14px;width:100%;resize:vertical}
.tg-page .tg-prose :where(label){font-size:14px;font-weight:600}

/* questions and answers written as <details> */
.tg-page .tg-prose :where(details){margin:0 0 10px;padding:0 18px;background:#FFFFFF;border:1px solid #DCE2E8;border-radius:6px}
.tg-page .tg-prose :where(details) + :where(:not(details)){margin-top:28px}
.tg-page .tg-prose :where(summary){position:relative;display:flex;align-items:center;min-height:56px;box-sizing:border-box;margin:0 -18px;padding:10px 52px 10px 18px;font-weight:700;line-height:1.35;color:#003050;border-radius:6px}
.tg-page .tg-prose :where(summary)::after{content:"";position:absolute;right:22px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2.5px solid #0F5C9A;border-bottom:2.5px solid #0F5C9A;transform:rotate(45deg);transition:transform .16s ease-out}
.tg-page .tg-prose :where(details[open]) > :where(summary)::after{transform:rotate(225deg);margin-top:-2px}
.tg-page .tg-prose :where(details) > :where(:not(summary)){margin:0 0 16px}
.tg-page .tg-prose :where(details) > :where(summary + *){margin-top:2px}

/* pages split with <!--nextpage--> */
.tg-pagelinks{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:16px;font-weight:600}
.tg-pagelinks > :where(a,span){display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;box-sizing:border-box;padding:0 10px;border:1px solid #8796A5;border-radius:4px;background:#FFFFFF;color:#0E1B26;text-decoration:none}
.tg-pagelinks > :where(span.current,.post-page-numbers.current){background:#003050;border-color:#003050;color:#FFFFFF}

@media (max-width:1079px){
  .tg-page .tg-prose :where(h1,h2,h3,h4,h5,h6,[id]){scroll-margin-top:96px}
}
@media (max-width:699px){
  /* site.css sets the article's h2 for the design's spaced-out sample text; real content needs its own gap */
  .tg-page .tg-prose :where(h1,h2){margin-top:30px!important;margin-bottom:16px}
  .tg-page .tg-prose > :where(h1,h2):first-child{margin-top:0!important}
  .tg-page .tg-prose :where(h3){font-size:19px}
  .tg-page .tg-prose :where(p,ul,ol,dl,figure,table,pre,address){margin-bottom:18px}
  .tg-page .tg-prose :where(.alignleft,.alignright){float:none;max-width:100%;margin:0 0 18px}
  .tg-page .tg-prose :where(h1,h2,h3,h4,h5,h6,[id]){scroll-margin-top:68px}
  .tg-page .tg-prose :where(.wp-block-buttons){display:grid;grid-template-columns:minmax(0,1fr)}
  .tg-page .tg-prose :where(.wp-block-button__link,a.button,input[type="submit"],button[type="submit"]){min-height:52px}
  .tg-page .tg-prose :where(.wp-block-button__link){display:flex;width:100%}
  .tg-page .tg-prose :where(input:not([type]),input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],input[type="password"],input[type="search"],select){min-height:52px}
  .tg-page .tg-prose :where(thead th,tr:first-child > th){white-space:normal}
  .tg-single .sp-article{margin-top:0}
}
/* blog posts use the article type without the side column: the column starts at the left edge on a tablet too */
@media (min-width:700px) and (max-width:1079px){
  .tg-single .sp-article{max-width:860px!important;margin-left:0;margin-right:0}
}

/* ---------- 3. content built in Elementor ---------- */
/* Its own widths, type and colours stay as they are. Two things only:
   - a "stretched" section is sized to the window by Elementor's script; inside a page with a side column
     it runs the width of the content column instead, so it cannot slide under the navigation;
   - nothing in it may push the page sideways. */
.tg-built{font-size:16px;line-height:1.5}
.tg-wp-content--built{min-width:0;max-width:100%}
.tg-wp-content--built .elementor-section.elementor-section-stretched{left:0!important;right:auto!important;width:100%!important}
@media (max-width:699px){
  .sp-layout > .tg-built{margin-top:20px}
}

/* ---------- 4. result lists, pagers, the search card (404, search, blog) ---------- */
.tg-results > .tg-result:first-child{border-top:0!important}
.tg-result-a:hover{text-decoration:underline!important;text-underline-offset:3px}
.tg-csearch:focus-within{box-shadow:0 0 0 3px rgba(255,184,28,.55)}
.tg-csearch input[type="search"]{-webkit-appearance:none;appearance:none;border-radius:0}
.tg-csearch input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}
.tg-csearch button:hover{background:#114575!important}
.tg-partslink:hover{background:rgba(0,48,80,.06)!important}

.tg-pager .nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.tg-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;box-sizing:border-box;padding:0 12px;border:1px solid #8796A5;border-radius:4px;background:#FFFFFF;color:#0E1B26;font-weight:600;text-decoration:none}
.tg-pager a.page-numbers:hover{border-color:#003050;color:#003050}
.tg-pager .page-numbers.current{background:#003050;border-color:#003050;color:#FFFFFF}
.tg-pager .page-numbers.dots{border-color:transparent;background:none;min-width:24px;padding:0}

@media (max-width:699px){
  .tg-find{padding:20px 16px!important}
  .tg-ways{grid-template-columns:minmax(0,1fr)!important}
  .tg-way{min-height:56px!important}
  .tg-result{padding:16px!important}
  .tg-csearch{height:52px}
}

/* ---------- 5. contact page ---------- */
/* When the page has no form shortcode its own content is printed in the form area (see page-contact.php). */
.cn-store-content .tg-prose{font-size:17px;line-height:1.6}
.cn-privacy a{color:#0F5C9A}
