/**
Theme Name: Presto Ibérica
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: presto-iberica
Template: astra

*/


/*header*/

header {
    background-color: #00558a !important;
}


/*footer*/
footer {
    background-color: #00558a !important;
}

/* Scrollbar and selection from the reference design. */
::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background:hsl(30 5% 95%); }
::-webkit-scrollbar-thumb { border-radius:4px; background:hsl(0 0% 45% / .3); }
::-webkit-scrollbar-thumb:hover { background:hsl(0 0% 45% / .5); }
::selection { background:hsl(35 50% 45% / .3); color:hsl(0 0% 8%); }

/* Astra sizes full-width blocks with 100vw, which overflows by the scrollbar width; the content area is already full width. */
.entry-content > .alignfull[class*="wp-block-presto-"]:not(.presto-home-solutions) { width:100% !important; max-width:100% !important; margin-right:0 !important; margin-left:0 !important; }

/* Astra overrides — undo text-decoration:underline (.ast-single-post .entry-content a)
   and border-radius:2px (button, .ast-button) on all product/catalog blocks.
   Prefixing with `body` raises specificity to (0,3,1), beating Astra's (0,2,1) inline
   styles that are injected after this stylesheet. */
body .presto-product a,
body .presto-product a *,
body .presto-product button,
body .presto-catalogo a,
body .presto-catalogo a *,
body .presto-catalogo button,
body .presto-catalog a,
body .presto-catalog a *,
body .presto-catalog button,
body .presto-home-solutions a,
body .presto-home-solutions a *,
body .presto-home-solutions button { text-decoration: none !important; border-radius: 0 !important; }

