/*
Theme Name: Tedy Rasca Theme
Theme URI: https://kulturaone.com/
Author: Tedy / KulturaOne
Description: Theme limpio para WordPress dedicado a Tedy Rasca Regalos. Optimizado para páginas de creador, panel de usuario y rascas móviles.
Version: 1.0.5
Text Domain: tedy-rasca-theme
*/

:root{
  --tr-blue:#075bbb;
  --tr-dark:#07111f;
  --tr-gold:#d9a441;
  --tr-white:#ffffff;
  --tr-soft:#f5f8ff;
}

*{box-sizing:border-box}

html,body{
  margin:0;
  padding:0;
  min-height:100%;
}

body{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at top left, rgba(7,91,187,.22), transparent 35%),
    radial-gradient(circle at top right, rgba(217,164,65,.18), transparent 38%),
    linear-gradient(180deg,#f8fbff,#eef5ff);
  color:#102033;
}

a{color:var(--tr-blue)}

.tr-site-header{
  position:sticky;
  top:0;
  z-index:999;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(7,91,187,.12);
}

.tr-header-inner{
  max-width:1120px;
  margin:0 auto;
  padding:14px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.tr-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--tr-dark);
  font-weight:900;
}

.tr-brand-mark{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--tr-blue),#0ea5e9,var(--tr-gold));
  box-shadow:0 10px 28px rgba(7,91,187,.25);
}

.tr-brand-title{
  display:block;
  font-size:18px;
  line-height:1;
}

.tr-brand-subtitle{
  display:block;
  font-size:12px;
  color:#64748b;
  font-weight:700;
  margin-top:3px;
}

.tr-nav{
  display:flex;
  align-items:center;
  gap:10px;
}

.tr-nav a{
  text-decoration:none;
  color:#1e293b;
  font-weight:800;
  font-size:14px;
  padding:9px 12px;
  border-radius:999px;
}

.tr-nav a:hover{
  background:#eaf2ff;
  color:var(--tr-blue);
}

.tr-main{
  max-width:1120px;
  margin:0 auto;
  padding:30px 20px 48px;
}

.tr-card-page{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(7,91,187,.10);
  border-radius:28px;
  padding:24px;
  box-shadow:0 24px 70px rgba(7,17,31,.10);
}

.tr-entry-title{
  margin:0 0 16px;
  font-size:clamp(30px,5vw,54px);
  line-height:.98;
  letter-spacing:-.04em;
  color:var(--tr-dark);
}

.tr-entry-content{
  font-size:17px;
  line-height:1.6;
}

.tr-entry-content > *:first-child{margin-top:0}
.tr-entry-content > *:last-child{margin-bottom:0}

.tr-footer{
  text-align:center;
  color:#64748b;
  padding:28px 20px 42px;
  font-size:13px;
}

body.page-template-default .tedy-r-shell,
body .tedy-r-shell{
  box-shadow:none;
  border:1px solid rgba(7,91,187,.12);
}

body.tedy-r-fullscreen .tr-site-header,
body.tedy-r-fullscreen .tr-footer{
  display:none;
}

@media(max-width:760px){
  .tr-header-inner{
    padding:12px 14px;
  }
  .tr-brand-subtitle{
    display:none;
  }
  .tr-nav{
    display:none;
  }
  .tr-main{
    padding:14px 10px 30px;
  }
  .tr-card-page{
    border-radius:22px;
    padding:14px;
  }
  .tr-entry-title{
    font-size:32px;
  }
}


/* v1.0.1 — portada Rasca Regalo */
.tr-home-hero{
  min-height:calc(100vh - 150px);
  display:grid;
  place-items:center;
  padding:34px 0 56px;
}

.tr-home-card{
  position:relative;
  width:min(980px,100%);
  overflow:hidden;
  border-radius:38px;
  padding:54px 34px;
  background:
    radial-gradient(circle at 20% 12%, rgba(255,255,255,.95), transparent 24%),
    radial-gradient(circle at 88% 18%, rgba(217,164,65,.45), transparent 28%),
    linear-gradient(135deg,#075bbb 0%,#0ea5e9 42%,#ffffff 42%,#ffffff 58%,#d9a441 58%,#f6d47a 100%);
  box-shadow:0 34px 100px rgba(7,17,31,.22);
  border:1px solid rgba(255,255,255,.75);
}

.tr-home-card:before{
  content:"";
  position:absolute;
  inset:auto -80px -120px -80px;
  height:260px;
  background:rgba(255,255,255,.28);
  transform:rotate(-4deg);
}

.tr-home-inner{
  position:relative;
  z-index:2;
  max-width:740px;
  margin:0 auto;
  text-align:center;
  color:#07111f;
}

.tr-home-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 15px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.9);
  color:#075bbb;
  font-weight:950;
  font-size:14px;
  box-shadow:0 10px 30px rgba(0,0,0,.10);
}

.tr-home-title{
  margin:22px 0 14px;
  font-size:clamp(42px,8vw,86px);
  line-height:.9;
  letter-spacing:-.07em;
  font-weight:1000;
}

.tr-home-title span{
  display:block;
  color:#075bbb;
  text-shadow:0 3px 0 rgba(255,255,255,.72);
}

