/* ============================================================
   TEXTILE STORE — Design System
   Tokens extracted from reference (1470px viewport, DPR 2)
   ============================================================ */

@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/lato-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/lato-300-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/lato-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/lato-400-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/lato-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/lato-700-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/lato-900-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/opensans-400.woff2') format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/opensans-600.woff2') format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/opensans-700.woff2') format('woff2')}

:root {
    --container: 1310px;
    --gutter: 26px;
    --font: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    /* Brand (EstampaLab logo/flyer) */
    --brand-navy: #0d1b3e;
    --brand-blue: #0072d6;
    --brand-magenta: #e2007a;
    --brand-yellow: #f7c000;
    --brand-tint: #f2f6fc;
    --brand-stripe: linear-gradient(90deg, var(--brand-blue) 0 33.33%, var(--brand-magenta) 33.33% 66.66%, var(--brand-yellow) 66.66% 100%);

    --ink: var(--brand-navy);
    --text: #3c3c3c;
    --muted: #8e8e8e;
    --line: #e5e5e5;
    --field-border: #c2c2c2;
    --footer-bg: var(--brand-tint);
    --green: #25d366;
    --dark: var(--brand-navy);
    --red: var(--brand-magenta);
    --header-h: 65px;
    --nav-h: 38px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
    margin: 0; background: #fff; color: var(--text);
    font-family: var(--font); font-size: 14px; line-height: 1.5;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
img { max-width: 100%; display: block; border: 0; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
ul { margin: 0; padding: 0; list-style: none; }
input { font: inherit; }
h1, h2, h3, h4, h5, h6 { margin: 0; }
p { margin: 0; }

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 15px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.center { display: flex; justify-content: center; }

.btn {
    display: inline-flex; align-items: center; justify-content: center;
    height: 40px; padding: 0 30px; border-radius: 20px;
    font-size: 13.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    transition: opacity .15s, background .15s, color .15s;
}
.btn:hover { opacity: .85; }
.btn--dark { background: var(--brand-navy); color: #fff; min-width: 180px; }
.btn--dark:hover { background: var(--brand-blue); opacity: 1; }
.btn--green { background: var(--green); color: #fff; height: 42px; border-radius: 8px; min-width: 190px; padding: 0 17px; font-size: 13px; letter-spacing: 0; margin-top: 20.5px; }
.btn--ghost { background: #eeeeee; color: var(--text); height: 31px; border-radius: 6px; padding: 0 14px; font-size: 12px; letter-spacing: .04em; }
.btn--ghost:hover { background: #fff; opacity: 1; }
.btn--light { background: #fff; color: var(--brand-navy); min-width: 160px; }
.btn--light:hover { background: var(--brand-yellow); opacity: 1; }
.btn--outline { background: transparent; color: #fff; border: 2px solid #fff; min-width: 140px; }
.btn--outline:hover { background: #fff; color: var(--brand-navy); opacity: 1; }
