/* ============================================================
   2.16.0 · [ymx_portada] — home = entrada directa al marketplace
   Mismo lenguaje que yachtsmx.com: navy #152637 · crema · ámbar #e8ab36,
   Newsreader (titulares) + Instrument Sans (texto) + JetBrains Mono (datos).
   Todo va dentro de .ymx-pt (no pinta nada fuera).
   ============================================================ */
.ymx-pt {
	--pt-navy: #152637; --pt-navy-2: #1d3349; --pt-ink: #0c1a26;
	--pt-paper: #f8f5ee; --pt-cream: #f5f1e8; --pt-cream-2: #ece6d6; --pt-cream-deep: #efeae0;
	--pt-amber: #e8ab36; --pt-amber-hi: #f3c459; --pt-amber-deep: #c8902a;
	--pt-text: #2a3a48; --pt-muted: #5a6b7a; --pt-line: rgba(21,38,55,.12);
	--pt-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
	--pt-sans: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif;
	--pt-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
	--pt-ease: cubic-bezier(.22,1,.36,1);
	background: var(--pt-cream); color: var(--pt-text);
	font-family: var(--pt-sans); font-size: 15px; line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
.ymx-pt *, .ymx-pt *::before, .ymx-pt *::after { box-sizing: border-box; }
.ymx-pt a { text-decoration: none; }
.ymx-pt svg { display: block; flex: none; }
.ymx-pt h1, .ymx-pt h2, .ymx-pt h3, .ymx-pt p, .ymx-pt ul { margin: 0; }
.ymx-pt ul { padding: 0; list-style: none; }
.ymx-pt__wrap { max-width: 1320px; margin: 0 auto; padding: 0 clamp(16px, 3vw, 24px); }

/* ---------- 1 · Buscar ---------- */
.ymx-pt__hero { background: var(--pt-navy); color: var(--pt-paper); padding: clamp(28px, 4vw, 44px) 0 clamp(30px, 4vw, 46px); }
.ymx-pt__hero .ymx-pt__wrap { display: flex; flex-direction: column; gap: 22px; }
.ymx-pt__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 40px; }
.ymx-pt__intro { display: flex; flex-direction: column; gap: 10px; max-width: 760px; }
.ymx-pt__eyebrow { font-family: var(--pt-mono); font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--pt-amber-hi); }
.ymx-pt__eyebrow--dark { color: var(--pt-amber-deep); }
.ymx-pt .ymx-pt__h1 { font-family: var(--pt-serif); font-weight: 400; font-size: clamp(36px, 5vw, 58px); line-height: 1; letter-spacing: -.03em; color: var(--pt-paper); text-transform: none; }
.ymx-pt .ymx-pt__h1 em { font-style: italic; color: var(--pt-amber-hi); }
.ymx-pt__lead { font-size: 16px; color: rgba(248,245,238,.78); max-width: 620px; }
.ymx-pt a.ymx-pt__sell { display: inline-flex; align-items: center; gap: 8px; color: rgba(248,245,238,.9); font-weight: 600; font-size: 13.5px; border-bottom: 1px solid rgba(248,245,238,.3); padding-bottom: 2px; }
.ymx-pt a.ymx-pt__sell svg { width: 14px; height: 14px; }
.ymx-pt a.ymx-pt__sell:hover { color: var(--pt-amber-hi); border-color: var(--pt-amber-hi); }

