/* Patrón Barbershop (Yakima): agave green, bone paper, marigold. Signature: bilingual price ticket with a perforated stub. */
:root {
  --c-primary: #23413a;
  --c-primary-dark: #172c27;
  --c-accent: #e9a23b;
  --c-ink: #1b1a17;
  --c-muted: #4f4b43;
  --c-bg: #f3ecdf;
  --c-surface: #e9dfcc;
  --c-dark: #172c27;
  --c-on-dark: #f3ecdf;
  --c-border: #d6c9b1;
  --f-head: "Bitter", Georgia, serif;
  --f-body: "Albert Sans", system-ui, sans-serif;
  --fw-head: 800;
  --radius: 4px;
  --radius-sm: 3px;
}
a { color: var(--c-primary); }
:focus-visible { outline: 3px solid var(--c-accent); outline-offset: 3px; }

/* header: wordmark stacked, plain phone link (no pill) */
.pt-header { background: var(--c-bg); border-bottom: 2px solid var(--c-ink); }
.pt-brand { display: flex; flex-direction: column; line-height: 1; text-decoration: none; color: var(--c-ink); }
.pt-brand__name { font-family: var(--f-head); font-weight: 800; font-size: 1.6rem; letter-spacing: -.02em; }
.pt-brand__sub { font-size: .78rem; color: var(--c-muted); margin-top: 3px; }
.nav-links a { color: var(--c-ink); border-radius: 0; }
.nav-links a:hover { background: transparent; box-shadow: inset 0 -3px 0 var(--c-accent); }
.pt-navcall { font-weight: 700; color: var(--c-ink); text-decoration: none; border-bottom: 3px solid var(--c-accent); padding-bottom: 2px; }
@media (min-width: 960px) { .nav-cta.pt-navcall { display: inline-block; } }
.mobile-menu .pt-btn { width: 100%; }

/* buttons: flat rectangles, thick border */
.pt-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 22px; font-weight: 700; text-decoration: none; border: 2px solid var(--c-ink); border-radius: 0; cursor: pointer; font-size: 1rem; }
.pt-btn--solid { background: var(--c-primary); color: var(--c-on-dark); border-color: var(--c-primary); }
.pt-btn--solid:hover { background: var(--c-primary-dark); }
.pt-btn--line { background: transparent; color: var(--c-ink); }
.pt-btn--line:hover { background: var(--c-surface); }

.pt-h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); margin-bottom: 24px; }
.pt-h2--light { color: var(--c-on-dark); }

