/* Amor y Tarot — diseño «Postal de amor».
   Layout: bandas alternas rosa / papel, cabecera fija con número, postal con tres cartas en el hero. */
:root {
	--amt-rosa: var(--wp--preset--color--rosa); --amt-rosa2: var(--wp--preset--color--rosa-2); --amt-papel: var(--wp--preset--color--papel);
	--amt-fram: var(--wp--preset--color--frambuesa); --amt-fram2: var(--wp--preset--color--frambuesa-2);
	--amt-tinta: var(--wp--preset--color--tinta); --amt-tinta2: var(--wp--preset--color--tinta-2);
	--amt-mant: var(--wp--preset--color--mantequilla); --amt-gris: var(--wp--preset--color--gris); --amt-linea: var(--wp--preset--color--linea);
	--amt-disp: var(--wp--preset--font-family--titulos);
	--amt-top: 38px;
}
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
main.wp-block-group { margin-top: 0; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--amt-fram); outline-offset: 3px; border-radius: 4px; }

/* ---------- Cabecera: la barra superior se va al hacer scroll y la principal se queda ---------- */
header.amt-cabecera { position: sticky; top: calc(-1 * var(--amt-top)); z-index: 60; }
.admin-bar header.amt-cabecera { top: calc(32px - var(--amt-top)); }
@media (max-width: 782px) { .admin-bar header.amt-cabecera { top: calc(46px - var(--amt-top)); } }
.amt-top { background: var(--amt-tinta); color: #F4E9EC; font-size: .88rem; }
.amt-top-in { min-height: var(--amt-top); gap: 1rem; }
.amt-top p { margin: 0; }
.amt-top-tel .ayt-numero { color: var(--amt-mant); font-weight: 700; }
.amt-hd { background: var(--amt-papel); border-bottom: 1px solid var(--amt-linea); }
.amt-hd-in { padding-block: .8rem; gap: 1.2rem; }
.amt-hd-der { gap: 1.6rem; }
.amt-logo { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; color: var(--amt-tinta); }
.amt-logo span { font-family: var(--amt-disp); font-size: 1.6rem; line-height: 1; letter-spacing: -.01em; color: var(--amt-tinta); }
.amt-logo em { font-style: normal; color: var(--amt-fram); }
.amt-logo-claro, .amt-logo-claro span { color: #fff; }
.amt-logo-claro em { color: var(--amt-mant); }
.amt-nav .wp-block-navigation-item__content { padding: .3rem 0; border-bottom: 2px solid transparent; }
.amt-nav .wp-block-navigation-item__content:hover { border-bottom-color: var(--amt-fram); }
.amt-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--amt-papel); padding: 1.5rem; }
.amt-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.3rem; font-family: var(--amt-disp); font-weight: 400; }