.ymx-pt__search { display: flex; flex-wrap: wrap; align-items: stretch; gap: 6px; background: var(--pt-paper); border-radius: 22px; padding: 8px; box-shadow: 0 26px 60px -34px rgba(0,0,0,.7); margin: 0; }
.ymx-pt__f { position: relative; flex: 1 1 160px; display: flex; align-items: center; gap: 10px; min-height: 60px; padding: 0 16px 0 18px; border-radius: 16px; background: #fff; color: var(--pt-navy); cursor: pointer; margin: 0; }
.ymx-pt__f--q { flex: 3 1 280px; cursor: text; }
.ymx-pt__f > svg { width: 18px; height: 18px; color: var(--pt-muted); }
.ymx-pt__f > svg:last-child:not(:first-child) { width: 12px; height: 12px; color: var(--pt-navy); pointer-events: none; }
.ymx-pt__fb { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.ymx-pt__fl { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--pt-muted); line-height: 1.3; }
.ymx-pt .ymx-pt__f input, .ymx-pt .ymx-pt__f select {
	all: unset; display: block; width: 100%; box-sizing: border-box;
	font: 500 15px/1.4 var(--pt-sans); color: var(--pt-navy); padding: 2px 0 0; cursor: pointer;
	-webkit-appearance: none; appearance: none; background: transparent; border: 0; height: auto; min-height: 0; box-shadow: none;
}
.ymx-pt .ymx-pt__f input { cursor: text; }
.ymx-pt .ymx-pt__f input::placeholder { color: #8b97a3; opacity: 1; }
.ymx-pt__f:focus-within { box-shadow: 0 0 0 2px #2a8fa0; }
.ymx-pt button.ymx-pt__go {
	all: unset; box-sizing: border-box; flex: 0 1 auto; min-height: 60px; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	padding: 0 30px; border-radius: 16px; background: var(--pt-amber); color: var(--pt-navy);
	font: 700 13px var(--pt-sans); letter-spacing: .14em; text-transform: uppercase; cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.45); transition: background .2s, transform .2s var(--pt-ease);
}
.ymx-pt button.ymx-pt__go svg { width: 17px; height: 17px; }
.ymx-pt button.ymx-pt__go:hover { background: var(--pt-amber-hi); }
.ymx-pt button.ymx-pt__go:focus-visible { outline: 2px solid var(--pt-paper); outline-offset: 2px; }

.ymx-pt__places { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ymx-pt__places > span { font-size: 12.5px; color: rgba(248,245,238,.6); margin-right: 4px; }
.ymx-pt .ymx-pt__places a { height: 34px; display: inline-flex; align-items: center; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(248,245,238,.18); background: rgba(248,245,238,.06); color: var(--pt-paper); font-size: 13px; font-weight: 500; transition: background .2s, border-color .2s; }
.ymx-pt .ymx-pt__places a:hover { background: rgba(248,245,238,.14); border-color: rgba(248,245,238,.4); color: #fff; }

/* ---------- 2 · Barcos ---------- */
.ymx-pt__res { padding: 36px 0 16px; }
.ymx-pt__res .ymx-pt__wrap { display: flex; flex-direction: column; gap: 22px; }
.ymx-pt__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.ymx-pt__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ymx-pt .ymx-pt__chips a { height: 38px; display: inline-flex; align-items: center; padding: 0 16px; border-radius: 999px; background: var(--pt-paper); color: var(--pt-navy); border: 1px solid rgba(21,38,55,.16); font-size: 13px; font-weight: 600; transition: border-color .2s, background .2s; }
.ymx-pt .ymx-pt__chips a:hover { border-color: var(--pt-navy); }
.ymx-pt .ymx-pt__chips a.is-on { background: var(--pt-navy); color: var(--pt-paper); border-color: var(--pt-navy); }
.ymx-pt__view { display: inline-flex; padding: 4px; border-radius: 999px; background: var(--pt-cream-2); }
.ymx-pt__view > * { height: 34px; display: inline-flex; align-items: center; gap: 6px; padding: 0 16px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--pt-navy); }
.ymx-pt__view svg { width: 14px; height: 14px; }
.ymx-pt__view .is-on { background: var(--pt-navy); color: var(--pt-paper); }
.ymx-pt .ymx-pt__view a { color: var(--pt-navy); }
.ymx-pt .ymx-pt__view a:hover { background: rgba(21,38,55,.08); }
.ymx-pt__rhead { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px; }
.ymx-pt .ymx-pt__h2 { font-family: var(--pt-serif); font-weight: 400; font-size: 30px; line-height: 1.1; letter-spacing: -.02em; color: var(--pt-navy); text-transform: none; }
.ymx-pt .ymx-pt__h2 em { font-style: italic; color: var(--pt-amber-deep); }
.ymx-pt .ymx-pt__h2--lg { font-size: clamp(30px, 4vw, 40px); line-height: 1.05; letter-spacing: -.025em; }
.ymx-pt__count { font-family: var(--pt-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--pt-muted); }
.ymx-pt__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 22px; }
.ymx-pt__empty { color: var(--pt-muted); }
.ymx-pt__more { display: flex; justify-content: center; padding: 10px 0 20px; }

/* Tarjeta */
.ymx-pc { position: relative; display: flex; flex-direction: column; background: var(--pt-paper); border: 1px solid rgba(21,38,55,.10); border-radius: 18px; overflow: hidden; box-shadow: 0 14px 36px -22px rgba(21,38,55,.18); transition: transform .35s var(--pt-ease), box-shadow .35s var(--pt-ease); }
.ymx-pc:hover { transform: translateY(-3px); box-shadow: 0 32px 60px -28px rgba(21,38,55,.28); }
.ymx-pt a.ymx-pc__media { position: relative; display: block; aspect-ratio: 3 / 2; background: var(--pt-cream-2); overflow: hidden; }
.ymx-pt .ymx-pc__media img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; border-radius: 0; transition: transform .6s var(--pt-ease); }
.ymx-pc:hover .ymx-pc__media img { transform: scale(1.03); }
.ymx-pc__ph { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(21,38,55,.22); }
.ymx-pc__ph svg { width: 46%; }
.ymx-pc__type { position: absolute; top: 12px; left: 12px; height: 26px; display: inline-flex; align-items: center; padding: 0 11px; border-radius: 999px; background: rgba(21,38,55,.78); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--pt-paper); font: 600 10.5px var(--pt-sans); letter-spacing: .16em; text-transform: uppercase; }
.ymx-pc__star { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border-radius: 999px; background: var(--pt-amber); color: var(--pt-navy); display: grid; place-items: center; }
.ymx-pc__star svg { width: 15px; height: 15px; fill: currentColor; }
.ymx-pc__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.ymx-pt .ymx-pc__name { font-family: var(--pt-serif); font-weight: 400; font-size: 25px; line-height: 1.1; letter-spacing: -.02em; text-transform: none; }
.ymx-pt .ymx-pc__name a { color: var(--pt-navy); }
.ymx-pt .ymx-pc__name em { font-style: italic; color: var(--pt-amber-deep); font-size: .78em; }
.ymx-pc__specs { font-size: 13px; color: var(--pt-text); }
.ymx-pc__loc { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--pt-muted); }
.ymx-pc__loc svg { width: 13px; height: 13px; }
.ymx-pc__price { margin-top: auto !important; padding-top: 10px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; border-top: 1px solid rgba(21,38,55,.08); }
.ymx-pc__price b { font-size: 19px; font-weight: 600; color: var(--pt-navy); font-variant-numeric: lining-nums; }
.ymx-pc__price span { font-family: var(--pt-serif); font-size: 13px; color: var(--pt-muted); }
.ymx-pc.is-sold .ymx-pc__media img { filter: grayscale(.6); }

