/*
Theme Name: Glasspipers Studio
Theme URI: https://glasspipers.eu/
Author: Glasspipers OÜ
Description: Responsive WordPress theme for the Glasspipers studio, web services, products, and art.
Version: 0.6.7
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: glasspipers-studio
License: GPL-2.0-or-later
*/
:root{--ink:#142d3a;--muted:#59727e;--paper:#f5f8fa;--white:#fff;--line:#d7e2e8;--accent:#126b8e;--light:#dceef5;--sun:#8ac9de;--radius:22px;--width:1200px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}img{max-width:100%;height:auto}a{color:var(--accent)}a:focus-visible,button:focus-visible{outline:3px solid #d37529;outline-offset:3px}.container{width:min(calc(100% - 40px),var(--width));margin-inline:auto}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden}.screen-reader-text:focus{clip:auto;clip-path:none;width:auto;height:auto;z-index:100;background:white;padding:8px}
.site-header{background:rgba(247,245,238,.96);border-bottom:1px solid var(--line);position:relative;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:86px}.site-brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);font-size:1.3rem;font-weight:800;letter-spacing:-.045em;line-height:1.1}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--ink);color:var(--sun);font-size:1.1rem;letter-spacing:-.12em;padding-right:4px}.custom-logo,.theme-wordmark{display:block;max-width:250px;max-height:67px;width:auto;height:auto}.theme-wordmark{width:220px}.header-actions{display:flex;align-items:center;gap:14px}.primary-nav .menu{display:flex;align-items:center;gap:5px;list-style:none;margin:0;padding:0}.primary-nav a{display:block;padding:9px 13px;border-radius:10px;color:var(--ink);font-weight:650;text-decoration:none;font-size:.93rem}.primary-nav a:hover,.primary-nav .current-menu-item>a{background:var(--light);color:var(--accent)}.menu-toggle{display:none;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font:inherit;font-weight:700;padding:9px 12px;cursor:pointer}.menu-toggle-icon{font-size:1.3rem;line-height:1}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;padding:12px 19px;background:var(--accent);color:white;text-decoration:none;font-weight:750;line-height:1.2;border:1px solid var(--accent);transition:transform .18s,background .18s}.header-cta{padding:10px 15px;font-size:.9rem}.button:hover,.header-cta:hover{background:#0b4d6a;color:white;transform:translateY(-2px)}.button-light{background:white;color:var(--ink);border-color:white}.button-light:hover{background:var(--light);color:var(--ink)}
.hero{overflow:hidden;background:#deedf3}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);align-items:center;min-height:540px;gap:7%;padding-block:70px}.eyebrow{display:inline-block;margin:0 0 16px;color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:850}.hero h1{font-size:clamp(2.6rem,5vw,5rem);letter-spacing:-.067em;line-height:1.05;margin:0 0 23px;max-width:700px}.hero p.hero-copy{font-size:clamp(1.03rem,1.45vw,1.23rem);line-height:1.65;max-width:570px;color:#456373;margin:0 0 30px}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}.hero-visual{position:relative;min-height:395px;border-radius:34px;isolation:isolate;background:linear-gradient(145deg,#a8d2e2,#337f9e);box-shadow:0 28px 60px rgba(15,55,78,.16);overflow:hidden}.hero-visual.has-photo{background-position:center;background-size:cover}.hero-visual.has-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 50%,rgba(23,41,35,.14))}.art-orbit{position:absolute;width:290px;height:290px;right:-55px;top:-75px;border:70px solid rgba(242,201,110,.9);border-radius:50%}.art-window{position:absolute;width:72%;height:70%;left:8%;top:18%;border-radius:19px;background:#f6f5ed;box-shadow:0 20px 45px rgba(15,55,78,.28);transform:rotate(-7deg);overflow:hidden}.art-window::before{content:"";display:block;height:34px;background:#114b67;border-radius:19px 19px 0 0}.art-window::after{content:"● ● ●";position:absolute;left:13px;top:3px;letter-spacing:4px;color:#8ac9de;font-size:14px}.art-window-inner{padding:26px 22px}.art-line{height:11px;border-radius:15px;background:#bfdae6;margin:11px 0;width:80%}.art-line.short{width:46%;background:#83c9e0;height:18px}.art-line.medium{width:67%}.art-tiles{display:flex;gap:8px;margin-top:25px}.art-tiles span{display:block;background:#d0e5ee;border-radius:9px;width:33%;height:80px}.art-tiles span:nth-child(2){background:#a4d6e5}.art-tiles span:nth-child(3){background:#83b9cc}.art-circle{position:absolute;border-radius:50%;width:130px;height:130px;background:#79bfd9;bottom:-37px;right:6%;box-shadow:0 12px 30px rgba(15,55,78,.2)}
.section{padding-block:86px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-heading h2,.callout h2,.page-title{font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.15;letter-spacing:-.05em;margin:0}.section-heading p{margin:0;max-width:400px;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service-card{display:flex;flex-direction:column;min-height:310px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;text-decoration:none;color:var(--ink);box-shadow:0 8px 30px rgba(20,45,58,.035);transition:transform .2s,box-shadow .2s,border-color .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px rgba(20,45,58,.1);border-color:#8eb9cc}.card-icon{display:grid;place-items:center;width:48px;height:48px;background:var(--light);border-radius:14px;color:var(--accent);font-size:1.4rem}.service-card:nth-child(3) .card-icon{background:#e6eef8}.service-card h3{margin:25px 0 10px;line-height:1.25;letter-spacing:-.025em;font-size:1.38rem}.service-card p{margin:0;color:var(--muted);font-size:.95rem}.card-more{margin-top:auto;padding-top:25px;font-weight:800;color:var(--accent)}.service-card:not(a) .card-more{display:none}.callout{background:var(--ink);color:white;border-radius:30px;padding:clamp(30px,5vw,65px);display:flex;align-items:center;justify-content:space-between;gap:30px}.callout .eyebrow{color:var(--sun)}.callout p{color:#cbdde5;margin:15px 0 0;max-width:600px}.site-footer{margin-top:84px;background:#eaf1f5;border-top:1px solid var(--line)}.footer-grid{padding-block:45px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}.footer-grid h2{font-size:1rem;margin:0 0 12px}.footer-grid p{margin:0;color:var(--muted);max-width:350px}.footer-grid ul{padding:0;margin:0;list-style:none}.footer-grid li+li{margin-top:7px}.footer-grid a{text-decoration:none;color:var(--ink)}.footer-grid a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);padding:18px 0;color:var(--muted);font-size:.87rem}.footer-bottom .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.content-shell{background:white;border-radius:var(--radius);padding:clamp(25px,5vw,60px);margin-top:55px;margin-bottom:55px;min-height:300px}.content-shell h1{line-height:1.15;letter-spacing:-.04em}.entry-content{max-width:850px}.entry-content>*:first-child{margin-top:0}.entry-content img{border-radius:12px}.post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.post-card{border:1px solid var(--line);border-radius:17px;padding:25px}.post-card h2{margin-top:0}.post-card a{text-decoration:none}.pagination{margin-top:25px}.woocommerce .content-shell{max-width:var(--width)}.woocommerce .products{clear:both}
@media(max-width:1020px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{gap:4%}.header-inner{min-height:75px}.primary-nav a{padding-inline:8px}}
@media(max-width:760px){.header-inner{flex-wrap:wrap;padding-block:12px}.header-actions{margin-left:auto}.menu-toggle{display:inline-flex}.primary-nav{display:none;order:3;width:100%}.primary-nav.is-open{display:block}.primary-nav .menu{display:block;padding:8px 0}.primary-nav li{border-top:1px solid var(--line)}.primary-nav a{padding:12px}.header-cta{display:none}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding-block:55px}.hero-visual{min-height:320px}.section{padding-block:60px}.section-heading{display:block}.section-heading p{margin-top:12px}.callout{display:block}.callout .button{margin-top:24px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:520px){.container{width:min(calc(100% - 28px),var(--width))}.card-grid,.post-list{grid-template-columns:1fr}.service-card{min-height:245px}.hero-visual{min-height:260px}.art-window{width:76%;height:72%}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.hero-buttons .button{width:100%}.hero h1{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Glasspipers' original painting and handmade glass provide the homepage scene. */
.hero-art{position:relative;background:#16283b}
.hero-art::before,.hero-art::after{content:"";position:absolute;inset:0;pointer-events:none}
.hero-art::before{background-image:var(--hero-background,url('assets/images/gallery-hero.png'));background-position:right center;background-size:cover;background-repeat:no-repeat;filter:brightness(1.3) saturate(1.04)}
.hero-art::after{background:linear-gradient(90deg,rgba(7,18,31,.38),rgba(7,18,31,.08) 55%,transparent)}
.hero-art .hero-grid{position:relative;z-index:1;display:flex;align-items:center;min-height:490px;padding-block:48px}
.hero-art .hero-content{position:relative;z-index:2;max-width:590px}
.hero-art .eyebrow{color:#b9dce9}
.hero-art h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.18)}
.hero-art p.hero-copy{color:#f2f7fa;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.hero-art .button{background:#e4f1f6;border-color:#e4f1f6;color:#10374a}
.hero-art .button:hover{background:#fff;color:#10374a}
.hero-glass{position:absolute;z-index:1;width:clamp(250px,25vw,340px);right:2%;bottom:5px;filter:drop-shadow(0 18px 20px rgba(4,13,26,.48));transform:rotate(-13deg);pointer-events:none}
.hero-glass img{display:block;width:100%;height:auto}
@media(max-width:760px){.hero-art::before{background-position:55% center}.hero-art .hero-grid{min-height:510px;padding-block:48px 85px}.hero-art .hero-content{max-width:560px}.hero-glass{width:205px;right:0;bottom:5px;opacity:.8}}
@media(max-width:520px){.hero-art::after{background:linear-gradient(90deg,rgba(7,18,31,.62),rgba(7,18,31,.22))}.hero-art .hero-grid{min-height:540px}.hero-glass{width:160px;right:-14px;bottom:5px;opacity:.68}}

/* Full-width web services template. All selectors are scoped to this page. */
.gp-web-page{--web-purple:#6a4bb1;--web-soft:#f1ecfa;--web-text:#3e5264;overflow:hidden}
.gp-web-page h2{font-size:clamp(1.8rem,3vw,2.75rem);line-height:1.17;letter-spacing:-.045em;margin:0 0 20px}
.gp-web-page h3{font-size:1.3rem;line-height:1.3;letter-spacing:-.025em}
.gp-web-page .eyebrow{color:var(--web-purple);font-size:.69rem;letter-spacing:.11em}
.gp-web-hero{position:relative;isolation:isolate;background:linear-gradient(130deg,#f9f7fc 0%,#edf0f8 50%,#e6def3 100%);border-bottom:1px solid #ded7ed}
.gp-web-hero::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.45;background:radial-gradient(ellipse at 85% 35%,#d1b9ed,transparent 48%),linear-gradient(90deg,transparent 49.7%,rgba(126,97,166,.075) 50%,transparent 50.3%);background-size:auto,68px 68px;pointer-events:none}
.gp-web-hero::after{content:"";position:absolute;z-index:-1;width:400px;height:245px;right:-130px;bottom:-85px;border:18px solid rgba(131,104,170,.08);border-top-width:45px;border-radius:24px;transform:rotate(-13deg);pointer-events:none}
.gp-web-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:60px;align-items:center;padding-block:78px 65px}
.gp-web-intro h1{font-size:clamp(2.5rem,4.9vw,4.5rem);line-height:1.05;letter-spacing:-.065em;margin:0 0 24px;overflow-wrap:break-word}
.gp-web-lead{font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.45;color:#354259;margin:0 0 22px;max-width:560px}
.gp-web-description{color:var(--web-text);margin:0 0 28px;line-height:1.8}
.gp-web-page .button{background:var(--web-purple);border-color:var(--web-purple)}
.gp-web-page .button:hover{background:#4e3489}
.gp-web-page .gp-web-button-secondary{background:rgba(255,255,255,.65);border-color:#cfc4e0;color:#514369}
.gp-web-page .gp-web-button-secondary:hover{background:white}
.gp-web-tags{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:26px 0 0}
.gp-web-tags li{border:1px solid #d7cee5;background:rgba(255,255,255,.4);border-radius:30px;padding:5px 13px;font-size:.8rem;color:#5d5270}
.gp-web-visual{position:relative;min-width:0;padding:35px 23px 100px 0}
.gp-web-browser,.gp-web-photo{position:relative;border-radius:16px;background:#fff;border:1px solid #d9d0e7;box-shadow:0 30px 75px rgba(73,51,109,.15);overflow:hidden;transform:rotate(-3deg)}
.gp-web-browser-bar{display:flex;align-items:center;gap:5px;padding:13px 16px;background:#f4f0f9;border-bottom:1px solid #e7e0ee}
.gp-web-browser-bar i{width:7px;height:7px;background:#c5b5da;border-radius:50%}.gp-web-browser-bar i:first-child{background:#d899b4}.gp-web-browser-bar i:nth-child(2){background:#dfc994}
.gp-web-browser-bar span{margin-left:12px;font-size:.65rem;color:#776a87}
.gp-web-browser-body{padding:24px;background:#fdfcff}
.gp-web-demo-nav{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-size:.65rem;letter-spacing:.05em;color:#574677}.gp-web-demo-nav b{margin-right:auto}.gp-web-demo-nav span{width:30px;height:4px;background:#ded5e9;border-radius:3px}
.gp-web-demo-hero{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;background:#eee7f6;padding:24px 18px;border-radius:10px;min-height:180px}
.gp-web-demo-hero i{display:block;height:9px;background:#baabcf;width:95%;border-radius:4px;margin-bottom:11px}.gp-web-demo-hero i:first-child{height:14px;background:#8d74b4;width:75%}.gp-web-demo-hero i:nth-child(3){width:65%}.gp-web-demo-hero em{display:block;background:#7655a5;border-radius:5px;width:60%;height:20px;margin-top:20px}
.gp-web-demo-art{height:130px;position:relative;background:linear-gradient(140deg,#b7c8da,#8267a8);border-radius:50% 50% 20% 20%;overflow:hidden}.gp-web-demo-art span{display:block;position:absolute;left:20%;top:23%;height:100px;width:100px;border:20px solid #e5dced;border-radius:50%}
.gp-web-demo-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.gp-web-demo-cards span{height:62px;background:#e9e3f0;border:1px solid #e0d9e9;border-radius:8px}.gp-web-demo-cards span:nth-child(2){background:#e0e9ef}
.gp-web-phone{position:absolute;right:0;bottom:68px;width:123px;min-height:232px;background:#fff;border:6px solid #3e3553;border-radius:23px;padding:15px 9px;box-shadow:0 15px 35px rgba(59,42,86,.2);transform:rotate(7deg)}
.gp-web-phone-speaker{width:30px;height:4px;background:#3e3553;border-radius:8px;position:absolute;top:5px;left:40px}
.gp-web-phone-art{height:72px;border-radius:7px;background:linear-gradient(135deg,#c3cfe2,#9472bd);margin:9px 0 15px}.gp-web-phone>i{display:block;width:90%;height:5px;border-radius:3px;background:#d3c7e2;margin:8px 0}.gp-web-phone>i:nth-of-type(2){width:70%}.gp-web-phone>span{display:block;width:65%;height:14px;border-radius:4px;background:#7956a8;margin-top:12px}.gp-web-phone-cards{display:flex;gap:7px;margin-top:16px}.gp-web-phone-cards b{height:30px;width:50%;background:#e7dfef;border-radius:5px}
.gp-web-visual-note{position:absolute;left:8%;right:10%;bottom:0;display:flex;align-items:center;gap:13px;border:1px solid #e5ddec;border-radius:15px;background:rgba(255,255,255,.9);padding:17px 20px;box-shadow:0 10px 25px rgba(70,53,97,.06)}
.gp-web-note-icon{display:grid;place-items:center;background:#ede5f8;color:#6a4bb1;border-radius:11px;width:38px;height:38px;flex-shrink:0;font-size:1.4rem}.gp-web-visual-note strong{display:block;font-size:.95rem}.gp-web-visual-note div>span{display:block;font-size:.75rem;color:#71627f;line-height:1.5;margin-top:3px}
.gp-web-project-image{display:block;width:100%;max-height:440px;object-fit:contain;background:#f8f5fb}.gp-web-photo{transform:none}
.gp-web-services,.gp-web-work,.gp-web-process{padding-block:72px}
.gp-web-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:end;margin-bottom:32px}.gp-web-heading h2{margin-bottom:0}.gp-web-heading>p{margin:0;color:var(--muted)}
.gp-web-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gp-web-service{position:relative;background:#fff;border:1px solid #e0d9e9;border-radius:20px;padding:29px;box-shadow:0 8px 24px rgba(44,34,63,.03)}
.gp-web-service-number{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#eee7f7;color:#7354a0;font-weight:800;font-size:.85rem}.gp-web-service h3{margin:22px 0 13px}.gp-web-service p{color:var(--muted);font-size:.95rem;margin:0 0 22px}.gp-web-service ul{padding-left:19px;margin:0;color:#49556a;font-size:.88rem}.gp-web-service li+li{margin-top:8px}.gp-web-service li::marker{color:#9673bc}
.gp-web-detail-section{background:#ede8f5;border-block:1px solid #e0d8eb;padding-block:65px}.gp-web-detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.gp-web-detail-grid p{color:#536072;margin-bottom:0}.gp-web-detail-card{background:rgba(255,255,255,.8);border:1px solid #ded3ec;border-radius:19px;padding:32px}.gp-web-detail-card h3{margin:0 0 15px}.gp-web-detail-card ul{padding-left:20px;margin-bottom:0;color:#536072}.gp-web-detail-card li+li{margin-top:9px}
.gp-web-existing-content{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(22px,4vw,46px)}
.gp-web-existing-content .entry-content{max-width:none;width:100%;overflow-wrap:anywhere}.gp-web-existing-content .entry-content::after{content:"";display:table;clear:both}
.gp-web-existing-content .entry-content>table{width:100%;table-layout:fixed}.gp-web-existing-content .entry-content iframe,.gp-web-existing-content .entry-content video{max-width:100%}
.gp-web-existing-content .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:24px 0}
.gp-web-existing-content .gallery-item{float:none!important;width:auto!important;margin:0!important}.gp-web-existing-content .gallery img{width:100%;height:auto;border:0!important}.gp-web-existing-content .gallery-caption{margin-top:10px;font-size:.87rem;color:var(--muted)}
.gp-web-process{padding-top:10px}.gp-web-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:26px}.gp-web-process-grid>li{border-top:2px solid #cfc0df;padding-top:22px}.gp-web-process-grid>li>span{font-size:.8rem;color:#8968af;font-weight:800}.gp-web-process-grid h3{font-size:1.08rem;margin:12px 0}.gp-web-process-grid p{color:var(--muted);font-size:.9rem;margin:0}
.gp-web-contact .callout{background:linear-gradient(120deg,#29374c,#60467b)}.gp-web-page .button-light{background:white;border-color:white;color:#403152}.gp-web-page .button-light:hover{background:#f1eaf8}
@media(max-width:1000px){.gp-web-hero-grid{gap:35px;padding-block:60px}.gp-web-service{padding:24px}.gp-web-heading{gap:30px}.gp-web-detail-grid{gap:35px}.gp-web-browser-body{padding:17px}.gp-web-demo-hero{padding:18px 12px}.gp-web-phone{width:105px}.gp-web-phone-speaker{left:31px}.gp-web-visual-note{left:0;right:0}}
@media(max-width:760px){.gp-web-hero-grid{grid-template-columns:1fr;gap:30px;padding-block:46px}.gp-web-intro{max-width:650px}.gp-web-visual{width:100%;max-width:520px;margin:auto;padding-right:35px}.gp-web-heading,.gp-web-detail-grid{grid-template-columns:1fr;gap:20px}.gp-web-service-grid{grid-template-columns:1fr}.gp-web-service{padding:28px}.gp-web-services,.gp-web-work{padding-block:48px}.gp-web-detail-section{padding-block:45px}.gp-web-process{padding-bottom:48px}.gp-web-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gp-web-existing-content .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gp-web-page .eyebrow{letter-spacing:.07em;font-size:.65rem}}
@media(max-width:480px){.gp-web-intro h1{font-size:2.45rem;letter-spacing:-.045em}.gp-web-visual{padding:18px 16px 90px 0}.gp-web-demo-hero{min-height:145px}.gp-web-demo-art{height:95px}.gp-web-demo-art span{width:80px;height:80px;border-width:16px}.gp-web-browser-body{padding:15px}.gp-web-demo-cards{gap:7px}.gp-web-demo-cards span{height:45px}.gp-web-phone{width:94px;min-height:205px;bottom:75px;right:-2px}.gp-web-phone-speaker{left:25px}.gp-web-phone-art{height:55px}.gp-web-visual-note{padding:13px;gap:10px}.gp-web-visual-note div>span{font-size:.7rem}.gp-web-process-grid{grid-template-columns:1fr}.gp-web-existing-content .gallery{grid-template-columns:1fr}.gp-web-detail-card{padding:24px}.gp-web-existing-content .entry-content>table,.gp-web-existing-content .entry-content>table>tbody,.gp-web-existing-content .entry-content>table>tbody>tr,.gp-web-existing-content .entry-content>table>tbody>tr>td{display:block;width:100%!important}}

/* Two editable work images, with their original proportions. */
.gp-web-photo-stack{display:grid;gap:20px}
.gp-web-photo-stack .gp-web-project-image{height:auto;max-height:none}

/* 0.6.2: editable footer contacts and optional full-width contact form. */
.footer-grid > div { min-width: 0; }
.gp-footer-contact p + p { margin-top: 10px; }
.gp-footer-contact a, .gp-footer-contact p { overflow-wrap: anywhere; }
.gp-footer-help { font-size: .9rem; }
.gp-footer-form-wrap { padding-bottom: 40px; }
.gp-footer-form { max-width: 850px; margin-inline: auto; padding: clamp(20px, 4vw, 36px); background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.gp-footer-form h2 { margin: 0 0 20px; font-size: 1.5rem; }
.gp-footer-form :is(input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="number"], textarea, select) { box-sizing: border-box; max-width: 100%; width: 100%; }
.gp-footer-form textarea { min-height: 130px; }
.gp-footer-form p { margin: 0 0 16px; }
/* 0.6.3: accessible header dropdowns and compact WPML language flags. */
.primary-nav li { position: relative; }
.primary-nav .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 30;
    min-width: 180px;
    width: max-content;
    max-width: min(300px, calc(100vw - 40px));
    margin: 0;
    padding: 6px;
    list-style: none;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--white);
    box-shadow: 0 12px 28px rgba(20,45,58,.14);
}
.primary-nav .gp-submenu-open > .sub-menu { display: block; }
.primary-nav:not(.gp-dropdown-ready) .menu-item-has-children:focus-within > .sub-menu { display: block; }
@media (hover: hover) and (pointer: fine) {
    .primary-nav:not(.gp-dropdown-ready) .menu-item-has-children:hover > .sub-menu { display: block; }
}
.primary-nav .sub-menu a { white-space: normal; overflow-wrap: anywhere; }
.primary-nav .gp-has-submenu > a { display: inline-flex; align-items: center; gap: 8px; }
.primary-nav .gp-submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    min-height: 36px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--ink);
    vertical-align: middle;
    cursor: pointer;
}
.primary-nav .gp-language-toggle { cursor: pointer; }
.primary-nav .gp-submenu-toggle::after,
.primary-nav .gp-language-toggle::after {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-top: -4px;
    flex-shrink: 0;
}
.primary-nav .gp-submenu-open > .gp-submenu-toggle::after,
.primary-nav .gp-submenu-open > .gp-language-toggle::after { transform: rotate(225deg); margin-top: 4px; }
.primary-nav .gp-submenu-toggle:hover { background: var(--light); }
.site-header img.wpml-ls-flag,
.site-footer img.wpml-ls-flag {
    display: inline-block;
    width: 24px !important;
    height: 16px !important;
    max-width: 24px;
    object-fit: contain;
    border-radius: 0;
    vertical-align: middle;
}
.primary-nav .wpml-ls-menu-item > .sub-menu,
.primary-nav .wpml-ls-item > .sub-menu { min-width: 72px; }
/* This site's language selector belongs in the header, even with a shared menu. */
.footer-grid .wpml-ls-menu-item,
.footer-grid .wpml-ls-item { display: none; }
@media (max-width: 760px) {
    .primary-nav .sub-menu {
        position: static;
        width: auto;
        max-width: 100%;
        min-width: 0;
        margin: 0 0 8px 12px;
        box-shadow: none;
    }
    .primary-nav .sub-menu li { border-top: 0; }
    .primary-nav .gp-submenu-toggle { min-height: 44px; }
    .primary-nav .wpml-ls-menu-item > .sub-menu,
    .primary-nav .wpml-ls-item > .sub-menu { width: max-content; min-width: 72px; }
}

/* Keep checkout at the right edge, visible beside the mobile menu toggle. */
.header-actions{order:2;flex-shrink:0}
.primary-nav{margin-left:auto;flex:1;min-width:0}
.primary-nav>.menu{flex-wrap:wrap;justify-content:flex-end}
.header-checkout{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;color:var(--accent);background:white;font-size:.93rem;font-weight:700;text-decoration:none;white-space:nowrap}
.header-checkout:hover{background:var(--light);color:var(--ink)}
.header-checkout:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:760px){.header-inner{gap:14px}.primary-nav{flex:0 0 100%}.header-actions{gap:8px}.header-checkout{padding-inline:10px}.site-brand{min-width:0}.custom-logo,.theme-wordmark{max-width:min(220px,40vw)}}
