/*
Theme Name: Martinez Orlyn Glass
Theme URI: https://glassmirrortx.us/
Author: Martinez Orlyn Glass & Mirror
Description: Fast, accessible WordPress theme for Martinez Orlyn Glass & Mirror.
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: martinez-orlyn-glass
*/

:root { --forest:#0a6b2e; --aqua:#14a9ad; --ink:#0a1218; --paper:#f4f8f9; --muted:#53605b; --line:#d9e3df; --max:1200px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; line-height:1.55; }
a { color:inherit; }
.wrap { width:min(calc(100% - 2rem), var(--max)); margin:auto; }
.skip-link { position:absolute; left:-9999px; }.skip-link:focus { left:1rem; top:1rem; z-index:100; background:#fff; padding:.8rem; }
.site-header { background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }.header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }.brand img { display:block; width:178px; height:auto; }.main-nav ul { display:flex; list-style:none; gap:1.25rem; padding:0; margin:0; }.main-nav a { font-weight:700; text-decoration:none; }.main-nav a:hover,.main-nav .current-menu-item a { color:var(--forest); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:.75rem 1.05rem; border:1px solid var(--forest); background:var(--forest); color:#fff; font-weight:800; text-decoration:none; cursor:pointer; transition:transform .2s,background .2s; }.button:hover { background:#075021; transform:translateY(-1px); }.button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--aqua); outline-offset:3px; }.button--outline { background:transparent; color:var(--forest); }.button--outline:hover { color:#fff; }
.hero { display:grid; grid-template-columns:1.05fr .95fr; min-height:560px; background:#e8f0ed; }.hero-copy { align-self:center; padding:5rem max(1rem,calc((100vw - var(--max))/2)) 5rem max(1rem,calc((100vw - var(--max))/2)); }.eyebrow { color:var(--forest); font-size:.78rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.hero h1,.section-title { margin:.55rem 0 1rem; font-size:clamp(2.4rem,5vw,4.8rem); line-height:.98; letter-spacing:-.045em; }.hero p { max-width:37rem; color:var(--muted); font-size:1.08rem; }.hero-media { min-height:340px; background:var(--ink) center/cover no-repeat; }.hero-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:2rem; }
.trust { background:var(--ink); color:#fff; }.trust .wrap { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; padding:1.1rem 0; font-size:.9rem; font-weight:700; }.section { padding:5.5rem 0; }.section--soft { background:#e8f0ed; }.section-heading { max-width:43rem; margin-bottom:2.5rem; }.section-heading p { color:var(--muted); }.section-title { font-size:clamp(2rem,4vw,3.25rem); }.services { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }.service { background:#fff; padding:1.5rem; min-height:180px; }.service h3 { margin-top:0; }.service a { color:var(--forest); font-weight:800; }
.proof { display:grid; grid-template-columns:1.4fr .6fr; border:1px solid var(--line); background:#fff; }.quote { margin:0; padding:2rem; font-size:1.3rem; }.quote footer { margin-top:1.5rem; color:var(--muted); font-size:.9rem; }.rating { background:var(--forest); color:#fff; padding:2rem; display:flex; flex-direction:column; justify-content:space-between; }.rating strong { font-size:3rem; }.rating p { margin:.2rem 0 1.5rem; }
.gallery-controls { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.25rem; }.gallery-filter { border:1px solid var(--line); background:#fff; padding:.55rem .75rem; cursor:pointer; font-weight:700; }.gallery-filter[aria-pressed="true"] { color:#fff; background:var(--forest); border-color:var(--forest); }.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.gallery-card { margin:0; overflow:hidden; background:#fff; }.gallery-card[hidden] { display:none; }.gallery-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }.gallery-card figcaption { padding:.8rem; font-size:.9rem; font-weight:700; }.gallery-more { margin-top:1.5rem; }
.appointment { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }.appointment-copy { background:var(--ink); color:#fff; padding:2.5rem; }.appointment-copy p { color:#d7e2df; }.appointment-form { background:#fff; padding:2rem; border:1px solid var(--line); }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.appointment-form label { display:block; font-weight:700; font-size:.9rem; }.appointment-form input,.appointment-form textarea,.appointment-form select { display:block; width:100%; margin-top:.35rem; padding:.75rem; border:1px solid #b8c8c1; background:#fff; font:inherit; }.appointment-form textarea { min-height:120px; resize:vertical; }.form-message { margin:.8rem 0 0; font-weight:700; }.form-message.is-error { color:#a21818; }.form-message.is-success { color:var(--forest); }
.site-footer { background:var(--ink); color:#e7f0ed; padding:3rem 0; }.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2rem; }.site-footer a { color:#fff; }.site-footer p { color:#c4d3cd; }.site-footer ul { list-style:none; padding:0; }.site-footer li { margin:.5rem 0; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; } }
@media (max-width:760px) { .main-nav { display:none; }.hero,.proof,.appointment,.footer-grid { grid-template-columns:1fr; }.hero-copy { padding:3.5rem 1rem; }.hero-media { min-height:260px; }.services,.gallery { grid-template-columns:1fr; }.form-grid { grid-template-columns:1fr; }.section { padding:3.5rem 0; } }
