/*
Theme Name: Yacort Savoy
Description: Catálogo de componentes para cortinas metálicas de Yacort.
Template: savoy
Version: 1.0.1
Text Domain: yacort-savoy
*/

@font-face {
    font-family: Yacort Roboto;
    src: url(assets/roboto.ttf) format("truetype");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

body, .yacort { font-family: "Yacort Roboto", Arial, sans-serif; }
.yacort-header-logo img.nm-logo { width: auto; height: 32px; }
.yacort { color: #111; line-height: 1.55; background: #fff; }
.yacort *, .yacort *::before, .yacort *::after { box-sizing: border-box; }
.yacort :is(.yacort-hero-grid, .yacort-hero-copy, .yacort-hero-image, .yacort-product-grid, .yacort-card-copy, .yacort-section-title, .yacort-about-grid, .yacort-about-copy, .yacort-contact-grid, .yacort-contact-copy) > .wp-block-group__inner-container { display: contents; }
.yacort :is(h1, h2, h3, p, figure) { margin: 0; }
.yacort :is(h1, h2, h3) { font-family: inherit; color: inherit; }
.yacort :is(h1, h2) { font-weight: 650; letter-spacing: -.055em; line-height: 1.04; }
.yacort h1 { font-size: clamp(2.65rem, 5.6vw, 5.65rem); }
.yacort h2 { font-size: clamp(2.15rem, 4vw, 3.65rem); }
.yacort h3 { font-size: 1.45rem; font-weight: 650; line-height: 1.2; letter-spacing: -.025em; }
.yacort p { font-size: 1rem; }
.yacort img { display: block; width: 100%; height: auto; }
.yacort a:focus-visible, .yacort-footer a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.yacort [id] { scroll-margin-top: 115px; }
.yacort-inner { width: min(100% - 80px, 1340px); margin-inline: auto; }
.yacort .yacort-kicker { font-size: .75rem; font-weight: 650; letter-spacing: .14em; text-transform: uppercase; }
.yacort-hero { background: #f1f1ef; }
.yacort-hero-grid { display: grid; grid-template-columns: 1fr .92fr; align-items: stretch; }
.yacort-hero-copy { display: grid; align-content: center; gap: 22px; padding: clamp(48px, 7vw, 100px) 42px clamp(48px, 7vw, 100px) 0; }
.yacort .yacort-lead { max-width: 38ch; font-size: clamp(1.02rem, 1.5vw, 1.22rem); color: #454545; }
.yacort-hero-image { min-width: 0; display: grid; align-items: center; padding: 24px 0 24px 24px; }
.yacort-hero-image img { height: clamp(360px, 39vw, 560px); object-fit: cover; object-position: center 45%; }
.yacort .yacort-action { margin-top: 7px; }
.yacort .yacort-action a { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 23px; border: 1px solid #111; color: #fff; background: #111; font-weight: 600; text-decoration: none; }
.yacort .yacort-action a:hover { color: #111; background: #fff; }
.yacort-products { padding-block: clamp(64px, 9vw, 126px); }
.yacort-section-title { display: grid; gap: 12px; margin-bottom: 36px; }
.yacort-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 38px); }
.yacort-card { border-bottom: 1px solid #d6d6d6; padding-bottom: 24px; }
.yacort-card figure { margin-bottom: 20px; background: #f5f5f5; }
.yacort-card figure img { aspect-ratio: 1.12; object-fit: contain; padding: 12px; }
.yacort-card-copy { display: grid; gap: 11px; }
.yacort .yacort-spec { font-size: .9rem; color: #555; }
.yacort .yacort-price { font-size: 1rem; font-weight: 650; }
.yacort-card a, .yacort-contact a { width: fit-content; text-decoration: underline; text-underline-offset: .24em; color: inherit; }
.yacort-card a:hover, .yacort-contact a:hover { opacity: .76; }
.yacort .yacort-note { margin-top: 21px; font-size: .85rem; color: #525252; }
.yacort-about { padding-block: clamp(58px, 8vw, 104px); background: #f1f1ef; }
.yacort-about-grid, .yacort-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px clamp(24px, 6vw, 84px); align-items: center; }
.yacort-about-copy, .yacort-contact-copy { display: grid; gap: 12px; }
.yacort-about-grid .yacort-section-title, .yacort-contact-grid .yacort-section-title { margin-bottom: 0; }
.yacort-about-copy p { max-width: 53ch; }
.yacort-contact { background: #131313; color: #fff; padding-block: clamp(58px, 8vw, 100px); }
.yacort-contact .yacort-action a { color: #111; background: #fff; border-color: #fff; }
.yacort-contact .yacort-action a:hover { color: #fff; background: #131313; opacity: 1; }
.yacort-footer { display: flex; flex-wrap: wrap; gap: 12px 28px; justify-content: space-between; align-items: center; width: min(100% - 80px, 1340px); min-height: 74px; margin: auto; padding-block: 14px; color: #333; font-size: .85rem; }
.yacort-footer a { color: inherit; }

@media (max-width: 900px) {
    .yacort-inner, .yacort-footer { width: calc(100% - 48px); }
    .yacort-hero-copy { padding-right: 16px; }
    .yacort-hero-image { padding-left: 8px; }
}

@media (max-width: 700px) {
    .yacort-inner, .yacort-footer { width: calc(100% - 36px); }
    .yacort-hero-grid, .yacort-about-grid, .yacort-contact-grid, .yacort-product-grid { grid-template-columns: 1fr; }
    .yacort-hero-copy { padding: 44px 0 30px; gap: 16px; }
    .yacort-hero-image { padding: 0 0 18px; }
    .yacort-hero-image img { height: clamp(240px, 75vw, 390px); }
    .yacort-product-grid { gap: 28px; }
    .yacort-header-logo img.nm-logo { height: 27px; }
}
