#request-dialog{width:min(590px,calc(100% - 32px));max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain}#request-dialog [hidden]{display:none!important}.request-address{border:1px solid #eee0d3;border-radius:14px;margin:20px 0 14px;padding:8px 14px 0;min-width:0}.request-address legend{font-size:12px;padding:0 7px;color:#8e6f57}.address-street{grid-template-columns:2fr 1fr}.request-field-note,.request-price-note{font-size:10px;color:#8c7868;line-height:1.9;margin:7px 0 14px}.privacy-label{align-items:flex-start!important;font-size:11px!important;line-height:2}.privacy-label input{margin-top:5px;flex-shrink:0}.privacy-label a{color:#b44108;text-decoration:underline;text-underline-offset:3px}.request-error{margin:16px 0;padding:12px 15px;background:#fff1e9;border:1px solid #efbb9a;border-radius:12px;color:#923b0b;font-size:12px;line-height:2}#request-dialog input:focus,#request-dialog select:focus,#request-dialog textarea:focus{outline:2px solid #ff4e00;outline-offset:2px}#request-dialog small{font-size:9px;color:#968373;margin-inline-start:6px}#submit-request:disabled{opacity:.65;cursor:wait;transform:none}#request-result-message{font-size:13px;line-height:2;margin:15px 0}#request-summary{white-space:pre-line;font-size:12px;line-height:2;background:#fff7ee;border-radius:12px;padding:14px;margin-bottom:20px}#request-dialog .form-row>*{min-width:0}#request-dialog input{width:100%}#request-dialog input[type=checkbox]{width:auto}.request-address .form-row{gap:12px}.header nav{gap:24px}@media(max-width:900px) and (min-width:641px){.header nav{gap:14px}.header nav a{font-size:11px}.nav-wrap{gap:20px}.nav-cta{padding-inline:14px;gap:9px}}@media(max-width:420px){#request-dialog{padding:27px 19px;max-height:calc(100dvh - 24px)}#request-dialog .form-row{gap:10px}#request-dialog label{font-size:11px}.request-address{padding-inline:10px}.privacy-label{font-size:10px!important}}

