.levaro-menu{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.levaro-menu li{margin:0}.levaro-menu .current-menu-item>a{color:#72bfe7}.levaro-menu ul{list-style:none}.header .custom-logo-link img{width:220px;height:auto;max-height:64px;object-fit:contain}.skip-link{position:absolute;left:16px;top:-100px;z-index:100000;background:#fff;padding:12px;color:#09202b}.skip-link:focus{top:12px}.admin-bar .header{top:32px}.levaro-page-content>*:not(.section):not(.value-strip){max-width:1280px;margin-left:auto;margin-right:auto}.levaro-page-content>p,.levaro-page-content>.wp-block-heading,.reading-content{max-width:900px}.reading-content{margin:auto;padding-top:100px}.entry{padding:30px 0;border-bottom:1px solid #dfe5e8}.entry p{line-height:1.8}.entry h2{font-size:28px}.levaro-page-content p{line-height:1.7}.form-error{color:#a92727;line-height:1.5}.honeypot{position:absolute;left:-10000px;opacity:0;pointer-events:none}.wp-block-image img{height:auto}.alignwide{max-width:1280px}.alignfull{max-width:none}.wp-block-table{overflow:auto}.pagination .nav-links{display:flex;justify-content:center;gap:12px;margin:40px 0}.page-numbers{padding:10px 16px;border:1px solid #dce5ea;border-radius:4px}.page-numbers.current{background:#287ca6;color:#fff}.catalog-query{display:flex;flex-wrap:wrap;gap:18px;align-items:end;margin-bottom:30px}.catalog-query label{display:grid;gap:8px;font-size:13px}.catalog-query input,.catalog-query select{padding:12px;border:1px solid #c9d4db;background:#fff;border-radius:4px;font:inherit}.catalog-query input[type=search]{min-width:260px}.catalog-query .button{min-height:45px;padding:12px 20px}.catalog-status{display:flex;justify-content:space-between;margin-bottom:24px}.catalog-loading{opacity:.45;pointer-events:none}.privacy-placeholder{padding:20px;background:#edf5fa;border-left:3px solid #287ca6}.door-fallback{aspect-ratio:2/3;background:#e2e7e9;display:grid;place-items:center}.wp-site-blocks{padding:0}.form-note{line-height:1.5}.product-info .product-lead p{margin:0}.footer-bottom a{color:inherit}.admin-bar .back-top{bottom:30px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4ba7d6;outline-offset:4px}@media(max-width:1050px){.levaro-menu{gap:14px}.header .levaro-menu a{font-size:12px}}@media(max-width:900px){.header .levaro-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%}.header .levaro-menu a{font-size:20px;display:block}.header #main-nav .levaro-menu li{width:100%}}@media(max-width:782px){.admin-bar .header{top:46px}}@media(max-width:600px){.catalog-query{display:grid;grid-template-columns:1fr 1fr}.catalog-query label:first-child{grid-column:1/-1}.catalog-query input[type=search]{min-width:0;width:100%}.catalog-query .button{width:100%}.catalog-status{gap:12px;font-size:13px}.levaro-page-content>p{padding:0 20px}}
.catalog-query>*{min-width:0}.catalog-query input,.catalog-query select{max-width:100%;box-sizing:border-box;width:100%}@media(max-width:600px){.catalog-query{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* Mobile navigation drawer. */
.menu-backdrop,.menu-caption{display:none}
@media(max-width:1050px){
 body.mobile-menu-open{overflow:hidden}
 .header .menu-backdrop{display:block;position:fixed;inset:0;background:#03101899;backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s;z-index:1}
 .header #main-nav{display:flex;position:fixed;inset:0 0 0 auto;width:min(420px,88vw);height:100dvh;padding:100px 28px 40px;box-sizing:border-box;justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(145deg,#172f40,#0c1b26 72%);border:0;border-left:1px solid #75bde32b;box-shadow:-24px 0 70px #0005;transform:translateX(105%);visibility:hidden;transition:transform .52s cubic-bezier(.22,1,.36,1),visibility .52s;z-index:2}
 .header.menu-open #main-nav{transform:translateX(0);visibility:visible}
 .header.menu-open .menu-backdrop{opacity:1;visibility:visible}
 .header .menu-caption{display:block;color:#74bce4;font-size:10px;letter-spacing:2px;text-transform:uppercase;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #ffffff18}
 .header #main-nav .levaro-menu{gap:0}
 .header #main-nav .levaro-menu a{font-size:clamp(19px,5.5vw,27px);font-weight:500;line-height:1.25;white-space:normal;padding:19px 0;border-bottom:1px solid #ffffff12;color:#e9f3f8;transition:color .2s,transform .2s}
 .header #main-nav .levaro-menu a:hover,.header #main-nav .levaro-menu a:focus-visible{color:#73c8f6;transform:translateX(5px)}
 .header #main-nav .levaro-menu li{opacity:0;transform:translateX(22px);transition:opacity .3s ease,transform .4s cubic-bezier(.22,1,.36,1)}
 .header.menu-open #main-nav .levaro-menu li{opacity:1;transform:none;transition-delay:calc(80ms + var(--menu-index,0)*45ms)}
 .header #main-nav li:nth-child(2){--menu-index:1}.header #main-nav li:nth-child(3){--menu-index:2}.header #main-nav li:nth-child(4){--menu-index:3}.header #main-nav li:nth-child(5){--menu-index:4}.header #main-nav li:nth-child(6){--menu-index:5}
 .header .menu-toggle{z-index:3;position:relative}
 .header.menu-open .menu-toggle{position:fixed;right:6%;top:23px;width:32px;height:32px}
 .header.menu-open .menu-toggle span{width:24px;background:#e9f3f8}
 .header.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .header.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .admin-bar .header #main-nav{top:32px;height:calc(100dvh - 32px)}
 .admin-bar .header.menu-open .menu-toggle{top:55px}
}
@media(max-width:782px){.admin-bar .header #main-nav{top:46px;height:calc(100dvh - 46px)}.admin-bar .header.menu-open .menu-toggle{top:69px}}
@media(max-width:640px){.header.menu-open .menu-toggle span:first-child{transform:translateY(3px) rotate(45deg)}.header.menu-open .menu-toggle span:last-child{transform:translateY(-3px) rotate(-45deg)}}
@media(prefers-reduced-motion:reduce){.header #main-nav,.header .menu-backdrop,.header #main-nav .levaro-menu li{transition:none!important}}

/* Compact inquiry dialog and uncropped category photography. */
#order-dialog{width:min(520px,calc(100% - 24px));padding:22px 24px;max-height:calc(100dvh - 24px)}
#order-dialog .eyebrow{font-size:8px;letter-spacing:1.6px;margin:0 35px 8px 0}
#order-dialog h2{font-size:28px;line-height:1.15;margin:0;letter-spacing:-.8px}
#order-dialog .dialog-intro{font-size:11px;line-height:1.45;margin:8px 0 12px}
#order-dialog .close{top:10px;right:12px;width:32px;height:32px;font-size:27px}
#order-dialog .selected-product{gap:13px;padding:9px 12px;margin:0 0 12px}
#order-dialog .selected-product .door-photo{width:44px;height:66px;object-fit:contain}
#order-dialog .selected-product h3{font-size:17px;line-height:1.2;margin:0 0 4px}
#order-dialog .selected-product p{font-size:10px;line-height:1.35;margin:3px 0}
#order-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px}
#order-form .quantity-row,#order-form .variant-field,#order-form .field:has(textarea),#order-form .consent,#order-form .submit,#order-form .form-note,#order-form .form-error{grid-column:1/-1}
#order-form .quantity-row{margin:0;font-size:11px;min-height:32px}
#order-form .stepper button{width:30px;height:30px}
#order-form .stepper input{width:38px;font-size:14px}
#order-form .field{margin:0;font-size:11px;line-height:1.3;min-width:0}
#order-form .field input,#order-form .field textarea,#order-form .field select{width:100%;min-height:38px;height:38px;padding:9px 10px;margin-top:5px;font-size:13px;line-height:1.3;border:1px solid #d6e3ec;border-radius:4px;background:#fff}
#order-form .field textarea{height:42px;min-height:42px;max-height:80px;resize:vertical}
#order-form .consent{margin:2px 0;font-size:10px;line-height:1.4;gap:8px}
#order-form .submit{min-height:42px;padding:11px 16px;font-size:12px}
#order-form .form-note{font-size:9px;line-height:1.35;margin:0}
#order-form .form-error{font-size:11px;margin:0}
.direction-grid{align-items:stretch}
.direction-grid .direction-card{display:flex;flex-direction:column}
.direction-grid .direction-card h3{line-height:1.3;min-height:2.6em}
.direction-grid .direction-card>p{line-height:1.6;min-height:3.2em}
.direction-grid .direction-card .direction-photo{height:auto;aspect-ratio:2/3;width:100%;margin-top:auto;flex-shrink:0}
.direction-grid .direction-photo img{object-fit:contain;object-position:center;width:100%;height:100%}
.direction-grid .direction-card:hover img{transform:none}
@media(max-width:640px){
 #order-dialog{padding:18px 16px}
 #order-dialog h2{font-size:25px}
 #order-dialog .dialog-intro{font-size:10px;margin:7px 0 10px}
 #order-form{gap:9px 10px}
 #order-form .field input,#order-form .field textarea,#order-form .field select{font-size:16px;padding:8px;letter-spacing:-.3px}
 #order-form .field input::placeholder,#order-form .field textarea::placeholder{font-size:11px;letter-spacing:0}
 .direction-grid .direction-card:last-child{grid-column:auto;display:flex}
 .direction-grid .direction-card:last-child h3{font-size:13px;min-height:2.6em;margin:15px 12px 7px}
 .direction-grid .direction-card:last-child>p{font-size:8px;min-height:3.2em;margin:0 12px 15px}
 .direction-grid .direction-card:last-child .direction-photo{height:auto;aspect-ratio:2/3}
}
@media(max-height:620px){
 #order-dialog{padding:14px 16px}
 #order-dialog .eyebrow{margin-bottom:5px;font-size:7px}
 #order-dialog h2{font-size:23px}
 #order-dialog .dialog-intro{margin:6px 0 8px;font-size:10px}
 #order-dialog .selected-product{padding:6px 10px;margin-bottom:8px}
 #order-dialog .selected-product .door-photo{width:34px;height:51px}
 #order-form{gap:7px 10px}
}
#order-dialog [hidden]{display:none!important}

/* Product grids share the original portrait framing. */
.products .product{display:flex;flex-direction:column;min-width:0}
.products .product .product-image-button{height:auto;aspect-ratio:2/3;width:100%;flex-shrink:0;background:#e7edf1;border:1px solid #dbe5eb}
.products .product .product-image-button .door-photo{width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
.products .product .product-image-button:hover .door-photo{transform:none}
.products .product .badge{max-width:calc(100% - 32px);white-space:normal;line-height:1.5}
.products .product .product-meta{gap:12px;min-height:18px;margin-top:17px}
.products .product .product-category{line-height:1.5;overflow-wrap:anywhere}
.products .product h3{font-size:25px;line-height:1.25;margin:8px 0;overflow-wrap:anywhere}
.products .product .product-description{font-size:12px;line-height:1.55;min-height:3.1em;margin:0 0 16px}
.products .product .product-bottom{margin-top:auto;min-height:54px;gap:12px;flex-wrap:nowrap;align-items:center}
.products .product .price{white-space:nowrap}
.products .product .order-button{white-space:nowrap;flex-shrink:0}
@media(max-width:640px){
 .products .product h3{font-size:25px}
 .products .product .product-description{font-size:11px;min-height:0;margin-bottom:15px}
 .products .product .product-meta{margin-top:15px}
 .products .product .product-bottom{gap:8px}
 .products .product .price{font-size:22px}
 .products .product .order-button{font-size:11px;padding:10px 14px}
}
#order-form .phone-input{position:relative;width:100%}
#order-form .phone-input .phone-prefix{position:absolute;left:10px;top:50%;transform:translateY(calc(-50% + 2.5px));font-size:13px;line-height:1;color:#1a2d38;pointer-events:none;user-select:none}
#order-form .phone-input input{padding-left:36px}
@media(max-width:640px){#order-form .phone-input .phone-prefix{font-size:16px}#order-form .phone-input input{padding-left:36px}}
/* The country code and masked number use one shared text baseline. */
#order-form .phone-input{display:flex;align-items:center;gap:6px;margin-top:5px;height:38px;padding:0 10px;border:1px solid #d6e3ec;border-radius:4px;background:#fff;font-size:13px;line-height:1.3;color:#1a2d38}
#order-form .phone-input .phone-prefix{position:static;transform:none;flex-shrink:0;font:inherit;line-height:inherit;color:inherit}
#order-form .phone-input input{flex:1;min-width:0;width:0;height:36px;min-height:0;margin:0;padding:0;border:0;background:transparent;font:inherit;line-height:inherit;color:inherit;letter-spacing:0}
#order-form .phone-input input:focus,#order-form .phone-input input:focus-visible{outline:none}
#order-form .phone-input:focus-within{outline:3px solid #4ba7d6;outline-offset:4px}
@media(max-width:640px){#order-form .field:has(.phone-input),#order-form .field:has(input[name=name]){grid-column:1/-1}#order-form .phone-input{font-size:16px}#order-form .phone-input input::placeholder{font:inherit;letter-spacing:0}}