/* hero: copy left, cropped photo right with marigold offset block */
.pt-hero { padding: clamp(36px, 7vw, 88px) 0 clamp(40px, 6vw, 72px); }
.pt-hero__grid { display: grid; gap: 36px; align-items: center; }
.pt-hero__grid > * { min-width: 0; }
@media (min-width: 900px) { .pt-hero__grid { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); } }
.pt-hero__where { font-weight: 700; color: var(--c-primary); margin: 0 0 14px; }
.pt-hero h1 { font-size: clamp(2rem, 4.6vw, 3.4rem); max-width: 17ch; }
.pt-hero__lead { font-size: 1.15rem; color: var(--c-muted); max-width: 48ch; }
.pt-hero__es { font-style: italic; font-family: var(--f-head); font-weight: 500; color: var(--c-primary); margin-top: -4px; }
.pt-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.pt-hero__photo { margin: 0; position: relative; background: var(--c-surface); }
.pt-hero__photo::before { content: ""; position: absolute; inset: 18px -14px -14px 18px; background: var(--c-accent); z-index: 0; }
.pt-hero__photo img { position: relative; z-index: 1; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
@media (max-width: 899px) { .pt-hero__photo img { aspect-ratio: 3 / 2; } .pt-hero__photo::before { inset: 12px -8px -8px 12px; } }

/* signature: ticket with perforated stub */
.pt-ticket-wrap { padding: clamp(48px, 7vw, 90px) 0; background: var(--c-surface); }
.pt-ticket { display: grid; background: #fffaf0; border: 2px solid var(--c-ink); max-width: 860px; }
.pt-ticket > * { min-width: 0; }
@media (min-width: 720px) { .pt-ticket { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); } }
.pt-ticket__main, .pt-ticket__stub { padding: clamp(22px, 4vw, 36px); }
.pt-ticket__stub { border-top: 3px dashed var(--c-ink); background: #f7eedb; }
@media (min-width: 720px) { .pt-ticket__stub { border-top: 0; border-left: 3px dashed var(--c-ink); } }
.pt-ticket__price { font-family: var(--f-head); font-weight: 800; font-size: clamp(3.4rem, 9vw, 5.4rem); line-height: 1; margin: 0 0 6px; color: var(--c-primary); }
.pt-ticket__price--sm { font-size: 2.6rem; }
.pt-ticket__what { font-family: var(--f-head); font-weight: 700; font-size: 1.35rem; margin: 0 0 10px; }
.pt-ticket__fine { font-size: .95rem; color: var(--c-muted); border-top: 1px solid var(--c-border); padding-top: 10px; margin-top: 14px; }
.pt-also { max-width: 860px; margin-top: 22px; }

/* come in: numbered steps on green */
.pt-come { background: var(--c-primary); color: var(--c-on-dark); padding: clamp(48px, 7vw, 90px) 0; }
.pt-come__grid { display: grid; gap: 24px; }
@media (min-width: 900px) { .pt-come__grid { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: start; } }
.pt-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.pt-steps li { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 16px; padding: 18px 0; border-top: 1px solid rgba(243,236,223,.3); }
.pt-steps li:last-child { border-bottom: 1px solid rgba(243,236,223,.3); }
.pt-steps__n { font-family: var(--f-head); font-weight: 800; font-size: 2.2rem; line-height: 1; color: var(--c-accent); }
.pt-steps h3 { font-size: 1.2rem; margin: 0 0 4px; color: var(--c-on-dark); }
.pt-steps p { margin: 0; }
.pt-steps a { color: var(--c-on-dark); font-weight: 700; text-decoration-color: var(--c-accent); text-underline-offset: 3px; }

/* find us: full-width map with an address strip underneath */
.pt-find { padding: 0 0 clamp(40px, 6vw, 72px); }
.pt-find__map { border-radius: 0; border: 0; border-bottom: 2px solid var(--c-ink); box-shadow: none; }
.pt-find__map iframe { height: 340px; display: block; }
.pt-find__strip { display: grid; gap: 8px 32px; padding-top: 28px; }
@media (min-width: 820px) { .pt-find__strip { grid-template-columns: repeat(3, minmax(0,1fr)); align-items: end; } }
.pt-find__strip .pt-h2 { margin: 0; }
.pt-find__addr { font-size: 1.2rem; font-weight: 700; margin: 0; }
.pt-find__links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; }
.pt-find__links a { font-weight: 700; }

/* photos: two-up, one tall */
.pt-photos { padding: clamp(40px, 6vw, 72px) 0; }
.pt-photos__row { display: grid; gap: 14px; }
@media (min-width: 720px) { .pt-photos__row { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: stretch; } }
.pt-photos__row button { padding: 0; border: 0; background: var(--c-surface); cursor: zoom-in; display: block; min-width: 0; }
.pt-photos__row img { width: 100%; height: 100%; min-height: 240px; max-height: 520px; object-fit: cover; display: block; }

/* message form: two columns on wide screens, on paper */
.pt-msg { padding: clamp(48px, 7vw, 90px) 0; background: #fffaf0; border-top: 2px solid var(--c-ink); }
.pt-msg__inner { max-width: 760px; }
.pt-form { grid-template-columns: minmax(0,1fr); }
@media (min-width: 640px) { .pt-form { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } .pt-form__full { grid-column: 1 / -1; } }
.field label { font-weight: 700; display: block; margin-bottom: 6px; }
.field input, .field textarea { background: #fff; border: 2px solid var(--c-border); border-radius: 0; }
.field input:focus, .field textarea:focus { border-color: var(--c-primary); outline: none; box-shadow: 0 0 0 3px rgba(233,162,59,.45); }

/* footer: single centered line */
.pt-foot { background: var(--c-ink); color: var(--c-on-dark); padding: 32px 0; text-align: center; }
.pt-foot a { color: var(--c-on-dark); }
.pt-foot__name { font-family: var(--f-head); font-weight: 800; font-size: 1.3rem; margin: 0 0 4px; }
.pt-foot p { margin: 0 0 4px; }
.pt-foot__small { font-size: .85rem; opacity: .75; }

.call-bar { grid-template-columns: 1fr; }
.call-bar a { display: flex; align-items: center; justify-content: center; min-height: 48px; background: var(--c-primary); color: var(--c-on-dark); font-weight: 700; text-decoration: none; }