/* ---------- Secciones ---------- */
.amt-sec { padding-block: clamp(3.2rem, 7vw, 5rem); }
.amt-blanca { background: var(--amt-papel); }
.amt-s-head { gap: 1rem 2.5rem; margin-bottom: 1rem; }
.amt-s-head h2 { margin-top: .4rem; max-width: 20ch; }
.amt-s-sub { max-width: 46ch; color: var(--amt-gris); margin: 0; }
.amt-lead { font-size: clamp(1.08rem, 1.6vw, 1.2rem); color: #3A3E62; max-width: 56ch; }

/* ---------- Hero ---------- */
.amt-hero { padding-block: clamp(2.2rem, 6vw, 4.2rem) clamp(3rem, 7vw, 4.8rem); }
.amt-hero-cols { gap: clamp(1.6rem, 4vw, 3.4rem); }
.amt-hero-h1 { margin: .8rem 0 1.1rem; }
.amt-hero-h1 em { font-style: normal; color: var(--amt-fram); }
.amt-ctas { gap: .9rem 1.4rem; align-items: center; }
.amt-ctas .ayt-botones { margin: 0; }
.amt-cta-test { margin: 0; }
.amt-cta-test a { box-sizing: border-box; display: inline-flex; align-items: center; min-height: 50px; padding: .7rem 1.4rem; border: 2px solid var(--amt-tinta); border-radius: 999px; color: var(--amt-tinta); font-weight: 700; text-decoration: none; }
.amt-cta-test a:hover { background: var(--amt-tinta); color: #fff; }
.amt-chips { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin-top: 1.5rem; }
.amt-chips span { font-size: .85rem; color: var(--amt-gris); margin-right: .2rem; }
.amt-chips a { background: var(--amt-papel); border: 1px solid var(--amt-linea); padding: .35rem .85rem; border-radius: 999px; font-size: .9rem; font-weight: 600; color: var(--amt-tinta); text-decoration: none; }
.amt-chips a:hover { border-color: var(--amt-fram); color: var(--amt-fram); }

/* Postal */
.amt-postal { position: relative; background: var(--amt-papel); border-radius: 6px; padding: 1.6rem 1.6rem 1.8rem; box-shadow: 0 30px 60px -30px rgba(30,35,71,.45); transform: rotate(1.5deg); }
.amt-postal::before { content: ""; position: absolute; inset: 10px; border: 1.5px dashed var(--amt-linea); border-radius: 3px; pointer-events: none; }
.amt-sello { position: absolute; top: -14px; right: 22px; width: 76px; height: 90px; background: var(--amt-mant); padding: 5px; transform: rotate(6deg); z-index: 2; outline: 3px dotted var(--amt-mant); outline-offset: 2px; box-shadow: 0 6px 14px -8px rgba(30,35,71,.5); }
.amt-sello div { height: 100%; border: 1.5px solid var(--amt-tinta); display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--amt-tinta); }
.amt-sello span { font-family: var(--amt-disp); font-size: 1.7rem; line-height: .9; }
.amt-sello small { font-size: .55rem; letter-spacing: .12em; font-weight: 700; }
.amt-abanico { position: relative; height: 290px; margin: 2.6rem 0 .6rem; }
.amt-c { position: absolute; left: 50%; top: 14px; width: 148px; height: 248px; margin-left: -74px; background: var(--amt-tinta); color: var(--amt-mant); border-radius: 10px; border: 6px solid #fff; outline: 1px solid var(--amt-linea); display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 14px 8px; text-align: center; box-shadow: 0 14px 24px -16px rgba(30,35,71,.6); }
.amt-c svg { width: 82px; height: 82px; }
.amt-c-n { font-family: var(--amt-disp); font-size: 1.2rem; }
.amt-c-t { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #F4E9EC; }
.amt-c1 { transform: translateX(-100px) rotate(-12deg); }
.amt-c3 { transform: translateX(100px) rotate(12deg); background: var(--amt-fram); }
.amt-c2 { z-index: 1; transform: translateY(-12px); }
.amt-postal-pie { position: relative; display: flex; align-items: center; gap: 1.1rem; }
.amt-matasellos { flex: none; width: 108px; height: 108px; border: 2px solid rgba(184,32,79,.6); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: rgba(184,32,79,.85); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transform: rotate(-14deg); }
.amt-matasellos b { font-size: .8rem; letter-spacing: .02em; }
.amt-matasellos .ayt-numero { color: inherit; }
.amt-postal-nota { margin: 0; font-size: .95rem; color: var(--amt-gris); font-style: italic; }

/* ---------- Herramientas ---------- */
.amt-herr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.amt-h { background: var(--amt-rosa); border-radius: 18px; padding: 1.5rem; display: flex; flex-direction: column; gap: .55rem; text-decoration: none; color: var(--amt-tinta); transition: transform .2s, box-shadow .2s; }
.amt-h:hover { transform: translateY(-3px); box-shadow: 0 18px 30px -22px rgba(30,35,71,.5); color: var(--amt-tinta); }
.amt-mini { display: flex; gap: 6px; margin-bottom: .3rem; }
.amt-mini i { width: 34px; height: 54px; border-radius: 5px; background: var(--amt-tinta); border: 3px solid #fff; outline: 1px solid var(--amt-linea); }
.amt-mini i:nth-child(2) { background: var(--amt-fram); }
.amt-mini-esp i { background: #FFFBF2; }
.amt-mini-esp i:nth-child(2) { background: #FFFBF2; border-color: #fff; box-shadow: inset 0 0 0 6px #FFFBF2, inset 0 0 0 9px var(--amt-fram); }
.amt-h-t { font-family: var(--amt-disp); font-size: 1.65rem; line-height: 1.1; }
.amt-h-p { color: var(--amt-gris); }
.amt-h b { margin-top: auto; color: var(--amt-fram); }

/* ---------- Pasos ---------- */
.amt-pasos { counter-reset: paso; gap: 1.6rem; margin-top: 1.6rem; }
.amt-pasos > .wp-block-column { border-top: 2px solid var(--amt-tinta); padding-top: 1.1rem; }
.amt-pasos > .wp-block-column::before { counter-increment: paso; content: counter(paso); display: block; font-family: var(--amt-disp); font-size: 2.8rem; line-height: 1; color: var(--amt-fram); }
.amt-pasos h3 { margin: .5rem 0 .4rem; }
.amt-pasos p { margin: 0; color: var(--amt-gris); }

/* ---------- FAQ ---------- */
.amt-faq { border-bottom: 1px solid var(--amt-linea); padding: 1.1rem 0; margin: 0 !important; }
.amt-faq summary { font-weight: 700; font-size: 1.12rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.amt-faq summary::-webkit-details-marker { display: none; }
.amt-faq summary::after { content: "+"; color: var(--amt-fram); font-size: 1.5rem; line-height: 1; }
.amt-faq[open] summary::after { content: "–"; }
.amt-faq p { margin: .7rem 0 0; color: var(--amt-gris); max-width: 68ch; }

/* ---------- Blog en portada ---------- */
.amt-blog-wrap { padding-block: clamp(3.2rem, 7vw, 5rem) 0; }
.amt-blog-wrap:not(:has(.ayt-blog-home)) { display: none; }

/* ---------- Llamada final ---------- */
.amt-final { padding-block: clamp(3rem, 6vw, 4.5rem) clamp(3.5rem, 7vw, 5.5rem); }
.amt-final-card { background: var(--amt-fram); color: #fff; border-radius: 24px; padding: clamp(1.6rem, 4vw, 3rem); gap: 1.5rem 2.5rem; }
.amt-final-card h2 { color: #fff; margin: 0; }
.amt-final-card p { color: #FFE3EA; margin: .7rem 0 0; }
.amt-final-num { font-family: var(--amt-disp); font-size: clamp(2.1rem, 4vw, 2.9rem); line-height: 1; margin: 0 0 .9rem !important; color: #fff !important; }
.amt-final .ayt-botones { margin: 0; }
.amt-final .ayt-btn-llamar { background: #fff; color: var(--amt-fram) !important; box-shadow: 0 5px 0 var(--amt-fram2); }
.amt-final .ayt-btn-llamar:hover { background: #FFF0F4; }
.amt-final .ayt-btn-wa { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.75); }
.amt-final .ayt-btn-wa:hover { background: #fff; color: var(--amt-fram) !important; }

/* ---------- Páginas interiores ---------- */
.amt-page-hero { padding-block: clamp(2.2rem, 5vw, 3.6rem) clamp(2rem, 5vw, 3rem); }
.amt-page-hero h1 { margin: .4rem 0 .8rem; }
.amt-page-hero-corto { padding-bottom: 1.6rem; }
.amt-page-hero .ayt-botones { margin-top: 1.4rem; }
.amt-contenido h2 { margin-top: 2.6rem; font-size: clamp(1.6rem, 3vw, 2.1rem); }
.amt-contenido h3 { margin-top: 1.8rem; }
.amt-contenido li { margin: .35rem 0; }
.amt-contenido .ayt-cartas-app { margin-bottom: 1rem; }
.amt-articulo h1 { margin-top: .4rem; }
.amt-ficha-sec { padding-top: clamp(2rem, 5vw, 3rem); }
.amt-ficha-txt { max-width: 760px; }
.amt-ficha-txt h2 { font-size: clamp(1.5rem, 3vw, 1.9rem); margin-top: 2rem; }
.amt-listado .wp-block-post { background: #fff; border: 1px solid var(--amt-linea); border-radius: 16px; overflow: hidden; padding-bottom: 1rem; }
.amt-listado .wp-block-post > *:not(.wp-block-post-featured-image) { padding-inline: 1.1rem; }
.amt-listado .wp-block-post-title a { color: var(--amt-tinta); text-decoration: none; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 2px solid var(--amt-tinta); color: var(--amt-tinta); background: transparent; }

/* ---------- Pie ---------- */
.amt-pie { background: var(--amt-tinta); color: #CDCBE0; font-size: .97rem; padding-block: 3.2rem 1.4rem; }
.amt-pie-cols { gap: 2rem; }
.amt-pie-marca .ayt-pie-tel { margin-top: 1rem; }
.amt-pie .ayt-legal { color: #A9A8C2; }
.amt-pie-tit { font-family: var(--wp--preset--font-family--texto) !important; font-size: .82rem !important; letter-spacing: .12em; text-transform: uppercase; font-weight: 700 !important; color: #fff !important; margin: 0 0 .7rem; }
.amt-pie-lista, .amt-pie .ayt-legales { list-style: none; padding: 0; margin: 0; }
.amt-pie-lista li, .amt-pie .ayt-legales li { margin: .35rem 0; }
.amt-pie a { color: #E7E5F3; text-decoration: none; }
.amt-pie a:hover { color: var(--amt-mant); text-decoration: underline; }
.amt-pie-bajo { border-top: 1px solid var(--amt-tinta2); margin-top: 2.4rem !important; padding-top: 1rem; font-size: .84rem; gap: .4rem 1.4rem; }
.amt-pie-bajo p { margin: 0; }

/* ---------- Móvil ---------- */
@media (max-width: 900px) {
	.amt-herr { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 600px) and (max-width: 1040px) {
	.amt-nav .wp-block-navigation__container > li:nth-child(n+4) { display: none; }
}
@media (max-width: 599px) {
	.amt-hd-der { gap: .7rem; }
	.amt-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
}
@media (max-width: 781px) {
	.amt-hero-cols > .wp-block-column { flex-basis: 100% !important; }
	.amt-final-card > .wp-block-column { flex-basis: 100% !important; }
}
@media (max-width: 760px) {
	:root { --amt-top: 34px; }
	.amt-top { font-size: .82rem; }
	.amt-top-txt { display: none; }
	.amt-top-in { justify-content: center !important; }
	.amt-hd-in { padding-block: .6rem; gap: .6rem; }
	.amt-logo span { font-size: 1.32rem; }
	.amt-logo svg { width: 24px; height: 29px; }
	.amt-ctas { flex-direction: column; align-items: stretch !important; }
	.amt-ctas > * { width: 100%; }
	.amt-cta-test a { width: 100%; justify-content: center; }
	.amt-postal { transform: none; padding: 1.1rem; }
	.amt-abanico { height: 246px; margin-top: 2.2rem; }
	.amt-c { width: 116px; height: 194px; margin-left: -58px; border-width: 5px; }
	.amt-c svg { width: 60px; height: 60px; }
	.amt-c1 { transform: translateX(-76px) rotate(-11deg); }
	.amt-c3 { transform: translateX(76px) rotate(11deg); }
	.amt-sello { width: 60px; height: 72px; right: 14px; }
	.amt-sello span { font-size: 1.3rem; }
	.amt-matasellos { width: 88px; height: 88px; font-size: .5rem; }
	.amt-matasellos b { font-size: .68rem; }
	.amt-postal-nota { font-size: .88rem; }
	.amt-pasos { gap: 1.4rem; }
	.amt-pie-cols { flex-wrap: wrap !important; }
	.amt-pie-cols > .wp-block-column { flex-basis: calc(50% - 1rem) !important; }
	.amt-pie-cols > .amt-pie-marca { flex-basis: 100% !important; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.amt-h { transition: none; }
}