/* Catalog desktop header. */
.presto-site-header { position:fixed; top:0; right:0; left:0; z-index:100; border-bottom:1px solid rgba(255,255,255,.1); background:rgba(0,85,138,.95) !important; color:#fff; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
body.admin-bar .presto-site-header { top:32px; }
@media (max-width:782px) { body.admin-bar .presto-site-header { top:46px; } }
.presto-site-header__container { width:100%; max-width:1440px; box-sizing:border-box; margin:0 auto; padding:0 48px; }
.presto-site-header__top { border-bottom:1px solid rgba(255,255,255,.1); }
.presto-site-header__top .presto-site-header__container { display:flex; align-items:center; justify-content:space-between; padding-top:10px; padding-bottom:10px; font:12px/16px "Didact Gothic",sans-serif; }
.presto-site-header__top .presto-site-header__container > div { display:flex; align-items:center; gap:32px; }
.presto-site-header__top .presto-site-header__container > div:last-child { gap:24px; }
.presto-site-header__top a,.presto-site-header__top button { display:flex; align-items:center; gap:8px; margin:0; padding:0; border:0; background:transparent; color:rgba(255,255,255,.6) !important; font:inherit; letter-spacing:normal; text-decoration:none !important; text-transform:none !important; cursor:pointer; transition:color .15s ease; }
.presto-site-header__top button { gap:6px; font-weight:500; text-transform:uppercase !important; }
.presto-site-header__top .presto-site-header__container > div:last-child a { font-weight:500; letter-spacing:1.8px; text-transform:uppercase !important; }
.presto-site-header__top button:hover,.presto-site-header__top button:focus { background:transparent; color:#fff !important; }
.presto-site-header__top svg { width:14px; height:14px; flex:0 0 14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.presto-site-header__main { height:80px; }
.presto-site-header__main .presto-site-header__container { display:flex; height:100%; align-items:center; }
.presto-site-header__logo { display:block; width:70px; height:44px; flex:0 0 auto; }
.presto-site-header__logo img { display:block; width:100%; height:100%; object-fit:contain; filter:brightness(0) invert(1); }
.presto-site-header .presto-site-header__nav { display:flex; height:64px; margin-left:48px; flex:0 0 auto; align-items:center; justify-content:flex-start; }
.presto-site-header nav > a { position:relative; padding:24px 16px; color:rgba(255,255,255,.8) !important; font-size:12px; font-weight:500; letter-spacing:1.8px; line-height:16px; text-decoration:none !important; text-transform:uppercase; white-space:nowrap; }
.presto-site-header .presto-site-header__nav > a:hover,.presto-site-header__top a:hover { color:#fff !important; }
.presto-site-header__dropdown { position:relative; display:flex; height:64px; align-items:center; }
.presto-site-header__dropdown > button { position:relative; display:flex; align-items:center; gap:6px; height:64px; padding:24px 16px; border:0; border-radius:0; background:transparent !important; color:rgba(255,255,255,.8) !important; font:500 12px/16px "Didact Gothic",sans-serif; letter-spacing:1.8px; text-transform:uppercase; cursor:pointer; }
.presto-site-header__dropdown > button svg { width:14px; height:14px; flex:0 0 14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .3s ease; }
.presto-site-header nav > a::after,.presto-site-header__dropdown > button::after { content:""; position:absolute; right:16px; bottom:16px; left:16px; height:1px; background:#ac7c39; transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.presto-site-header nav > a:hover::after,.presto-site-header__dropdown > button:hover::after { transform:scaleX(1); }
.presto-site-header__dropdown > button:hover,.presto-site-header__dropdown > button[aria-expanded="true"] { color:#fff !important; }
.presto-site-header__dropdown:hover > button svg,.presto-site-header__dropdown:focus-within > button svg { transform:rotate(180deg); }
.presto-site-header__submenu { position:absolute; top:100%; left:0; z-index:50; visibility:hidden; padding-top:16px; opacity:0; transform:translateY(10px); transition:opacity .2s ease,transform .2s ease,visibility .2s ease; }
.presto-site-header__dropdown--end > .presto-site-header__submenu { right:0; left:auto; }
.presto-site-header__dropdown:hover > .presto-site-header__submenu,.presto-site-header__dropdown:focus-within > .presto-site-header__submenu { visibility:visible; opacity:1; transform:none; }
.presto-site-header__panel { position:relative; box-sizing:border-box; width:340px; max-width:96vw; overflow:hidden; padding:36px 32px 32px; border:1px solid rgba(230,230,230,.5); background:#fff !important; box-shadow:0 25px 50px -12px rgba(20,20,20,.05); color:#141414; text-align:left; }
.presto-site-header__panel::before { content:""; position:absolute; top:0; right:0; left:0; height:4px; background:linear-gradient(to right,transparent,#00558a,transparent); }
.presto-site-header__group + .presto-site-header__group { margin-top:40px; }
.presto-site-header .presto-site-header__group h4 { position:relative; display:inline-block; margin:0 0 20px; color:#141414; font-family:"Libre Franklin",sans-serif; font-size:18px; font-weight:400; line-height:28px; letter-spacing:.02em; text-transform:none; }
.presto-site-header__group h4::after { content:""; position:absolute; bottom:-4px; left:0; width:32px; height:2px; background:#00558a; }
.presto-site-header__group ul,.presto-product-column ul { margin:0; padding:0; list-style:none; }
.presto-site-header__group li { margin:0; }
.presto-site-header__group li + li { margin-top:12px; }
.presto-site-header .presto-site-header__group a { display:flex; align-items:center; gap:8px; padding:0; color:#737373 !important; font:14px/20px "Didact Gothic",sans-serif; letter-spacing:normal; text-decoration:none !important; text-transform:none !important; white-space:normal; transition:color .15s ease; }
.presto-site-header__group a span:first-child { width:0; height:1px; flex:0 0 auto; background:#00558a; transition:width .3s ease; }
.presto-site-header .presto-site-header__group a:hover { color:#141414 !important; }
.presto-site-header__group a:hover span:first-child { width:8px; }

.presto-site-header__social { margin-top:24px; padding-top:20px; border-top:1px solid rgba(230,230,230,.5); text-align:center; }
.presto-site-header__social > span { display:block; margin-bottom:16px; color:#737373; font-size:12px; line-height:16px; letter-spacing:.05em; text-transform:uppercase; }
.presto-site-header__social > div { display:flex; align-items:center; justify-content:center; gap:24px; }
.presto-site-header .presto-site-header__social a { display:flex; padding:0; color:#737373 !important; transition:color .15s ease; }
.presto-site-header .presto-site-header__social a:hover { color:#00558a !important; }
.presto-site-header__social svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.presto-site-header__social a:nth-child(3) svg,.presto-site-header__social a:nth-child(6) svg { fill:currentColor; stroke:none; }

/* Products mega menu. The header backdrop-filter makes it the containing block, so top is relative to the header. */
.presto-site-header__submenu--products { position:fixed; top:80px; right:0; left:0; display:flex; justify-content:center; padding:16px 16px 0; pointer-events:none; }
.presto-site-header__submenu--products .presto-site-header__panel { display:flex; width:100%; max-width:1200px; max-height:calc(100vh - 112px); padding:4px 0 0; flex-direction:column; pointer-events:auto; }
body.admin-bar .presto-site-header__submenu--products .presto-site-header__panel { max-height:calc(100vh - 144px); }
.presto-site-header__products { display:grid; min-height:0; flex:1; grid-template-columns:2fr 3fr 3fr 4fr; }
.presto-product-column { display:flex; min-height:0; padding:24px 0; flex-direction:column; }
.presto-product-column:nth-child(1) { background:rgba(245,245,244,.4); }
.presto-product-column + .presto-product-column { border-left:1px solid rgba(230,230,230,.4); }
.presto-product-column:nth-child(4) { background:rgba(245,245,244,.2); }
.presto-site-header .presto-product-column > p { margin:0 0 12px; padding:0 20px; color:#737373; font-size:10px; line-height:15px; letter-spacing:.15em; text-transform:uppercase; }
.presto-product-column ul { min-height:0; flex:1; overflow-y:auto; }
.presto-product-column li { margin:0; }
.presto-product-column li[hidden] { display:none !important; }
.presto-site-header .presto-product-column a { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 20px; color:#737373 !important; font:14px/20px "Didact Gothic",sans-serif; letter-spacing:normal; text-decoration:none !important; text-transform:none !important; white-space:normal; transition:color .15s ease,background-color .15s ease; }
.presto-site-header .presto-product-column a:hover,.presto-site-header .presto-product-column a.is-active { color:#141414 !important; }
.presto-site-header .presto-product-column a.is-active { background:rgba(245,245,244,.4); font-weight:500; }
.presto-site-header .presto-product-column:nth-child(1) a.is-active { background:#fff; }
.presto-product-column a svg { width:14px; height:14px; flex:0 0 14px; fill:none; stroke:#00558a; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; opacity:0; transition:opacity .15s ease; }
.presto-product-column a.is-active svg { opacity:1; }
.presto-site-header .presto-product-column:nth-child(4) a { justify-content:flex-start; gap:12px; color:rgba(20,20,20,.9) !important; }
.presto-site-header .presto-product-column:nth-child(4) a:hover { background:#fff; color:#141414 !important; }
.presto-product-dash { width:4px; height:1px; flex:0 0 auto; background:#00558a; transition:width .3s ease; }
.presto-product-column a:hover .presto-product-dash { width:10px; }
.presto-product-name { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.presto-product-column:not(:nth-child(4)) .presto-product-name { white-space:normal; }
.presto-product-column small { color:rgba(115,115,115,.7); font-size:10px; line-height:15px; font-variant-numeric:tabular-nums; }
.presto-site-header__products-footer { display:flex; align-items:center; justify-content:space-between; padding:16px 32px; border-top:1px solid rgba(230,230,230,.5); background:rgba(245,245,244,.3); }
.presto-site-header .presto-site-header__products-footer p { margin:0; color:#737373; font-size:12px; line-height:16px; }
.presto-site-header .presto-site-header__products-footer a { display:inline-flex; align-items:center; gap:8px; padding:0; color:#00558a !important; font-size:12px; font-weight:500; line-height:16px; letter-spacing:.15em; text-decoration:none !important; text-transform:uppercase; transition:gap .15s ease; }
.presto-site-header .presto-site-header__products-footer a:hover { gap:12px; }
.presto-site-header__products-footer svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.presto-site-header__search,.presto-site-header__menu { border:0; background-color:transparent; color:#fff !important; cursor:pointer; }
.presto-site-header__tools { display:flex; align-items:center; gap:4px; margin-left:auto; }
.presto-site-header__search { display:flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border-radius:50%; font-size:0; line-height:1; transition:background .15s ease; }
.presto-site-header__search:hover,.presto-site-header__search:focus { background:rgba(255,255,255,.1) !important; }
.presto-site-header__search svg { width:20px; height:20px; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.presto-site-header__menu { display:none; align-items:center; justify-content:center; width:40px; height:40px; margin-left:-8px; padding:8px; border-radius:9999px; transition:background-color .15s ease; }
.presto-site-header__menu:hover,.presto-site-header__menu:focus-visible { background:rgba(255,255,255,.1) !important; }
.presto-site-header__menu svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.presto-site-header__menu[aria-expanded="true"] .presto-site-header__menu-open,.presto-site-header__menu:not([aria-expanded="true"]) .presto-site-header__menu-close { display:none; }
.presto-site-header__lang { display:flex; align-items:center; gap:4px; padding:8px; border:0; border-radius:9999px; background:transparent !important; color:rgba(255,255,255,.8) !important; font:600 12px/16px "Didact Gothic",sans-serif; letter-spacing:normal; text-transform:uppercase; cursor:pointer; transition:color .15s ease,background-color .15s ease; }
.presto-site-header__lang:hover { background:rgba(255,255,255,.1) !important; color:#fff !important; }
.presto-site-header__lang svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* Language switcher (top bar and mobile header): globe button plus a small white menu. */
.presto-lang { position:relative; display:flex; align-items:center; }
.presto-lang--main { display:none; }
.presto-lang__menu { position:absolute; top:calc(100% + 8px); right:0; z-index:120; box-sizing:border-box; min-width:140px; margin:0; padding:4px; border:1px solid #e6e6e6; border-radius:6px; background:#fff; box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1); list-style:none; }
.presto-lang__menu[hidden] { display:none; }
.presto-lang__menu li { margin:0; padding:0; }
.presto-site-header .presto-lang .presto-lang__menu a.presto-lang__item { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 8px; border-radius:4px; background:transparent; color:#141414 !important; font:400 14px/20px "Didact Gothic",sans-serif; letter-spacing:normal; text-decoration:none !important; text-transform:none !important; white-space:nowrap; }
.presto-site-header .presto-lang .presto-lang__menu a.presto-lang__item:hover,.presto-site-header .presto-lang .presto-lang__menu a.presto-lang__item:focus-visible { background:#f5f5f5; color:#141414 !important; outline:none; }
.presto-site-header .presto-lang .presto-lang__menu svg { width:16px; height:16px; flex:0 0 16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* Mobile menu panel (below 1024px). The header's backdrop-filter makes it the containing block, so top is relative to the header. */
.presto-mobile-menu { position:fixed; top:64px; right:0; left:0; z-index:60; height:calc(100vh - 64px); height:calc(100dvh - 64px); background:#fff; }
body.admin-bar .presto-mobile-menu { height:calc(100dvh - 110px); }
.presto-mobile-menu[hidden] { display:none; }
.presto-mobile-menu__nav { box-sizing:border-box; height:100%; overflow-y:auto; padding:24px; }
.presto-mobile-menu__item { border-bottom:1px solid rgba(230,230,230,.5); }
.presto-site-header .presto-mobile-menu__toggle { display:flex; box-shadow:none; align-items:center; justify-content:space-between; width:100%; margin:0; padding:16px 0; border:0; border-radius:0; background:transparent !important; color:#141414 !important; font:400 18px/28px "Libre Franklin",sans-serif; letter-spacing:normal; text-align:left; text-decoration:none !important; text-transform:none; cursor:pointer; }
.presto-mobile-menu__toggle svg { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .3s ease; }
.presto-mobile-menu__toggle svg.is-link { color:#737373; transition:none; }
.presto-mobile-menu__toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.presto-mobile-menu__sub { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .3s ease-out,opacity .3s ease-out; }
.presto-mobile-menu__toggle[aria-expanded="true"] + .presto-mobile-menu__sub { grid-template-rows:1fr; opacity:1; }
.presto-mobile-menu__sub > div { overflow:hidden; }
.presto-mobile-menu__groups { padding-bottom:16px; }
.presto-mobile-menu__group { margin-bottom:16px; padding-left:16px; }
.presto-site-header .presto-mobile-menu__group h4 { margin:0 0 8px; color:#00558a; font-family:"Libre Franklin",sans-serif; font-size:14px; font-weight:500; line-height:20px; letter-spacing:.02em; text-transform:none; }
.presto-mobile-menu__group ul { margin:0; padding:0 0 0 16px; border-left:1px solid rgba(230,230,230,.5); list-style:none; }
.presto-mobile-menu__group li { margin:0; line-height:24px; }
.presto-mobile-menu__group li + li { margin-top:8px; }
.presto-site-header .presto-mobile-menu__group a { padding:0; color:#737373 !important; font:400 14px/20px "Didact Gothic",sans-serif; letter-spacing:normal; text-decoration:none !important; text-transform:none; transition:color .15s ease; }
.presto-site-header .presto-mobile-menu__group a:hover { color:#141414 !important; }
.presto-mobile-menu__contact { display:flex; margin-top:32px; padding-top:24px; border-top:1px solid #e6e6e6; flex-direction:column; gap:12px; }
.presto-site-header .presto-mobile-menu__contact a { padding:0; color:#737373 !important; font:400 14px/20px "Didact Gothic",sans-serif; letter-spacing:normal; text-decoration:none !important; text-transform:none; }
.presto-site-header .presto-mobile-menu__contact a:hover { color:#141414 !important; }

@media (max-width: 1279px) {
    .presto-site-header .presto-site-header__nav { margin-left:32px; }
    .presto-site-header nav > a,.presto-site-header__dropdown > button { padding-right:12px; padding-left:12px; font-size:11px; }
}

@media (max-width: 1023px) {
    .presto-site-header__container { padding:0 24px; }
    .presto-site-header__top { display:none; }
    .presto-site-header__main { height:64px; }
    .presto-site-header__main .presto-site-header__container { justify-content:space-between; }
    .presto-site-header__menu,.presto-lang--main { display:flex; }
    .presto-site-header__logo { width:64px; height:40px; }
    .presto-site-header .presto-site-header__nav { display:none; }
    .presto-site-header__tools { margin-left:0; }
}

.presto-site-footer { background:#00558a; color:#fff; }
.presto-site-footer__main { max-width:1440px; margin:0 auto; padding:80px 48px; box-sizing:border-box; }
.presto-site-footer__grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:48px; }
.presto-site-footer__about { grid-column:span 2; }
.presto-site-footer .presto-site-footer__brand { display:inline-block; margin-bottom:24px; color:#fff !important; font-family:"Libre Franklin",sans-serif; font-size:30px; font-weight:400; line-height:36px; letter-spacing:.6px; text-decoration:none !important; }
.presto-site-footer p,.presto-site-footer a,.presto-site-footer span { font-family:"Didact Gothic",sans-serif; }
.presto-site-footer__about > p { max-width:384px; margin:0 0 24px; color:#fff; font-size:14px; line-height:22.75px; opacity:.7; }
.presto-site-footer__locations { display:grid; gap:16px; color:#fff; font-size:14px; line-height:20px; opacity:.7; }
.presto-site-footer__locations strong { display:block; margin-bottom:8px; color:#fff; font-family:"Didact Gothic",sans-serif; font-weight:600; opacity:1; }
.presto-site-footer__locations span,.presto-site-footer__locations a { display:flex; align-items:flex-start; gap:12px; color:#fff !important; text-decoration:none !important; }
.presto-site-footer__locations span { flex-wrap:wrap; }.presto-site-footer__locations a { margin-top:4px; }.presto-site-footer__locations span svg { flex:0 0 16px; }.presto-site-footer__locations span br { flex-basis:100%; height:0; }.presto-site-footer__locations svg { width:16px; height:16px; margin-top:2px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.presto-site-footer__socials { display:flex; gap:16px; margin-top:24px; }
.presto-site-footer__socials a { display:flex; align-items:center; justify-content:center; width:40px; height:40px; box-sizing:border-box; border:1px solid rgba(255,255,255,.2); color:#fff !important; font-size:16px; text-decoration:none !important; transition:border-color .3s ease,background .3s ease; }
.presto-site-footer__socials a:hover { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.1); }
.presto-site-footer__socials svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }.presto-site-footer__socials a:nth-child(3) svg,.presto-site-footer__socials a:nth-child(6) svg { fill:currentColor; stroke:none; }
.presto-site-footer .presto-site-footer__column h4 { margin:0 0 16px; color:#fff; font-family:"Libre Franklin",sans-serif; font-size:18px; font-weight:400 !important; line-height:28px; letter-spacing:.36px; }
.presto-site-footer__column ul { margin:0; padding:0; list-style:none; }
.presto-site-footer__column li { margin:0; font-size:16px; line-height:24px; }
.presto-site-footer__column li + li { margin-top:8px; }
.presto-site-footer__column li a { color:#fff !important; font-size:14px; line-height:20px; opacity:.7; text-decoration:none !important; transition:opacity .2s ease; }
.presto-site-footer__column li a:hover { opacity:1; }
.presto-site-footer__subheading { margin-top:32px !important; }
.presto-site-footer__bottom { border-top:1px solid rgba(255,255,255,.1); }
.presto-site-footer__bottom > div { max-width:1440px; margin:0 auto; padding:24px 48px; display:flex; align-items:center; justify-content:space-between; gap:16px; box-sizing:border-box; }
.presto-site-footer__bottom p,.presto-site-footer__bottom a { margin:0; color:#fff !important; font-size:12px; line-height:16px; opacity:.6; text-decoration:none !important; }
.presto-site-footer__bottom nav { display:flex; gap:24px; }
/* Footer breakpoints from the reference: 6 columns from 1024px, 2 from 768px, 1 below. */
@media (max-width:1023px) { .presto-site-footer__main { padding:64px 24px; } .presto-site-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .presto-site-footer__about { grid-column:auto; } .presto-site-footer__bottom > div { padding:24px; } }
@media (max-width:767px) { .presto-site-footer__grid { grid-template-columns:minmax(0,1fr); } .presto-site-footer__bottom > div { flex-direction:column; justify-content:center; } }

/* Blog post (single.php) */
article.presto-post { padding:128px 0 80px; background:#fff; color:#141414; font-family:"Didact Gothic",sans-serif; }
.presto-post .presto-post__back { display:inline-flex; align-items:center; gap:8px; margin-bottom:32px; color:#737373 !important; font-size:14px; line-height:20px; text-decoration:none !important; transition:color .15s cubic-bezier(.4,0,.2,1); }
.presto-post .presto-post__back:hover { color:#141414 !important; }
.presto-post__back svg { width:16px; height:16px; }
.presto-post__cover { margin-bottom:32px; overflow:hidden; border-radius:16px; aspect-ratio:21/9; }
.presto-post__cover img { display:block; width:100%; max-width:none; height:100%; object-fit:cover; }
.presto-post__meta { display:flex; align-items:center; gap:16px; margin-bottom:40px; color:#737373; font-size:14px; line-height:20px; }
.presto-post__meta span { display:inline-flex; align-items:center; gap:6px; }
.presto-post__meta svg { width:14px; height:14px; }
.presto-post .presto-post__title { margin:0 0 32px; color:#141414; font-family:"Libre Franklin",sans-serif; font-size:48px; font-weight:400; line-height:48px; letter-spacing:.02em; text-transform:none; overflow-wrap:normal; }
.presto-post__body { color:#737373; font-size:18px; line-height:28px; }
.presto-post__body > * { margin:0; }
.presto-post__body > * + * { margin-top:20px; }
.presto-post .presto-post__body h2 { margin:40px 0 20px; color:#141414; font-family:"Libre Franklin",sans-serif; font-size:30px; font-weight:400; line-height:36px; letter-spacing:.02em; text-transform:none; }
.presto-post .presto-post__body h3 { margin:32px 0 16px; color:#141414; font-family:"Libre Franklin",sans-serif; font-size:24px; font-weight:400; line-height:32px; letter-spacing:.02em; text-transform:none; }
.presto-post .presto-post__body p { color:#737373; font-size:18px; line-height:28px; }
.presto-post .presto-post__body a { color:#00558a !important; text-decoration:underline !important; }
.presto-post__body ul, .presto-post__body ol { margin:20px 0; padding-left:20px; list-style:disc; }
.presto-post__body ol { list-style:decimal; }
.presto-post__body img { max-width:100%; height:auto; }
.presto-post__more { margin-top:64px; padding-top:32px; border-top:1px solid #e6e6e6; }
.presto-post .presto-post__more a { display:inline-flex; align-items:center; gap:8px; color:#00558a !important; font-size:14px; font-weight:500; line-height:20px; text-decoration:none !important; }
.presto-post__more svg { width:16px; height:16px; }
body.single-post .ast-container { width:100%; max-width:none !important; padding:0 !important; }
body.single-post article.presto-post { padding:128px 0 80px !important; }
.presto-post .presto-wrap { box-sizing:border-box; width:100%; max-width:1440px; margin:0 auto; padding:0 48px; }
@media (max-width:1023px) { .presto-post .presto-wrap { padding:0 24px; } .presto-post .presto-post__title { font-size:36px; line-height:40px; } }
@media (max-width:767px) { body.single-post article.presto-post { padding:128px 0 64px !important; } .presto-post .presto-post__body h2 { font-size:24px; line-height:32px; } .presto-post .presto-post__title { font-size:30px; line-height:37.5px; } .presto-post__body, .presto-post .presto-post__body p { font-size:16px; line-height:26px; } }

/* Astra outlines every focused link, also after a mouse click; keep only the browser's keyboard focus ring. */
a:focus { outline: revert; }

/* Header search overlay. The reference's background class is missing from its build, so it is transparent. */
.presto-search { position:fixed; inset:0; z-index:200; overflow-y:auto; background:transparent; color:#141414; font-family:"Didact Gothic",sans-serif; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); opacity:0; transition:opacity .2s ease; }
.presto-search[hidden] { display:none; }
.presto-search.is-open { opacity:1; }
.presto-search__container { position:relative; max-width:1440px; box-sizing:border-box; margin:0 auto; padding:64px 48px; }
.presto-search .presto-search__close { position:absolute; top:24px; right:24px; display:flex; padding:8px; border:0; border-radius:0; background:transparent !important; color:#141414 !important; cursor:pointer; transition:color .15s ease; }
.presto-search .presto-search__close:hover { color:#00558a !important; }
.presto-search__close svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.presto-search__inner { width:100%; max-width:768px; margin:0 auto; opacity:0; transform:translateY(20px); transition:opacity .3s ease .1s,transform .3s ease .1s; }
.presto-search.is-open .presto-search__inner { opacity:1; transform:none; }
.presto-search .presto-search__inner h2 { margin:0 0 32px; color:#141414; font-family:"Libre Franklin",sans-serif; font-size:24px; font-weight:400; line-height:32px; letter-spacing:.48px; text-align:center; text-transform:none; }
.presto-search__field { position:relative; }
.presto-search .presto-search__field input { display:block; width:100%; height:auto; min-height:0; box-sizing:border-box; margin:0; padding:16px 40px 16px 0; border:0; border-bottom:2px solid #e6e6e6; border-radius:0; outline:0; background:transparent; box-shadow:none; color:#141414; font:20px/28px "Didact Gothic",sans-serif; transition:border-color .15s ease,color .15s ease; }
.presto-search .presto-search__field input:focus { border-bottom-color:#00558a; outline:0; box-shadow:none; }
.presto-search__field input::placeholder { color:rgba(115,115,115,.6); opacity:1; }
.presto-search__field svg { position:absolute; top:50%; right:0; width:24px; height:24px; transform:translateY(-50%); fill:none; stroke:#737373; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.presto-search__results { margin-top:32px; }
.presto-search .presto-search__results p { margin:0 0 8px; color:#737373; font-size:12px; line-height:16px; }
.presto-search .presto-search__results p.presto-search__status { font-size:14px; line-height:20px; }
.presto-search__results ul { margin:0; padding:0; list-style:none; border:1px solid #e6e6e6; border-radius:2px; background:#fff; }
.presto-search__results li { margin:0; }
.presto-search__results li + li { border-top:1px solid #e6e6e6; }
.presto-search .presto-search__results a { display:flex; align-items:center; gap:16px; padding:12px 16px; color:inherit !important; text-decoration:none !important; transition:color .15s ease,background-color .15s ease; }
.presto-search .presto-search__results a:hover { background:rgba(245,245,244,.6); }
.presto-search__thumb { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:56px; height:56px; box-sizing:border-box; overflow:hidden; border:1px solid #e6e6e6; background:rgba(245,245,244,.4); }
.presto-search__thumb img { width:100%; height:100%; object-fit:contain; }
.presto-search__thumb svg { width:20px; height:20px; fill:none; stroke:#737373; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.presto-search__main { flex:1; min-width:0; }
.presto-search__line { display:flex; align-items:center; gap:8px; }
.presto-search__ref { color:#737373; font:12px/16px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; }
.presto-search__badge { padding:2px 6px; border:1px solid #e6e6e6; color:#737373; font-size:10px; line-height:15px; letter-spacing:.5px; text-transform:uppercase; }
.presto-search__name,.presto-search__sub { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.presto-search__name { color:#141414; font-size:14px; line-height:20px; }
.presto-search__sub { color:#737373; font-size:11px; line-height:16.5px; }
.presto-search__aside { display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex-shrink:0; }
.presto-search__finish { color:#737373; font-size:11px; line-height:16.5px; letter-spacing:.55px; text-transform:uppercase; }
.presto-search__pvp { color:#141414; font:11px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; }
.presto-search__popular { margin-top:48px; }
.presto-search .presto-search__popular p { margin:0 0 16px; font-size:14px; line-height:20px; }
.presto-search__popular div { display:flex; flex-wrap:wrap; gap:8px; }
.presto-search .presto-search__popular button { padding:8px 16px; border:1px solid #e6e6e6; border-radius:0; background:transparent !important; color:#141414 !important; font:14px/20px "Didact Gothic",sans-serif; letter-spacing:normal; text-transform:none; cursor:pointer; transition:color .15s ease,border-color .15s ease; }
.presto-search .presto-search__popular button:hover { border-color:#00558a; color:#00558a !important; }
@media (max-width:1023px) { .presto-search__container { padding-right:24px; padding-left:24px; } }
@media (max-width:639px) { .presto-search__aside { display:none; } }

/* Complianz cookie banner: brand colours and square corners (vars are set on :root by the plugin). */
.cmplz-cookiebanner { --cmplz_banner_border_radius:0; --cmplz_button_border_radius:0; --cmplz_button_accept_background_color:#00558a; --cmplz_button_accept_border_color:#00558a; --cmplz_hyperlink_color:#00558a; --cmplz_slider_active_color:#00558a; }
