/* ============================================================
   Paz House 8.2 F6
   Page layer final: carrito, checkout, contacto, cuenta y
   paginas secundarias. Mobile-first y sin alterar logica.
   ============================================================ */

/* ---------- Cabeceras secundarias ---------- */
.ph-page-hero,
.checkout-head,
.contact-head {
  padding: clamp(32px, 7vw, 64px) 0 clamp(24px, 5vw, 44px);
  border-bottom: 1px solid var(--ph-border);
  background:
    radial-gradient(circle at 50% 115%, rgba(255,79,168,.11), transparent 48%),
    linear-gradient(180deg, #fff 0%, var(--ph-bg) 100%);
  text-align: center;
}
.ph-page-hero .linea-oro,
.checkout-head .linea-oro,
.contact-head .linea-oro { margin: 10px auto 14px; }
.ph-page-hero h1,
.checkout-head h1,
.contact-head h1 { margin: 0; color: var(--ph-text); }
.ph-page-hero p:last-child,
.contact-head__lead { max-width: 620px; margin: 10px auto 0; color: var(--ph-text-muted); font-size: var(--ph-fs-14); }

/* ---------- Carrito ---------- */
.cart-page {
  min-height: 70vh;
  padding: clamp(28px, 5vw, 56px) 0 var(--ph-space-8);
  background: linear-gradient(180deg, var(--ph-bg) 0, #fff 38%);
}
.cart-page .section__header { margin-bottom: var(--ph-space-6); }
.cart-page .section__titulo { margin-top: var(--ph-space-2); }
.cart-page-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--ph-space-5); align-items:start; }
.cart-list,
.cart-summary {
  border:1px solid var(--ph-border);
  border-radius:var(--ph-radius-lg);
  background:var(--ph-surface);
  box-shadow:var(--ph-shadow-sm);
}
.cart-list { padding: 6px 16px; }
.cart-summary { padding:20px; }
.cart-item {
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid var(--ph-border);
}
.cart-item:last-child { border-bottom:0; }
.cart-item img { width:72px; aspect-ratio:4/5; object-fit:cover; border-radius:var(--ph-radius-md); background:var(--ph-surface-soft); }
.cart-item h2 { margin:0 0 4px; color:var(--ph-text); font-size:var(--ph-fs-14); }
.cart-meta { color:var(--ph-text-muted); font-size:var(--ph-fs-12); line-height:1.55; }
.cart-price { grid-column:2; color:var(--ph-text); font-size:var(--ph-fs-14); font-weight:800; white-space:nowrap; }
.cart-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; }
.cart-actions button { min-width:44px; min-height:44px; padding:0 10px; border:1px solid var(--ph-border); border-radius:10px; background:#fff; color:var(--ph-text); cursor:pointer; }
.cart-actions button:hover { border-color:var(--ph-brand-border); background:var(--ph-brand-soft); }
.cart-actions .remove { width:auto; color:var(--ph-danger); }
.cart-summary-row { display:flex; justify-content:space-between; gap:16px; padding:10px 0; color:var(--ph-text-soft); }
.cart-summary-total { margin-top:6px; padding-top:16px; border-top:1px solid var(--ph-border); color:var(--ph-text); font-size:var(--ph-fs-18); font-weight:800; }
.cart-discount-note { margin:16px 0; padding:12px 14px; border-radius:var(--ph-radius-md); background:var(--ph-surface-soft); color:var(--ph-text-soft); font-size:var(--ph-fs-12); line-height:1.6; }
.cart-summary .btn { width:100%; justify-content:center; margin-top:16px; }
.cart-summary .cm-full-link { display:block; min-height:44px; padding:13px 8px 0; color:var(--ph-brand-text); font-size:var(--ph-fs-12); font-weight:700; text-align:center; }
.cart-empty { padding:64px 20px; text-align:center; }
.cart-empty__icon { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 16px; border-radius:18px; background:var(--ph-surface-soft); color:var(--ph-brand-text); }
.cart-empty__icon .paz-icon { width:28px; height:28px; }
.cart-empty h2 { margin:0 0 16px; }

@media (min-width: 840px) {
  .cart-page-grid { grid-template-columns:minmax(0,1fr) 340px; }
  .cart-list { padding:8px 22px; }
  .cart-summary { position:sticky; top:calc(var(--ph-header-h, 72px) + 20px); }
  .cart-item { grid-template-columns:88px minmax(0,1fr) auto; gap:16px; }
  .cart-item img { width:88px; }
  .cart-price { grid-column:auto; }
}

/* ---------- Checkout ---------- */
.checkout-main { min-height:70vh; background:linear-gradient(180deg,var(--ph-bg),#fff 38%); }
.checkout-head { margin-bottom:0; }
.checkout-main > .section { padding-top:clamp(28px,5vw,52px); }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:start; }
.co-box {
  margin-bottom:16px;
  padding:20px;
  border:1px solid var(--ph-border);
  border-radius:var(--ph-radius-lg);
  background:var(--ph-surface);
  box-shadow:var(--ph-shadow-sm);
}
.co-box:last-child { margin-bottom:0; }
.co-titulo { margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid var(--ph-border); color:var(--ph-brand-text); font-size:var(--ph-fs-12); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.fg2,.fg3 { display:grid; grid-template-columns:1fr; gap:14px; }
.form-group { margin-bottom:14px; }
.form-label { display:block; margin-bottom:7px; color:var(--ph-text-soft); font-size:var(--ph-fs-12); font-weight:700; }
.form-input { width:100%; }
.checkout-inline-grid { display:grid; grid-template-columns:1fr; gap:14px; margin-bottom:16px; }
.checkout-copy { color:var(--ph-text-muted); font-size:var(--ph-fs-12); line-height:1.7; }
.checkout-note { margin-top:6px; color:var(--ph-text-muted); font-size:var(--ph-fs-12); }
.checkout-submit { width:100%; justify-content:center; }
.checkout-legal { margin-top:10px; color:var(--ph-text-muted); font-size:11px; line-height:1.55; text-align:center; }
.checkout-summary { position:relative; }
.checkout-summary__content { min-width:0; flex:1; }
.checkout-summary__list { margin-top:12px; }
.checkout-back { display:block; min-height:44px; padding:12px 0 0; color:var(--ph-brand-text); font-size:var(--ph-fs-12); font-weight:700; }
.checkout-back:hover { color:var(--ph-brand-hover); }
.checkout-divider { margin-top:16px; padding-top:14px; border-top:1px solid var(--ph-border); }
.checkout-option-note { color:var(--ph-text-muted); font-size:var(--ph-fs-12); line-height:1.55; }
.checkout-optional { margin-left:6px; color:var(--ph-text-muted); font-size:11px; font-weight:500; letter-spacing:0; text-transform:none; }

.pasos { display:flex; margin-bottom:22px; overflow:hidden; border:1px solid var(--ph-border); border-radius:var(--ph-radius-md); background:#fff; }
.paso { flex:1; padding:10px 6px; border-right:1px solid var(--ph-border); background:#fff; color:var(--ph-text-muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-align:center; text-transform:uppercase; }
.paso:last-child { border-right:0; }
.paso.activo { background:var(--ph-brand-soft); color:var(--ph-brand-text); }
.paso.listo { color:var(--ph-success); }

.resumen-item { display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--ph-border); }
.resumen-item__img { flex:0 0 58px; width:58px; aspect-ratio:4/5; object-fit:cover; border:1px solid var(--ph-border); border-radius:10px; background:var(--ph-surface-soft); }
.resumen-item__nombre { margin:0 0 3px; color:var(--ph-text); font-size:var(--ph-fs-12); font-weight:700; line-height:1.35; }
.resumen-item__meta { margin:0; color:var(--ph-text-muted); font-size:11px; }
.resumen-item__precio { margin-left:auto; padding-left:8px; color:var(--ph-text); font-size:var(--ph-fs-12); font-weight:800; white-space:nowrap; }
.tot-linea { display:flex; justify-content:space-between; gap:12px; padding:8px 0; font-size:var(--ph-fs-12); }
.tot-linea dt { color:var(--ph-text-muted); }
.tot-linea dd { color:var(--ph-text); font-weight:700; }
.tot-linea.descuento dd { color:var(--ph-success); }
.tot-linea.envio dd { color:var(--ph-success); }
.tot-final { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-top:6px; padding-top:14px; border-top:1px solid var(--ph-border); }
.tot-final-label { color:var(--ph-text-muted); font-size:var(--ph-fs-12); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.tot-final-valor { color:var(--ph-text); font-size:var(--ph-fs-22); font-weight:800; }

.banco-card { position:relative; margin-bottom:18px; padding:18px; overflow:hidden; border:1px solid var(--ph-brand-border); border-radius:var(--ph-radius-lg); background:linear-gradient(145deg,#fff,var(--ph-surface-soft)); }
.banco-card::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 92% 8%,rgba(255,79,168,.12),transparent 32%); }
.banco-dato { position:relative; margin-bottom:14px; }
.banco-dato:last-child { margin-bottom:0; }
.banco-dato__label { margin:0 0 3px; color:var(--ph-brand-text); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.banco-dato__valor { margin:0; color:var(--ph-text); font-size:var(--ph-fs-14); font-weight:600; word-break:break-word; }
.copiar-btn { min-height:36px; margin-top:7px; padding:6px 11px; border:1px solid var(--ph-brand-border); border-radius:var(--ph-radius-pill); background:#fff; color:var(--ph-brand-text); font-size:11px; font-weight:800; cursor:pointer; }
.copiar-btn:hover { background:var(--ph-brand-soft); }
.pago-opcion,.entrega-opcion { display:block; padding:14px; border:1px solid var(--ph-border); border-radius:var(--ph-radius-md); background:#fff; color:var(--ph-text); cursor:pointer; transition:border-color var(--ph-fast),background var(--ph-fast),box-shadow var(--ph-fast),transform var(--ph-fast); }
.pago-opcion:hover,.entrega-opcion:hover { border-color:var(--ph-brand-border); }
.pago-opcion.seleccionada,.entrega-opcion.seleccionada { border-color:var(--ph-brand); background:var(--ph-brand-soft); box-shadow:0 0 0 3px rgba(255,79,168,.08); transform:translateY(-1px); }
.pago-opcion input,.entrega-opcion input { margin-right:6px; accent-color:var(--ph-brand); }
.pago-opcion strong,.entrega-opcion strong { color:var(--ph-text); font-size:var(--ph-fs-14); }
.pago-opcion span,.entrega-opcion span { display:block; margin-top:5px; color:var(--ph-text-muted); font-size:var(--ph-fs-12); line-height:1.55; }
.entrega-opciones { display:grid; grid-template-columns:1fr; gap:10px; margin-top:14px; }
.entrega-aviso { margin:0 0 14px; padding:12px 14px; border-left:3px solid var(--ph-brand); border-radius:0 var(--ph-radius-md) var(--ph-radius-md) 0; background:var(--ph-brand-soft); color:var(--ph-text-soft); font-size:var(--ph-fs-12); line-height:1.6; }
.entrega-aviso a { color:var(--ph-brand-text); font-weight:700; }
.confirmado-wrap { max-width:660px; margin:0 auto; padding:12px 0 36px; text-align:center; }
.checkout-result-card { text-align:center; }
.checkout-result-icon { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 14px; border-radius:18px; background:var(--ph-surface-soft); color:var(--ph-brand-text); }
.checkout-result-icon .paz-icon { width:28px; height:28px; }
.checkout-result-kicker { margin-bottom:6px; }
.checkout-result-title { margin:14px 0 8px; font-size:var(--ph-fs-22); }
.checkout-result-copy { max-width:500px; margin:0 auto 16px; color:var(--ph-text-muted); font-size:var(--ph-fs-14); line-height:1.7; }
.checkout-result-total { margin:0 0 18px; color:var(--ph-text); font-size:var(--ph-fs-28); font-weight:800; }
.checkout-result-delivery { margin:0 auto 18px; color:var(--ph-text-soft); font-size:var(--ph-fs-14); }
.checkout-result-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.checkout-empty { padding:64px 12px; text-align:center; }
.checkout-empty .checkout-result-icon { margin-bottom:16px; }
.checkout-empty h2 { margin:0 0 8px; }
.checkout-empty p { margin:0 0 22px; color:var(--ph-text-muted); font-size:var(--ph-fs-14); }

@media (min-width: 620px) {
  .fg2 { grid-template-columns:1fr 1fr; }
  .fg3 { grid-template-columns:1fr 1fr 88px; }
  .checkout-inline-grid { grid-template-columns:1fr 1fr; }
  .entrega-opciones { grid-template-columns:repeat(3,1fr); }
}
@media (min-width: 960px) {
  .checkout-layout { grid-template-columns:minmax(0,1fr) 360px; gap:28px; }
  .checkout-summary { position:sticky; top:calc(var(--ph-header-h,72px) + 18px); }
}

/* ---------- Contacto ---------- */
.site-main-offset { min-height:70vh; background:linear-gradient(180deg,var(--ph-bg),#fff 40%); }
.contacto-layout { display:grid; grid-template-columns:1fr; gap:32px; align-items:start; }
.contact-intro { color:var(--ph-text-muted); font-size:var(--ph-fs-14); line-height:1.75; }
.contacto-dato { display:flex; gap:14px; align-items:flex-start; margin-bottom:20px; }
.contacto-dato__icono { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border-radius:13px; background:var(--ph-surface-soft); color:var(--ph-brand-text); }
.contacto-dato__icono .paz-icon { width:20px; height:20px; }
.contacto-dato__titulo { margin:0 0 3px; color:var(--ph-brand-text); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.contacto-dato__valor { margin:0; color:var(--ph-text-muted); font-size:var(--ph-fs-14); line-height:1.6; }
.contacto-dato__valor a { color:var(--ph-brand-text); font-weight:600; }
.contact-categories { margin-top:24px; padding-top:20px; border-top:1px solid var(--ph-border); }
.contact-categories__links { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.form-box { padding:20px; border:1px solid var(--ph-border); border-radius:var(--ph-radius-lg); background:#fff; box-shadow:var(--ph-shadow-sm); }
.form-box__titulo { margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid var(--ph-border); color:var(--ph-brand-text); font-size:var(--ph-fs-12); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.form-grid-2 { display:grid; grid-template-columns:1fr; gap:0; }
.form-box .form-group { margin-bottom:14px; }
.form-box .btn { width:100%; justify-content:center; }
.contact-privacy { margin:12px 0 0; color:var(--ph-text-muted); font-size:11px; line-height:1.6; text-align:center; }
.contact-success { padding:42px 20px; text-align:center; }
.contact-success__icon { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 14px; border-radius:18px; background:var(--ph-surface-soft); color:var(--ph-brand-text); }
.contact-success__icon .paz-icon { width:26px; height:26px; }
.contact-success h2 { margin:14px 0 8px; }
.contact-success p { max-width:400px; margin:0 auto 22px; color:var(--ph-text-muted); font-size:var(--ph-fs-14); }
.contact-success__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
@media (min-width: 700px) { .form-grid-2 { grid-template-columns:1fr 1fr; gap:14px; } }
@media (min-width: 940px) { .contacto-layout { grid-template-columns:.9fr 1.25fr; gap:56px; } .form-box { padding:30px; } }

/* ---------- Cuenta y experiencias F2 ---------- */
.account-experience,
.cuenta-page { padding-top:clamp(28px,5vw,56px); }
.account-subnav {
  position:sticky;
  top:calc(var(--ph-header-h,72px) + 8px);
  z-index:var(--ph-z-sticky);
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:22px;
  padding:8px;
  overflow-x:auto;
  border:1px solid var(--ph-border);
  border-radius:var(--ph-radius-lg);
  background:rgba(255,255,255,.97);
  box-shadow:var(--ph-shadow-sm);
  scrollbar-width:none;
  white-space:nowrap;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.account-subnav::-webkit-scrollbar { display:none; }
.account-subnav a {
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding:9px 12px;
  border-radius:var(--ph-radius-md);
  color:var(--ph-text-soft);
  font-size:var(--ph-fs-12);
  font-weight:700;
  text-decoration:none;
}
.account-subnav a:hover { background:var(--ph-brand-soft); color:var(--ph-brand-text); }
.account-subnav a.on { background:var(--ph-text); color:#fff; }
.account-subnav .paz-icon { flex:0 0 auto; width:17px; height:17px; }
.account-welcome h1 { color:#fff; }
.account-f2-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.account-f2-links a { min-height:72px; padding:12px; border:1px solid var(--ph-border); border-radius:var(--ph-radius-md); background:#fff; color:var(--ph-text); text-align:center; text-decoration:none; box-shadow:var(--ph-shadow-sm); }
.account-f2-links b { display:block; margin-bottom:3px; color:var(--ph-brand-text); font-size:18px; }

.f2-page { min-height:70vh; padding:clamp(28px,5vw,56px) 0 var(--ph-space-8); background:linear-gradient(180deg,var(--ph-bg),#fff 38%); }
.f2-hero { max-width:760px; margin-bottom:24px; }
.f2-hero h1 { margin:6px 0; color:var(--ph-text); }
.f2-hero p { margin:0; color:var(--ph-text-muted); font-size:var(--ph-fs-14); line-height:1.7; }
.f2-card { padding:20px; border:1px solid var(--ph-border); border-radius:var(--ph-radius-lg); background:#fff; color:var(--ph-text); box-shadow:var(--ph-shadow-sm); }
.f2-card h2 { margin:0 0 16px; color:var(--ph-text); font-size:var(--ph-fs-18); }
.f2-split,.messages-layout,.opiniones-grid { display:grid; grid-template-columns:1fr; gap:18px; align-items:start; }
.f2-form { display:grid; grid-template-columns:1fr; gap:14px; }
.f2-form label { display:grid; gap:7px; color:var(--ph-text-soft); font-size:var(--ph-fs-12); font-weight:700; }
.f2-form input,.f2-form select,.f2-form textarea { width:100%; }
.f2-form .wide { grid-column:1/-1; }
.f2-muted { color:var(--ph-text-muted); }
.f2-empty { padding:56px 20px; border:1px solid var(--ph-border); border-radius:var(--ph-radius-lg); background:#fff; text-align:center; }
.f2-empty b { display:block; color:var(--ph-brand-text); font-size:36px; }
.f2-empty h2 { margin:8px 0 18px; color:var(--ph-text); }
.f2-list { display:grid; margin-top:10px; }
.f2-list article,.f2-list>a { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:52px; padding:12px 0; border-bottom:1px solid var(--ph-border); color:var(--ph-text); text-decoration:none; }
.f2-list small { display:block; margin-top:3px; color:var(--ph-text-muted); }
.f2-list a:hover { color:var(--ph-brand-text); }
.f2-status { padding:5px 9px; border-radius:var(--ph-radius-pill); background:#fff6df; color:#8d5c00; font-size:10px; font-weight:800; text-transform:uppercase; }
.f2-status.aprobada { background:#eaf8f0; color:#16824b; }
.f2-status.rechazada { background:#fff0f2; color:#b5334b; }

.messages-layout aside.f2-card { min-width:0; }
.messages-sidebar h2 { margin-bottom:10px; }
.messages-sidebar .btn { width:100%; justify-content:center; }
.messages-sidebar-empty { margin:0; font-size:var(--ph-fs-12); line-height:1.6; }
.f2-form.messages-form { grid-template-columns:1fr; max-width:720px; }
.messages-form input,
.messages-form textarea {
  min-height:48px;
  padding:12px 14px;
  border:1px solid var(--ph-border-strong);
  border-radius:var(--ph-radius-md);
  background:#fff;
  color:var(--ph-text);
  font:inherit;
  outline:0;
}
.messages-form textarea { min-height:150px; resize:vertical; line-height:1.6; }
.messages-form input:focus,
.messages-form textarea:focus { border-color:var(--ph-brand); box-shadow:0 0 0 3px rgba(255,79,168,.10); }
.messages-form .btn { justify-self:start; min-width:180px; }
.conversation-thread { display:flex; flex-direction:column; gap:10px; max-height:480px; overflow:auto; margin:14px 0; padding:4px; }
.conversation-thread article { max-width:88%; padding:11px 13px; border:1px solid var(--ph-border); border-radius:14px; background:var(--ph-surface-muted); }
.conversation-thread .from-usuario { align-self:flex-end; border-color:var(--ph-brand-border); background:var(--ph-brand-soft); }
.conversation-thread .from-admin { align-self:flex-start; }
.conversation-thread .from-sistema { align-self:center; max-width:95%; background:#fff9ed; }
.conversation-thread p { margin:0; color:var(--ph-text-soft); font-size:var(--ph-fs-12); line-height:1.6; }
.conversation-thread small { display:block; margin-top:5px; color:var(--ph-text-muted); font-size:10px; }

.roulette-card { text-align:center; }
.roulette-stage { position:relative; display:grid; place-items:center; width:min(350px,100%); aspect-ratio:1; margin:0 auto 20px; }
.roulette-pointer { position:absolute; top:-3px; left:50%; z-index:2; width:0; height:0; border-left:10px solid transparent; border-right:10px solid transparent; border-top:18px solid var(--ph-text); transform:translateX(-50%); }
.roulette-wheel {
  position:relative;
  width:100%;
  height:100%;
  aspect-ratio:1/1;
  margin:0;
  overflow:hidden;
  border:10px solid #fff;
  border-radius:50%;
  background:conic-gradient(from -90deg,var(--roulette-segments));
  box-shadow:0 0 0 1px var(--ph-border),var(--ph-shadow-md);
  isolation:isolate;
}
.roulette-wheel::after { content:''; position:absolute; inset:calc(50% - 20px); z-index:2; border:6px solid rgba(255,255,255,.82); border-radius:50%; background:var(--ph-text); box-shadow:0 2px 10px rgba(0,0,0,.18); }
.roulette-wheel span {
  position:absolute;
  top:50%;
  left:50%;
  z-index:1;
  width:45%;
  padding-right:12px;
  color:#fff;
  font-size:clamp(8px,2.4vw,11px);
  font-weight:800;
  line-height:1.2;
  text-align:right;
  text-shadow:0 1px 3px rgba(0,0,0,.42);
  transform:rotate(var(--angle)) translateY(-50%);
  transform-origin:0 50%;
}
.roulette-wheel span.is-reversed { padding-right:0; padding-left:12px; text-align:left; transform:rotate(calc(var(--angle) + 180deg)) translate(-100%,-50%); }
.roulette-wheel.is-spinning { animation:none; transition:transform 2.8s cubic-bezier(.15,.7,.18,1); }
.roulette-meta { display:flex; justify-content:center; gap:14px; margin-bottom:14px; color:var(--ph-text-muted); font-size:var(--ph-fs-12); }
#roulette-result { min-height:44px; margin-top:14px; color:var(--ph-brand-text); }

.review-list { display:grid; gap:12px; }
.review { padding:16px; border:1px solid var(--ph-border); border-radius:var(--ph-radius-md); background:#fff; }
.review-stars { color:#b77b13; }
.review h3 { margin:6px 0; color:var(--ph-text); }
.review p { color:var(--ph-text-muted); line-height:1.65; }
.review footer { margin-top:8px; color:var(--ph-text-muted); font-size:11px; }
.review-answer { margin-top:12px; padding:12px; border-left:3px solid var(--ph-brand); border-radius:0 var(--ph-radius-sm) var(--ph-radius-sm) 0; background:var(--ph-brand-soft); }

@media (min-width: 680px) {
  .account-f2-links { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .f2-form { grid-template-columns:1fr 1fr; }
}
@media (min-width: 880px) {
  .f2-split,.opiniones-grid { grid-template-columns:1fr 1fr; }
  .messages-layout { grid-template-columns:300px minmax(0,1fr); }
}
@media (max-width: 679px) {
  .account-subnav { top:calc(var(--ph-header-h,56px) + 4px); margin-inline:-4px; border-radius:var(--ph-radius-md); }
  .account-subnav a { padding-inline:10px; }
  .messages-form .btn { width:100%; justify-self:stretch; }
}
@media (prefers-reduced-motion: reduce) {
  .roulette-wheel.is-spinning { transition-duration:.01ms; }
}

/* ---------- Novedades e historia ---------- */
.story-page,.news-page { background:linear-gradient(180deg,var(--ph-bg),#fff 32%); }
.story-hero,.news-detail-hero,.page-header.news-index-header { padding:clamp(40px,7vw,76px) 0 clamp(30px,5vw,52px); border-bottom:1px solid var(--ph-border); background:radial-gradient(circle at 50% 110%,rgba(255,79,168,.10),transparent 46%),#fff; }
.story-hero__logo { width:min(260px,64vw); max-height:150px; margin:0 0 22px; object-fit:contain; border-radius:18px; }
.story-hero h1,.news-detail-hero h1,.news-index-header h1 { margin:12px 0; color:var(--ph-text); }
.story-hero h1 em { color:var(--ph-brand-text); font-style:normal; }
.story-article { padding-top:clamp(30px,6vw,60px); padding-bottom:clamp(48px,7vw,80px); color:var(--ph-text-soft); }
.story-article p { margin:0 0 20px; font-size:var(--ph-fs-16); line-height:1.8; }
.story-article .story-article__lead { color:var(--ph-text); font-size:clamp(18px,3vw,22px); font-weight:600; }
.story-article blockquote { margin:30px 0; padding:20px 22px; border-left:4px solid var(--ph-brand); border-radius:0 var(--ph-radius-md) var(--ph-radius-md) 0; background:var(--ph-surface-soft); color:var(--ph-text); font-size:clamp(18px,3vw,22px); font-weight:600; line-height:1.55; }
.story-thanks { margin:30px 0; padding:22px; border:1px solid var(--ph-border); border-radius:var(--ph-radius-lg); background:#fff; }
.story-signature { display:grid; gap:4px; margin-top:28px; color:var(--ph-text); }
.story-signature span { color:var(--ph-brand-text); }
.section-action { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.news-detail-hero p,.news-index-header p,.news-detail-hero time { color:var(--ph-text-muted); }
.news-detail { padding-top:clamp(28px,5vw,52px); padding-bottom:var(--ph-space-8); }
.news-detail__image { width:100%; max-height:620px; object-fit:cover; border-radius:var(--ph-radius-lg); box-shadow:var(--ph-shadow-sm); }
.news-detail__content { padding:clamp(22px,4vw,40px) 0; color:var(--ph-text-soft); line-height:1.8; }
.news-grid { gap:18px; }
.news-card { overflow:hidden; border:1px solid var(--ph-border); border-radius:var(--ph-radius-lg); background:#fff; box-shadow:var(--ph-shadow-sm); }
.news-card > a { color:inherit; text-decoration:none; }
.news-card__media { aspect-ratio:4/3; overflow:hidden; background:var(--ph-surface-soft); }
.news-card__media img { width:100%; height:100%; object-fit:cover; }
.news-card__body { padding:18px; }
.news-card__body h2 { margin:7px 0; font-size:var(--ph-fs-18); }
.news-card__body p { color:var(--ph-text-muted); font-size:var(--ph-fs-12); line-height:1.6; }
.news-card__body span { color:var(--ph-brand-text); font-size:var(--ph-fs-12); font-weight:800; }
.empty-state-soft { padding:48px 20px; border:1px solid var(--ph-border); border-radius:var(--ph-radius-lg); background:#fff; text-align:center; box-shadow:var(--ph-shadow-sm); }

/* ---------- Footer final ---------- */
.footer { margin-top:0; background:var(--ph-text); color:#fff; }
.footer__grid { gap:32px; }
.footer__logo { color:#fff; }
.footer__desc,.footer__link,.footer__copy { color:rgba(255,255,255,.72); }
.footer__link:hover { color:#fff; }
.footer__social { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.footer__social a { display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:8px 12px; border:1px solid rgba(255,255,255,.15); border-radius:var(--ph-radius-pill); color:#fff; font-size:var(--ph-fs-12); font-weight:700; text-decoration:none; }
.footer__social a:hover { background:rgba(255,255,255,.08); }
.footer__social .paz-icon { width:16px; height:16px; }

/* ---------- Utilidades F6 ---------- */
.ph-actions { display:flex; flex-wrap:wrap; gap:10px; }
.ph-stack-sm { display:grid; gap:8px; }
.ph-stack-md { display:grid; gap:16px; }
.ph-mb-0 { margin-bottom:0; }
.ph-mb-1 { margin-bottom:8px; }
.ph-mb-2 { margin-bottom:16px; }
.ph-mt-1 { margin-top:8px; }
.ph-mt-2 { margin-top:16px; }
.ph-text-center { text-align:center; }

@media (max-width: 480px) {
  .co-box,.f2-card,.form-box { border-radius:16px; padding:16px; }
  .paso { font-size:9px; letter-spacing:.03em; }
  .checkout-result-actions .btn,.contact-success__actions .btn,.section-action .btn { width:100%; justify-content:center; }
}
.ph-text-left { text-align:left; }
.checkout-coupon { text-transform:uppercase; }

.account-f2-links b .paz-icon { width:20px; height:20px; margin:0 auto; }
.account-empty span .paz-icon { width:28px; height:28px; }
.contact-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