/* Botones */
.ymx-pt a.ymx-pt__btn { height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 26px; border-radius: 999px; font: 700 12.5px var(--pt-sans); letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; transition: transform .25s var(--pt-ease), background .2s, color .2s; }
.ymx-pt a.ymx-pt__btn svg { width: 14px; height: 14px; }
.ymx-pt a.ymx-pt__btn:hover { transform: translateY(-1px); }
.ymx-pt a.ymx-pt__btn--navy { background: var(--pt-navy); color: var(--pt-paper); }
.ymx-pt a.ymx-pt__btn--navy:hover { background: var(--pt-navy-2); color: #fff; }
.ymx-pt a.ymx-pt__btn--amber { background: var(--pt-amber); color: var(--pt-navy); box-shadow: 0 14px 32px -12px rgba(232,171,54,.55), inset 0 1px 0 rgba(255,255,255,.45); }
.ymx-pt a.ymx-pt__btn--amber:hover { background: var(--pt-amber-hi); color: var(--pt-navy); }
.ymx-pt a.ymx-pt__btn--cream { background: var(--pt-paper); color: var(--pt-navy); }
.ymx-pt a.ymx-pt__btn--cream:hover { background: #fff; color: var(--pt-navy); }
.ymx-pt a.ymx-pt__btn--ghost { border: 1px solid rgba(248,245,238,.32); color: var(--pt-paper); letter-spacing: .04em; text-transform: none; font-weight: 600; font-size: 13.5px; }
.ymx-pt a.ymx-pt__btn--ghost:hover { border-color: var(--pt-paper); color: #fff; }

/* ---------- 3 · Vender ---------- */
.ymx-pt__sellsec { padding: 56px 0; }
.ymx-pt__sellsec .ymx-pt__wrap { display: flex; flex-direction: column; gap: 26px; }
.ymx-pt__sechead { display: flex; flex-direction: column; gap: 8px; max-width: 640px; }
.ymx-pt__two { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 22px; }
.ymx-pt__opt { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: clamp(24px, 3vw, 34px); border-radius: 28px; background: var(--pt-paper); border: 1px solid var(--pt-line); }
.ymx-pt__tag { font-family: var(--pt-mono); font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--pt-muted); }
.ymx-pt .ymx-pt__opt h3 { font-family: var(--pt-serif); font-weight: 400; font-size: 32px; line-height: 1.05; color: var(--pt-navy); text-transform: none; letter-spacing: -.015em; }
.ymx-pt__opt p { font-size: 15px; max-width: 470px; }
.ymx-pt__opt ul { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.ymx-pt__opt li { display: flex; gap: 10px; align-items: center; }
.ymx-pt__opt li::before { content: ''; width: 6px; height: 6px; border-radius: 999px; background: var(--pt-amber); flex: none; }
.ymx-pt__opt > .ymx-pt__btn, .ymx-pt__opt > .ymx-pt__row { margin-top: auto; }
.ymx-pt__row { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 8px; }
.ymx-pt__opt > .ymx-pt__btn { margin-top: 8px; }
.ymx-pt__opt--navy { background: var(--pt-navy); border-color: var(--pt-navy); color: rgba(248,245,238,.82); box-shadow: 0 26px 60px -34px rgba(12,26,38,.45); }
.ymx-pt__opt--navy .ymx-pt__tag { color: var(--pt-amber-hi); }
.ymx-pt .ymx-pt__opt--navy h3 { color: var(--pt-paper); }
.ymx-pt__opt--navy li::before { background: var(--pt-amber-hi); }

/* ---------- 4 · Más de Yates México ---------- */
.ymx-pt__more-sec { padding: 8px 0 64px; }
.ymx-pt__more-sec .ymx-pt__wrap { display: flex; flex-direction: column; gap: 18px; }
.ymx-pt .ymx-pt__more-sec .ymx-pt__h2 { font-size: 26px; }
.ymx-pt__svc { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 14px; }
.ymx-pt .ymx-pt__svc a { display: flex; flex-direction: column; gap: 6px; padding: 22px; border-radius: 18px; background: var(--pt-cream-deep); color: var(--pt-navy); transition: background .2s, transform .25s var(--pt-ease); }
.ymx-pt .ymx-pt__svc a:hover { background: var(--pt-cream-2); transform: translateY(-2px); }
.ymx-pt__svc b { font-size: 15px; font-weight: 600; }
.ymx-pt__svc span { font-size: 13px; color: var(--pt-muted); }

/* ---------- 5 · Contenido extra (SEO / FAQ) ---------- */
.ymx-pt__extra { padding: 8px 0 64px; }

/* ---------- Móvil ---------- */
@media (max-width: 767px) {
	.ymx-pt__head { align-items: flex-start; }
	.ymx-pt__search { border-radius: 18px; }
	.ymx-pt__f { flex: 1 1 calc(50% - 6px); min-height: 56px; padding: 0 12px 0 14px; }
	.ymx-pt__f--q { flex-basis: 100%; }
	.ymx-pt button.ymx-pt__go { flex-basis: 100%; min-height: 54px; }
	.ymx-pt__places { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * clamp(16px, 3vw, 24px)); padding: 0 clamp(16px, 3vw, 24px); }
	.ymx-pt__places::-webkit-scrollbar { display: none; }
	.ymx-pt .ymx-pt__places a { flex: none; }
	.ymx-pt__chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; width: 100%; }
	.ymx-pt__chips::-webkit-scrollbar { display: none; }
	.ymx-pt .ymx-pt__chips a { flex: none; }
	.ymx-pt__bar { flex-direction: column; align-items: flex-start; }
	.ymx-pt__grid { grid-template-columns: 1fr; gap: 16px; }
	.ymx-pt__sellsec { padding: 40px 0; }
}
@media (prefers-reduced-motion: reduce) {
	.ymx-pt *, .ymx-pt *::before, .ymx-pt *::after { transition: none !important; }
}
