/* Shared storefront footer. */
.storefront .print-footer { position: relative; overflow: hidden; background: #102e3c; color: #d0e0e7; }
.print-footer::before { content: ''; display: block; height: 4px; background: linear-gradient(to right, #00aeef 0 33.33%, #ec008c 33.33% 66.66%, #ffda00 66.66%); }
.print-footer-invite { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 53px 0 45px; border-bottom: 1px solid #ffffff24; }
.print-footer-eyebrow { display: flex; align-items: center; gap: 11px; color: #cee0e8; font-size: 10px; font-weight: 650; text-transform: uppercase; letter-spacing: 1.6px; }
.storefront .print-footer-invite h2 { margin-top: 19px; font-size: clamp(36px, 4vw, 50px); font-weight: 750; line-height: 1.09; letter-spacing: -1.9px; color: #fff; }
.print-footer-invite h2>span { color: #ffda32; }
.print-footer-intro { margin-top: 18px; font-size: 13px; line-height: 1.8; color: #c1d5df; }
.print-footer-action { flex-shrink: 0; }
.print-footer-whatsapp { display: flex; align-items: center; gap: 14px; min-height: 60px; padding: 10px 12px 10px 21px; border: 1px solid #ffda32; border-radius: 12px; background: #ffda32; color: #102e3c; font-size: 16px; font-weight: 750; transition: background .2s, transform .2s; }
.print-footer-whatsapp>svg { display: block; width: 28px; height: 32px; flex: 0 0 28px; fill: currentColor; stroke: none; }
.print-footer-action-arrow { display: grid; place-items: center; width: 38px; height: 38px; margin-left: 17px; border-radius: 8px; background: #102e3c0f; font-size: 25px; line-height: 1; }
.print-footer-whatsapp:hover { background: #ffe45d; transform: translateY(-2px); }
.print-footer-action>p { margin-top: 13px; text-align: center; font-size: 11px; color: #b9d0dc; }
.print-footer-grid { display: grid; grid-template-columns: 1.15fr 1fr 1.05fr 1.2fr; gap: 42px; padding: 38px 0 32px; }
.print-footer-grid>* { min-width: 0; }
.print-footer-logo { display: flex; align-items: center; width: fit-content; max-width: 100%; padding: 0; background: transparent; }
.print-footer-logo img { width: 242px; height: auto; filter: brightness(0) invert(1); }
.print-footer-brand-block>p { margin-top: 18px; color: #c1d5df; font-size: 13px; line-height: 1.75; }
.print-footer-colorbar { display: flex; width: 92px; height: 6px; gap: 3px; margin-top: 22px; }
.print-footer-colorbar i { flex: 1; background: #00aeef; border-radius: 1px; }
.print-footer-colorbar i:nth-child(2) { background: #ec008c; }
.print-footer-colorbar i:nth-child(3) { background: #ffda00; }
.print-footer-colorbar i:nth-child(4) { background: #5b7785; }
.print-footer-signature { display: block; margin-top: 13px; font-size: 10px; color: #9fb9c7; letter-spacing: .3px; }
.storefront .print-footer-grid h2 { color: #fff; font-size: 16px; font-weight: 750; letter-spacing: -.15px; line-height: 1.4; margin-bottom: 12px; }
.print-footer-links>a { display: flex; align-items: center; width: fit-content; min-height: 30px; padding: 4px 0; color: #c1d5df; font-size: 12px; line-height: 1.5; text-underline-offset: 5px; overflow-wrap: anywhere; }
.print-footer-links>a:hover { color: #fff; text-decoration: underline; text-decoration-color: #00aeef; }
.print-footer-info>a:hover { text-decoration-color: #ee4696; }
.print-footer-contact { padding-left: 27px; border-left: 1px solid #ffffff24; }
.print-footer-contact>p { color: #c1d5df; font-size: 12px; line-height: 1.8; }
.print-footer-phone { display: flex; align-items: center; gap: 10px; width: fit-content; min-height: 44px; margin-top: 12px; color: #ffda32; font-size: 21px; line-height: 1.5; font-weight: 750; letter-spacing: -.4px; }
.print-footer-phone>span { flex-shrink: 0; font-size: 20px; }
.print-footer-phone:hover { color: #ffe988; }
.print-footer-email { display: flex; align-items: center; width: fit-content; min-height: 40px; color: #e1edf2; font-size: 12px; overflow-wrap: anywhere; }
.print-footer-email:hover { text-decoration: underline; text-underline-offset: 4px; }
.print-footer-contact .print-footer-address { margin-top: 13px; overflow-wrap: anywhere; }
.print-footer-contact .print-footer-contact-note { margin-top: 15px; padding-top: 12px; border-top: 1px solid #ffffff18; font-size: 11px; color: #9fb9c7; }
.print-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; border-top: 1px solid #ffffff24; color: #a8c0cd; font-size: 11px; }
.print-footer-admin { display: inline-flex; align-items: center; gap: 18px; min-height: 36px; color: #a8c0cd; }
.print-footer-admin:hover { color: #fff; }
.storefront .print-footer a:focus-visible { outline: 3px solid #ffda32; outline-offset: 5px; border-radius: 4px; }
.storefront .print-footer-whatsapp:focus-visible { outline-color: #fff; }
@media (max-width: 1150px) {
    .print-footer-grid { grid-template-columns: 1.05fr 1fr 1fr 1.1fr; gap: 26px; }
    .print-footer-contact { padding-left: 18px; }
    .print-footer-phone { font-size: 17px; gap: 7px; }
}
@media (max-width: 960px) {
    .print-footer-invite { gap: 28px; }
    .print-footer-whatsapp { font-size: 14px; padding-left: 15px; gap: 10px; }
    .print-footer-action-arrow { margin-left: 7px; }
    .print-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 48px; }
    .print-footer-brand-block { grid-row: 1; grid-column: 1; }
    .print-footer-contact { grid-row: 1; grid-column: 2; padding-left: 0; border: 0; }
    .print-footer-phone { font-size: 23px; }
    .print-footer-links { padding-top: 22px; border-top: 1px solid #ffffff24; }
    .print-footer-links>a { min-height: 34px; }
}
@media (max-width: 760px) {
    .print-footer-invite { align-items: flex-start; flex-direction: column; gap: 27px; padding: 37px 0 31px; }
    .storefront .print-footer-invite h2 { font-size: 41px; letter-spacing: -1.5px; }
    .print-footer-eyebrow { font-size: 9px; letter-spacing: 1.1px; }
    .print-footer-intro { font-size: 12px; max-width: 340px; }
    .print-footer-whatsapp { font-size: 15px; min-height: 58px; padding-left: 18px; gap: 13px; }
    .print-footer-action-arrow { margin-left: 14px; }
    .print-footer-grid { gap: 26px 27px; padding-block: 30px; }
    .print-footer-logo img { width: 235px; }
    .print-footer-brand-block { grid-column: 1/-1; }
    .print-footer-brand-block>p { margin-top: 16px; font-size: 12px; }
    .print-footer-colorbar { margin-top: 17px; }
    .print-footer-contact { grid-row: auto; grid-column: 1/-1; padding: 25px 23px; border: 1px solid #ffffff24; border-radius: 13px; background: #ffffff05; }
    .storefront .print-footer-grid h2 { font-size: 14px; margin-bottom: 10px; }
    .print-footer-links { padding-top: 20px; }
    .print-footer-links>a { min-height: 38px; font-size: 12px; }
    .print-footer-contact .print-footer-phone { font-size: 25px; min-height: 48px; }
    .print-footer-email { min-height: 44px; font-size: 13px; }
    .print-footer-bottom { align-items: flex-start; padding-block: 17px; gap: 15px; font-size: 10px; }
    .print-footer-bottom>span { padding-top: 11px; }
    .print-footer-admin { flex-shrink: 0; gap: 8px; min-height: 44px; }
}
@media (max-width: 360px) {
    .storefront .print-footer-invite h2 { font-size: 36px; letter-spacing: -1.3px; }
    .print-footer-action { width: 100%; }
    .print-footer-whatsapp { justify-content: space-between; font-size: 14px; gap: 10px; padding-left: 14px; }
    .print-footer-action-arrow { margin-left: 0; width: 33px; }
    .print-footer-grid { column-gap: 18px; }
    .storefront .print-footer-links h2 { min-height: 40px; }
    .print-footer-links>a { font-size: 11px; }
    .print-footer-contact { padding: 20px 17px; }
    .print-footer-contact .print-footer-phone { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
    .print-footer-whatsapp { transition: none; }
    .print-footer-whatsapp:hover { transform: none; }
}
@media print {
    .print-footer { display: none !important; }
}