.tr-home-text{
  max-width:650px;
  margin:0 auto 28px;
  font-size:clamp(17px,2.8vw,23px);
  line-height:1.42;
  font-weight:750;
  color:#1e293b;
}

.tr-home-gift{
  width:150px;
  height:150px;
  margin:6px auto 18px;
  position:relative;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.18));
}

.tr-home-gift-box{
  position:absolute;
  left:18px;
  right:18px;
  bottom:12px;
  height:92px;
  border-radius:22px;
  background:linear-gradient(135deg,#075bbb,#0ea5e9);
  border:4px solid rgba(255,255,255,.9);
}

.tr-home-gift-box:before{
  content:"";
  position:absolute;
  left:50%;
  top:-4px;
  bottom:-4px;
  width:24px;
  transform:translateX(-50%);
  background:#d9a441;
}

.tr-home-gift-box:after{
  content:"";
  position:absolute;
  left:-4px;
  right:-4px;
  top:34px;
  height:24px;
  background:#d9a441;
}

.tr-home-bow{
  position:absolute;
  left:50%;
  top:8px;
  width:105px;
  height:70px;
  transform:translateX(-50%);
}

.tr-home-bow:before,
.tr-home-bow:after{
  content:"";
  position:absolute;
  top:8px;
  width:56px;
  height:48px;
  border-radius:50% 50% 44% 44%;
  background:#d9a441;
  border:4px solid rgba(255,255,255,.9);
}

.tr-home-bow:before{
  left:0;
  transform:rotate(-26deg);
}

.tr-home-bow:after{
  right:0;
  transform:rotate(26deg);
}

.tr-home-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-width:min(92vw,420px);
  padding:22px 32px;
  border-radius:999px;
  background:linear-gradient(135deg,#07111f,#075bbb 45%,#d9a441);
  color:#ffffff !important;
  text-decoration:none;
  font-size:clamp(20px,4.8vw,31px);
  font-weight:1000;
  box-shadow:0 18px 45px rgba(7,91,187,.35);
  transition:transform .18s ease, box-shadow .18s ease;
}

.tr-home-button:hover{
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 24px 58px rgba(7,91,187,.46);
}

.tr-home-small{
  margin:18px 0 0;
  color:#334155;
  font-weight:700;
  font-size:15px;
}

.tr-home-features{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:32px auto 0;
  max-width:760px;
}

.tr-home-feature{
  padding:14px 12px;
  border-radius:18px;
  background:rgba(255,255,255,.80);
  border:1px solid rgba(255,255,255,.88);
  font-weight:850;
  color:#0f172a;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

@media(max-width:760px){
  .tr-main{
    padding-top:10px;
  }
  .tr-home-hero{
    min-height:calc(100vh - 110px);
    padding:12px 0 30px;
  }
  .tr-home-card{
    border-radius:28px;
    padding:34px 16px;
  }
  .tr-home-gift{
    width:120px;
    height:120px;
  }
  .tr-home-gift-box{
    height:74px;
  }
  .tr-home-features{
    grid-template-columns:1fr;
  }
}


/* v1.0.4 — menú móvil visible con Plantillas */
.tr-menu-toggle{
  display:none;
  border:0;
  border-radius:999px;
  padding:10px 14px;
  background:linear-gradient(135deg,#0ea5e9,#25D366);
  color:#fff;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(14,165,233,.20);
}

.tr-menu-toggle span{
  display:inline-block;
  margin-left:6px;
}

.tr-nav{
  position:relative;
}

.tr-nav .menu,
.tr-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:10px;
}

.tr-nav li{
  margin:0;
  padding:0;
}

.tr-nav li a{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  color:#1e293b;
  font-weight:800;
  font-size:14px;
  padding:9px 12px;
  border-radius:999px;
}

.tr-nav li a:hover{
  background:#eaf2ff;
  color:var(--tr-blue);
}

@media(max-width:760px){
  .tr-header-inner{
    position:relative;
  }

  .tr-menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
  }

  .tr-nav{
    display:none;
    position:absolute;
    top:calc(100% + 8px);
    left:10px;
    right:10px;
    z-index:1000;
    padding:12px;
    border-radius:22px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(14,165,233,.18);
    box-shadow:0 22px 48px rgba(15,23,42,.16);
    backdrop-filter:blur(14px);
  }

  body.tr-menu-open .tr-nav,
  .tr-site-header.is-open .tr-nav{
    display:grid !important;
    gap:8px;
  }

  .tr-nav .menu,
  .tr-nav ul{
    display:grid;
    gap:8px;
    width:100%;
  }

  .tr-nav a,
  .tr-nav li a{
    width:100%;
    justify-content:center;
    padding:13px 14px;
    background:#eff6ff;
    color:#0f172a;
    border-radius:16px;
    font-size:15px;
  }

  .tr-nav a[href*="plantillas"],
  .tr-nav li a[href*="plantillas"]{
    background:linear-gradient(135deg,#25D366,#0ea5e9);
    color:#fff;
    box-shadow:0 12px 24px rgba(37,211,102,.20);
  }
}


/* v1.0.5 — sin menú en encabezado: entrada principal por portada/plantillas */
.tr-menu-toggle,
.tr-nav{
  display:none !important;
}

.tr-header-inner{
  justify-content:center;
}

.tr-brand{
  justify-content:center;
  text-align:left;
}