/* Freiform product preview and optional request details. */
.hero-flyer.freiform-hero{width:92%;max-width:560px;animation:none;border-radius:24px;filter:drop-shadow(0 18px 28px #0f0f0f12)}
#freiform-preview{margin:0 0 22px;padding:14px;background:#f5f5f0;border-radius:18px;text-align:center}
#freiform-preview img{display:block;width:100%;max-width:260px;height:220px;object-fit:contain;margin:auto;border-radius:12px}
#freiform-preview figcaption{font-size:12px;font-weight:600;margin-top:10px}
#freiform-price-note{font-size:11px;line-height:1.8;color:#686863;margin:8px 0 16px}
.optional-address{margin:14px 0;border:1px solid #ede3db;border-radius:14px;padding:0 14px}
.optional-address summary{padding:14px 0;color:#b83500}.optional-address .request-address{margin-top:0}
#request-whatsapp{margin:8px 0;border:1px solid #ff4e00;color:#b83500;background:#fff0e8}
.whatsapp-hint{font-size:11px;line-height:1.8;color:#686863;margin:0 0 20px}
@media(max-width:640px){.hero-flyer.freiform-hero{width:90%;max-width:380px}#freiform-preview img{height:180px}}

/* WordPress themes may reset the browser's default dialog margin to zero.
   Explicit viewport positioning keeps the modal centered in both languages. */
dialog#request-dialog[open]{position:fixed!important;inset:0!important;margin:auto!important;transform:none!important;translate:none!important;box-sizing:border-box!important;width:min(590px,calc(100vw - 32px))!important;height:fit-content!important;max-height:calc(100vh - 32px)!important;max-height:calc(100dvh - 32px)!important;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:420px){dialog#request-dialog[open]{width:calc(100vw - 24px)!important;max-height:calc(100vh - 24px)!important;max-height:calc(100dvh - 24px)!important}}
/* Larger transparent product artwork; address remains visible and optional. */
#freiform-preview{padding:0;background:transparent;margin:0 0 24px}
#freiform-preview img{width:100%;max-width:480px;height:auto;max-height:none;object-fit:contain;border-radius:0}
#freiform-preview figcaption{margin-top:12px}
@media(max-width:640px){#freiform-preview img{height:auto;max-width:100%}}

.request-uploads{margin:20px 0;padding:16px;border:1px dashed #ff4e0070;border-radius:16px;min-width:0;background:#fff8f3}
.request-uploads legend{font-size:13px;font-weight:700;padding:0 8px}.request-uploads p{font-size:12px;line-height:1.9;color:#686863;margin-bottom:12px}
#design-files{width:100%;padding:10px;background:white;border:1px solid #e5e5df;border-radius:10px;font-size:12px}
#design-files::file-selector-button{background:#ff4e00;color:#0f0f0f;border:0;border-radius:6px;padding:8px 12px;margin-inline-end:10px;cursor:pointer}
#design-files-limits{font-size:10px;margin-top:8px}#design-file-list{padding-inline-start:20px;font-size:11px;overflow-wrap:anywhere}
#clear-design-files{color:#b83500;font-size:11px;margin:10px 0}

.service-specific-fields{min-width:0;margin:20px 0;padding:17px;border:1px solid #ff4e0050;border-radius:16px;background:#fffaf6}
.service-specific-fields legend{padding:0 8px;font-size:13px;font-weight:700}
.service-specific-fields legend small{font-weight:400;color:#666;margin-inline-start:5px}
.service-specific-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 15px}
.service-specific-grid>div:last-child:nth-child(odd){grid-column:1/-1}
.service-specific-grid label{font-size:12px;line-height:1.6;margin:0 0 6px}
.service-specific-grid input,.service-specific-grid select{width:100%;min-height:42px}
@media(max-width:500px){.service-specific-grid{grid-template-columns:1fr}.service-specific-grid>div:last-child:nth-child(odd){grid-column:auto}}

/* Present the supplied JPG itself, including its original white background. */
.brand:has(.brand-logo){display:block;position:relative;flex:0 0 110px;width:110px;min-width:110px;height:73px;overflow:hidden;background:#fff}
.brand-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:174px;max-width:none;height:auto}
@media(max-width:640px){.brand:has(.brand-logo){flex-basis:82px;width:82px;min-width:82px;height:54px}.brand-logo{width:132px}}

/* Crop only the empty paper and lower word in the header; the source logo stays untouched. */
.brand-header:has(.brand-logo){height:45px;background:transparent}
.brand-header .brand-logo{top:-50px;transform:translateX(-50%);mix-blend-mode:multiply}
.about-art:has(.about-logo){background:#ffe1d3;border:1px solid #ffd0bd}
.about-logo{display:block;width:min(80%,470px);max-width:none;height:auto;flex:none;color:#ff4e00;animation:about-logo-float 7s ease-in-out infinite;transform-origin:center}
.about-art:has(.about-logo) small{color:#8a3b1e;font-weight:700}
@keyframes about-logo-float{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(-5deg)}}
@media(max-width:640px){.brand-header:has(.brand-logo){height:34px}.brand-header .brand-logo{top:-38px}.about-logo{width:86%}}
@media(prefers-reduced-motion:reduce){.about-logo{animation:none;transform:rotate(-8deg)}}
.product-prices{max-width:1280px;margin:64px auto;padding:32px 24px;scroll-margin-top:110px}.product-prices>h2{font-size:clamp(28px,4vw,44px);margin-bottom:16px}.product-prices>p{line-height:1.8;color:#666;margin-bottom:28px}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.price-card{padding:24px;border:1px solid #ff4e0033;border-radius:20px;background:#fffdf9;display:flex;flex-direction:column;min-width:0}.price-card h3{font-size:19px;line-height:1.5;margin:0 0 16px}.price-card ul{list-style:none;padding:0;margin:0 0 16px}.price-card li{padding:8px 0;border-bottom:1px solid #eee5df;font-size:14px;font-variant-numeric:tabular-nums}.price-card p{font-size:13px;line-height:1.8;margin-bottom:18px;color:#666}.price-card button{margin-top:auto;border:0;border-radius:24px;background:#ff4e00;color:#0f0f0f;padding:12px 18px;font:inherit;cursor:pointer}.price-other{margin-top:28px;padding:24px;background:#fff2e9;border-radius:20px}.price-other h3{margin-bottom:16px}.price-other button{display:inline-block;margin:6px;padding:12px;border:1px solid #e7c6b1;border-radius:12px;background:transparent;color:#873100;cursor:pointer;font:inherit;font-size:13px}.price-card button:focus-visible,.price-other button:focus-visible{outline:3px solid #873100;outline-offset:3px}@media(max-width:900px){.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.price-grid{grid-template-columns:1fr}.product-prices{padding:24px 16px}}
