/*
Theme Name: Panotours
Description: Standalone custom theme for the Panotour portfolio, virtual tours and maps.
Author: Manolis Nikolakakis
Version: 0.5.3
Text Domain: panotours-theme
Domain Path: /languages
*/
:root {
 --panotours-background:#f6f8fa; --panotours-surface:#fff; --panotours-text:#132631;
 --panotours-accent:#006d99; --panotours-blue:#0089be; --panotours-lime:#a8cf31;
 --panotours-dark:#091e2b; --panotours-muted:#526470; --panotours-border:#d9e2e8;
 --gutter:max(clamp(1.25rem,4vw,4.5rem),calc((100% - 92.5rem)/2));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{margin:0;background:var(--panotours-background);color:var(--panotours-text);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--panotours-accent);text-underline-offset:.24em;transition:color .2s}
a:hover{color:#004c70}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #168cc5;outline-offset:5px}
img{max-width:100%;height:auto}
figure{margin:0}
h1,h2,h3{overflow-wrap:anywhere}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.screen-reader-text:focus{position:fixed;top:1rem;left:1rem;z-index:100000;width:auto;height:auto;padding:.75rem 1rem;margin:0;overflow:visible;clip-path:none;background:#fff;color:#091e2b}
.site-header{position:sticky;top:0;z-index:100;background:#fff;padding:1.1rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--panotours-border);transition:box-shadow .25s,padding .25s}
.site-header.is-scrolled{box-shadow:0 8px 25px #091e2b12;padding-block:.7rem}
.admin-bar .site-header{top:32px}
.site-branding{flex-shrink:0;line-height:1}
.custom-logo-link{display:block}
.custom-logo{display:block;width:224px;max-height:64px;object-fit:contain}
.site-name{font-size:1.6rem;font-weight:800;text-decoration:none;letter-spacing:-.05em}
.panotours-menu-panel{display:flex;align-items:center;gap:2rem}
.site-navigation ul{display:flex;align-items:center;gap:clamp(.75rem,1.5vw,1.5rem);list-style:none;padding:0;margin:0}
.site-navigation a{display:block;position:relative;text-decoration:none;color:var(--panotours-text);font-size:.9rem;font-weight:600;padding:.7rem 0;white-space:nowrap}
.site-navigation a:after{content:"";position:absolute;left:0;bottom:.25rem;width:100%;height:2px;background:var(--panotours-blue);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.site-navigation a:hover:after,.site-navigation .current-menu-item>a:after,.site-navigation .current-menu-ancestor>a:after{transform:scaleX(1)}
.site-navigation>ul>li:last-child>a{background:var(--panotours-dark);color:#fff;padding:.65rem 1rem;border-radius:99px}
.site-navigation>ul>li:last-child>a:after{display:none}
.site-navigation>ul>li:last-child>a:hover{background:var(--panotours-accent)}
.site-navigation li{position:relative}
.site-navigation ul ul{position:absolute;top:100%;left:-1rem;display:none;min-width:14rem;background:#fff;padding:1rem;box-shadow:0 12px 30px #091e2b22;border-radius:.6rem}
.site-navigation li:hover>ul,.site-navigation li:focus-within>ul{display:block}
.site-navigation ul ul li:last-child>a{background:none;color:var(--panotours-text);padding:.7rem 0}
.panotours-languages{display:flex;gap:.2rem;flex-shrink:0;padding:.2rem;border:1px solid var(--panotours-border);border-radius:99px}
.panotours-languages a{text-decoration:none;color:var(--panotours-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:.45rem .55rem;border-radius:99px}
.panotours-languages [aria-current="true"]{background:var(--panotours-dark);color:#fff}
.panotours-menu-toggle,.panotours-mobile-contact{display:none}
.site-main{padding:0 var(--gutter) 5rem;min-height:60vh;overflow-wrap:anywhere}
.panotours-page-hero{position:relative;isolation:isolate;margin:0 calc(-1 * var(--gutter)) 4rem;padding:clamp(3rem,7vw,6rem) var(--gutter);background:var(--panotours-dark);color:#fff;overflow:hidden;min-height:350px;display:flex;align-items:center}
.panotours-page-hero:before{content:"";position:absolute;z-index:-1;right:-8rem;top:-18rem;width:60rem;height:60rem;border:1px solid #0089be55;box-shadow:0 0 0 5rem #0089be0a,0 0 0 10rem #a8cf3108;border-radius:50%;pointer-events:none}
.panotours-page-hero-copy{position:relative;max-width:62rem}
.panotours-page-hero h1{font-size:clamp(2.8rem,5vw,5.2rem);font-weight:600;letter-spacing:-.055em;line-height:1.04;margin:0}
.panotours-page-hero .panotours-eyebrow{color:var(--panotours-lime);margin-top:2rem}
.panotours-page-hero .panotours-service-lead{color:#dce8ef;max-width:36rem;margin:1.5rem 0 0;font-size:1.08rem}
.panotours-page-hero.has-photo .panotours-page-hero-copy{width:55%;max-width:55rem}
.panotours-page-hero figure{position:absolute;inset:0 0 0 45%;z-index:-2}
.panotours-page-hero figure img{width:100%;height:100%;object-fit:cover}
.panotours-page-hero.has-photo:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#091e2b 36%,#091e2be8 48%,#091e2b38 100%)}
.panotours-breadcrumbs{font-size:.75rem;color:#b9cdd8}
.panotours-breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.45rem .65rem}
.panotours-breadcrumbs li+li:before{content:"/";margin-right:.65rem;color:#a8cf31}
.panotours-breadcrumbs a{color:#dce8ef;text-decoration:none}
.panotours-breadcrumbs a:hover{text-decoration:underline}
.panotours-breadcrumbs li:last-child{max-width:45ch}
.entry{background:#fff;padding:clamp(1.5rem,4vw,3.5rem);border-radius:1rem;margin:0 0 2rem}
.entry-title{line-height:1.2;margin-top:0;letter-spacing:-.03em}
.entry-content>p,.entry-content>h2,.entry-content>h3,.entry-content>ul,.entry-content>ol,.entry-content>blockquote{max-width:75ch}
.entry-content>:last-child{margin-bottom:0}
.entry-content iframe,.entry-content video{max-width:100%}
.entry-content pre{max-width:100%;overflow-x:auto;padding:1rem;background:#edf1f4}
.entry-content a{overflow-wrap:anywhere}
.panotours-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.panotours-cards .entry{margin:0;padding:0;background:none;border-radius:0;min-width:0}
.panotours-cards .entry>a:first-child{display:block;overflow:hidden;border-radius:.8rem}
.panotours-cards img{display:block;width:100%;aspect-ratio:16/11;object-fit:cover;margin:0;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.panotours-cards .entry:hover img{transform:scale(1.035)}
.panotours-cards h2{margin:1.2rem 0 .6rem;font-size:1.45rem;font-weight:600}
.panotours-cards h2 a{text-decoration:none;color:var(--panotours-text)}
.panotours-cards p{font-size:.95rem;color:var(--panotours-muted)}
.panotours-cards .entry>a:last-child{display:inline-block;font-size:.85rem;font-weight:650}
.panotours-cards time{color:var(--panotours-muted);font-size:.8rem}
.panotours-cover{display:block;width:100%;max-height:36rem;object-fit:contain;margin:0 0 1.5rem}
.panotours-embed iframe,.entry-content iframe{width:100%;min-height:28rem;border:0;border-radius:.7rem}
.panotours-photo-grid,.panotours-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem}
.panotours-photo-grid img,.panotours-comparison img{border-radius:.5rem}
.panotours-project-details{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;margin-bottom:2rem;border-bottom:1px solid var(--panotours-border);padding-bottom:1.5rem}
.panotours-project-details dt{font-weight:600}
.panotours-project-details dd{margin:0;min-width:0}
.panotours-project-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 2.5rem}
.panotours-project-filters a{padding:.55rem 1rem;border:1px solid var(--panotours-border);border-radius:99px;background:#fff;text-decoration:none;font-size:.85rem;color:var(--panotours-text)}
.panotours-project-filters a:hover{border-color:var(--panotours-blue)}
.panotours-project-filters [aria-current="page"]{background:var(--panotours-dark);border-color:var(--panotours-dark);color:#fff}
.nav-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:3rem}
.nav-links>*{padding:.4rem .8rem;background:#fff;border-radius:.3rem}
.search-form{display:flex;flex-wrap:wrap;gap:.75rem}
.search-field,.search-submit{padding:.75rem 1rem;border:1px solid var(--panotours-border);border-radius:.4rem;max-width:100%}
.site-footer{padding:4rem var(--gutter) 1.5rem;background:var(--panotours-dark);color:#c4d4dc}
.panotours-footer-top{display:grid;grid-template-columns:1.4fr .7fr 1fr 1.2fr;gap:clamp(1.5rem,4vw,4rem);padding-bottom:3rem}
.panotours-footer-name{display:inline-flex;gap:0;font-size:clamp(1.7rem,2.4vw,2.4rem);font-weight:800;letter-spacing:-.06em;text-decoration:none;color:#39b2e0}
.panotours-footer-name span:first-child{color:var(--panotours-lime)}
.panotours-footer-name span:last-child{margin-left:.8rem;color:#fff;font-weight:400}
.panotours-footer-brand p{max-width:26ch;font-size:.85rem}
.panotours-footer-top h2{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:.65rem 0 1.2rem}
.panotours-footer-top nav a,.panotours-footer-contact>a{display:block;font-size:.85rem;padding:.3rem 0;color:#c4d4dc;text-decoration:none;overflow-wrap:anywhere}
.site-footer a:hover{color:var(--panotours-lime)}
.panotours-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:1px solid #ffffff22;font-size:.75rem}
.panotours-footer-bottom p{margin:0}
.panotours-footer-bottom a{color:#c4d4dc;text-decoration:none}
@media(min-width:1281px){.panotours-menu-panel{display:flex!important}}
@media(max-width:1280px){
 .site-header{padding-block:1rem;gap:1rem}
 .custom-logo{width:210px}
 .panotours-menu-panel{width:100%;flex-direction:column;align-items:start}
 .site-header{flex-wrap:wrap}
 .site-navigation ul{flex-wrap:wrap}
 .js .site-header{flex-wrap:nowrap}
 .js .panotours-menu-toggle{display:flex;align-items:center;gap:.8rem;position:relative;z-index:103;border:1px solid var(--panotours-border);background:#fff;color:var(--panotours-text);border-radius:99px;padding:.65rem .85rem;font-size:.8rem}
 .menu-toggle-icon{position:relative;width:18px;height:12px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transition:transform .2s}
 .menu-toggle-icon:after{content:"";position:absolute;inset:4px 0 auto;height:1.5px;background:currentColor}
 .menu-is-open .menu-toggle-icon{transform:rotate(45deg);border-bottom:0}
 .menu-is-open .menu-toggle-icon:after{transform:rotate(90deg);top:0}
 .js .panotours-menu-panel{position:absolute;inset:100% 0 auto;display:none;background:#fff;padding:1rem var(--gutter) 2rem;height:calc(100dvh - var(--header-height,88px) - var(--admin-offset,0px));overflow-y:auto;border-top:1px solid var(--panotours-border)}
 .js .panotours-menu-panel.is-open{display:flex;gap:1.5rem;animation:menu-in .3s ease both}
 .site-navigation{width:100%}
 .js .site-navigation ul{display:block}
 .js .site-navigation a{font-size:clamp(1.3rem,4vw,2rem);padding:.55rem 0;white-space:normal;letter-spacing:-.035em}
 .js .site-navigation>ul>li:last-child>a{display:inline-block;margin-top:.6rem;padding:.65rem 1.5rem;font-size:1.1rem}
 .site-navigation ul ul{position:static;display:block;box-shadow:none;padding:.4rem 0 .4rem 1rem;background:none}
 .js .site-navigation ul ul a{font-size:1rem}
 .panotours-mobile-contact{display:block;border-top:1px solid var(--panotours-border);padding-top:1.5rem;width:100%;font-size:.85rem}
 .panotours-mobile-contact p{color:var(--panotours-muted);max-width:34ch}
 .menu-is-open{overflow:hidden}
 .panotours-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .panotours-footer-top{grid-template-columns:1.2fr 1fr;gap:2rem}
}
@media(max-width:650px){
 html{scroll-padding-top:6rem}
 .custom-logo{width:185px}
 .site-main{padding-bottom:3rem}
 .panotours-page-hero{padding-block:2.5rem;margin-bottom:2.5rem;min-height:320px}
 .panotours-page-hero h1{font-size:clamp(2.4rem,10vw,3.6rem)}
 .panotours-page-hero.has-photo .panotours-page-hero-copy{width:100%}
 .panotours-page-hero figure{inset:0}
 .panotours-page-hero.has-photo:after{background:#091e2bce}
 .panotours-breadcrumbs{font-size:.7rem}
 .panotours-cards{grid-template-columns:1fr;gap:2.5rem}
 .panotours-project-filters{gap:.4rem}
 .panotours-project-filters a{font-size:.75rem;padding:.5rem .7rem}
 .panotours-project-details{grid-template-columns:1fr;gap:.25rem}
 .panotours-project-details dd{margin-bottom:.75rem}
 .panotours-embed iframe,.entry-content iframe{min-height:22rem}
 .site-footer{padding-top:3rem}
 .panotours-footer-top{grid-template-columns:1fr 1fr;gap:1.8rem 1rem}
 .panotours-footer-brand,.panotours-footer-contact{grid-column:1/-1}
 .admin-bar .site-header{top:46px}
}
@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
body.admin-bar{--admin-offset:32px}
@media(max-width:782px){body.admin-bar{--admin-offset:46px}}
.entry-content h2{font-size:clamp(1.6rem,3vw,2.5rem);letter-spacing:-.035em;line-height:1.2;margin:2rem 0 1rem}
.entry-content h3{font-size:1.35rem;line-height:1.3}
.entry-content h6{font-size:.85rem;letter-spacing:.03em;margin:1.2rem 0 .6rem}
.entry-content>img{display:block;margin:2rem 0;max-height:32rem;object-fit:contain;border-radius:.7rem}
.page-id-193 .entry-content>a{display:inline-block;margin:0 1rem 1rem 0}
.page-id-193 .entry-content h2{max-width:30ch;font-weight:550}
.page-id-193 .entry-content h2 a{display:inline-block;font-size:clamp(1rem,3vw,1.8rem);margin-top:1rem}


/* Portfolio collections: separate parent navigation from submenu disclosure. */
.panotours-submenu-toggle{display:none}
.site-navigation .menu-item-has-children>a{padding-right:1.5rem}
.js .panotours-submenu-toggle{display:grid;place-items:center;position:absolute;top:0;right:-.4rem;width:30px;height:46px;padding:0;background:none;border:0;border-radius:6px;color:var(--panotours-text);cursor:pointer}
.panotours-submenu-toggle svg{width:18px;height:18px;transition:transform .2s}
.panotours-submenu-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.panotours-submenu-toggle:focus-visible{outline:2px solid var(--panotours-blue);outline-offset:2px}
.site-navigation ul[hidden]{display:none!important}
.js .site-navigation li.submenu-is-open>ul{display:block}
.site-navigation ul ul{z-index:2}
.site-navigation ul ul a{padding:.65rem .4rem;white-space:normal}
.site-navigation .current-menu-parent>a:after{transform:scaleX(1)}
@media(max-width:1280px){
 .js .panotours-submenu-toggle{top:.55rem;right:0;width:44px;height:44px;border:1px solid var(--panotours-border);border-radius:50%}
 .site-navigation .menu-item-has-children>a{padding-right:3.5rem}
 .site-navigation ul ul{margin:.3rem 0 .8rem .2rem;border-left:2px solid var(--panotours-lime);padding:.15rem 0 .15rem 1.1rem}
 .js .site-navigation ul ul a{font-size:1.05rem;letter-spacing:-.015em;padding:.5rem 0}
}
