:root{
  --bg:#0f0f0f;
  --text:#111;
  --muted:#666;
  --white:#fff;
  --card:#f3f3f3;
  --orange:#f59a23;
  --orange2:#e95b2a;
  --shadow: 0 10px 30px rgba(0,0,0,.12);
  --radius: 26px;
  --container: 1120px;
  --headerH: 74px;
  --topbarH: 36px;
  --font: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:#fff;
}

img{ max-width:100%; display:block; }

.container{
  width: min(var(--container), calc(100% - 32px));
  margin: 0 auto;
}

/* TOPBAR */
.topbar{
  height: var(--topbarH);
  background:#0b0b0b;
  color:#fff;
  display:flex;
  align-items:center;
}
.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.topbar__btn{
  background: #ffb400;
  color:#111;
  font-weight:800;
  letter-spacing:.04em;
  text-decoration:none;
  padding:8px 12px;
  border-radius: 999px;
  font-size:12px;
}
.topbar__social a{
  color:#fff;
  text-decoration:none;
  margin-left:10px;
  opacity:.9;
}
.topbar__social a:hover{ opacity:1; }

/* HEADER sticky */
.header{
  position: sticky;
  top: 0;
  z-index: 999;
  height: var(--headerH);
  background:#fff;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.header__inner{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.brand img{
  height:40px;
  width:auto;
}

/* NAV */
.nav{
  display:flex;
  gap:18px;
  align-items:center;
}
.nav__link{
  text-decoration:none;
  font-weight:700;
  font-size:12px;
  letter-spacing:.12em;
  color:#7a7a7a;
}
.nav__link:hover{ color:#111; }

/* Mobile toggle */
.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  height:2px;
  width:26px;
  background:#111;
  margin:6px auto;
  border-radius:2px;
}

/* SECTIONS */
.section{ padding: 28px 0; }

/* HERO */
.heroCard{
  background: #ededed;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow:hidden;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  align-items:stretch;
}
.heroCard__media{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding: 0 0 0 12px;
}
.heroCard__media img{
  width:100%;
  height:auto;
  object-fit:cover;
}
.heroCard__content{
  padding: 34px 34px 34px 10px;
}
.kicker{
  margin:0 0 10px 0;
  font-weight:700;
  font-size:12px;
  letter-spacing:.08em;
  color:#353535;
  text-transform:uppercase;
}
.heroTitle{
  margin:0 0 12px 0;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 900;
}
.heroTitle__light{
  font-weight:700;
  color:#000;
}
.heroText{
  margin:0 0 18px 0;
  color:#000;
  font-size:13px;
  line-height:1.6;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:0;
  cursor:pointer;
  font-weight:900;
  letter-spacing:.02em;
}
.btn--primary{
  background: var(--orange);
  color:#111;
  padding: 10px 16px;
  border-radius: 999px;
}
.btn--primary:hover{ filter: brightness(.97); }
.btn--big{ padding: 12px 22px; font-size:14px; }
.btn--pill{
  border-radius: 999px;
  padding: 10px 16px;
  background: #ffd24a;
  color:#111;
}
.btn--dark{
  background:#111;
  color:#fff;
}
.btn--dark:hover{ filter: brightness(1.07); }


.banner{
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow);
  display:grid;
  grid-template-columns: 1fr 1fr;
  align-items:stretch;
}


.bannerRF{
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  min-height: 260px;

 
  background-image: url("../img/religiousfreedom.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;


  display: flex;
  justify-content: flex-end;
}


.bannerRF__content{
  width: min(52%, 620px);
  padding: 90px 28px;
  color:#111;
}

/* Tipos */
.bannerRF__title{
  margin:0 0 10px 0;
  font-weight: 900;
  font-size: 18px;
}
.bannerRF__text{
  margin:0 0 10px 0;
  font-size: 12.5px;
  line-height: 1.65;
  color: #000;
}

/* Responsive: texto abajo y centrado */
@media (max-width: 980px){
  .bannerRF{
    justify-content: center;
    min-height: 320px;
  }
  .bannerRF__content{
    width: 100%;
    padding: 18px;
    background: rgba(255,255,255,.72); /* ayuda legibilidad en móvil */
    backdrop-filter: blur(4px);
  }
}

.banner__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.banner__content{
  padding: 30px 28px;
  background: radial-gradient(1200px 600px at 10% 20%, #ffcf6a 0%, rgba(255,207,106,0) 40%),
              linear-gradient(90deg, var(--orange), var(--orange2));
  color:#111;
}
.banner__title{
  margin:0 0 10px 0;
  font-weight:900;
  font-size:16px;
}
.banner__text{
  margin:0 0 10px 0;
  font-size:12.5px;
  line-height:1.65;
  color:rgba(0,0,0,.75);
}

/* Book strip */

.bookHero{
  position: relative;
  border-radius: 44px;
  overflow: hidden;
  box-shadow: var(--shadow);
  min-height: 220px;

  /* fondo */
  background-image: url("../img/fondoBook.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  /* layout */
  display: grid;
  grid-template-columns: 1.2fr .65fr 1fr;
  align-items: center;
  gap: 18px;
  padding: 26px 34px;
}


.bookHero::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg,
    rgba(0,0,0,.68) 0%,
    rgba(0,0,0,.45) 45%,
    rgba(0,0,0,.25) 100%
  );
  pointer-events:none;
}


.bookHero > *{
  position: relative;
  z-index: 1;
}

.bookHero__title{
  margin:0 0 10px 0;
  font-size: 64px;       
  line-height: .95;
  font-weight: 900;
  color:#fff;
  letter-spacing: -0.02em;
  text-shadow: 0 10px 22px rgba(0,0,0,.35);
}

.bookHero__subtitle{
  margin:0;
  font-size: 26px;
  line-height: 1.15;
  font-weight: 900;
  color: #f2a22a; 
  text-shadow: 0 10px 22px rgba(0,0,0,.35);
}


.bookHero__center{
  display:flex;
  justify-content:center;
  align-items:center;
}
.bookHero__center img{
  width: 170px;
  height:auto;
  filter: drop-shadow(0 16px 26px rgba(0,0,0,.55));
}


.bookHero__right{
  display:flex;
  justify-content:flex-end;
}
.bookHero__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 22px 56px;
  border-radius: 999px;
  background: #f59a23;
  color:#111;
  text-decoration:none;
  font-weight: 900;
  font-size: 34px;
  letter-spacing: .02em;
  box-shadow: 0 14px 24px rgba(0,0,0,.25);
}
.bookHero__btn:hover{ filter: brightness(.97); }

/* RESPONSIVE */
@media (max-width: 980px){
  .bookHero{
    grid-template-columns: 1fr;
    text-align:center;
    padding: 18px;
    gap: 14px;
  }
  .bookHero__right{ justify-content:center; }
  .bookHero__title{ font-size: 44px; }
  .bookHero__subtitle{ font-size: 18px; }
  .bookHero__center img{ width: 140px; }
  .bookHero__btn{
    font-size: 24px;
    padding: 16px 34px;
  }
}

/* Object cards */
.grid2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.objectCard{
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow);
  position:relative;
  min-height: 190px;
}
.objectCard img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.objectCard__content{
  position:absolute;
  inset:auto 18px 18px 18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 12px;
}
.objectCard__text{
  margin:0;
  font-size:12px;
  line-height:1.5;
  max-width: 62%;
  color: rgba(255,255,255,.9);
  font-weight:600;
}
.objectCard--light .objectCard__text{ color: rgba(0,0,0,.65); }
.objectCard--light .objectCard__content{ align-items:center; }
.objectCard--light .btn--dark{ background:#000; }
.objectCard--dark .objectCard__content{ align-items:center; }


.fullBanner img{
  width:100%;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

/* Living card */

.livingBG{
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  min-height: 360px;

  background-image: url("../img/livingyour.png");
  background-size: cover;
  background-position: left center;
  background-repeat: no-repeat;

  display:flex;
  justify-content:flex-end; 
}


.livingBG__content{
  width: min(55%, 680px);
  padding: 28px 28px;
  color:#111;
}

.livingBG__subtitle{
  margin: 18px 0 8px 0;
  font-weight: 900;
  font-size: 18px;
}


.livingText{
  margin: 0 0 16px 0;
  color:#000;
  font-size:13px;
  line-height:1.65;
}


@media (max-width: 980px){
  .livingBG{
    justify-content:center;
    background-position: 30% center;
    min-height: 420px;
  }
  .livingBG__content{
    width: 100%;
    padding: 18px;
    background: rgba(255,255,255,.78);
    backdrop-filter: blur(4px);
  }
}

/* Footer */
.footer{
  background:#0b0b0b;
  color:#fff;
  padding: 28px 0;
  margin-top: 24px;
}
.footer__inner{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
  align-items:start;
}
.footer__menu{
  display:flex;
  flex-wrap:wrap;
  gap: 14px;
}
.footer__menu a{
  color:#bbb;
  text-decoration:none;
  font-weight:800;
  font-size:12px;
  letter-spacing:.08em;
}
.footer__menu a:hover{ color:#fff; }
.footer__title{
  margin:0 0 8px 0;
  font-weight:900;
  letter-spacing:.08em;
  font-size:12px;
}
.footer__text{
  margin:0;
  color:#bdbdbd;
  font-size:12px;
  line-height:1.6;
}
.footer__col--right{
  text-align:right;
}
.footer__social a{
  color:#fff;
  text-decoration:none;
  margin-left:10px;
  opacity:.9;
  font-size:16px;
}
.footer__social a:hover{ opacity:1; }
.footer__small{
  margin: 10px 0 0 0;
  color:#bdbdbd;
  font-size:12px;
}
.footer__small a{ color:#fff; text-decoration:none; }

/* RESPONSIVE */
@media (max-width: 980px){
  .heroCard,
  .banner,
  .livingCard{
    grid-template-columns: 1fr;
  }
  .heroCard__content{ padding: 18px 18px 22px 18px; }
  .banner__content{ padding: 18px; }
  .bookStrip__overlay{
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    align-items:center;
  }
  .bookStrip__right{
    grid-column: 1 / -1;
    justify-content:flex-start;
  }
  .grid2{ grid-template-columns: 1fr; }
  .footer__inner{ grid-template-columns: 1fr; }
  .footer__col--right{ text-align:left; }
}

@media (max-width: 820px){
  .nav-toggle{ display:block; }
  .nav{
    position: fixed;
    top: calc(var(--topbarH) + var(--headerH));
    right: 16px;
    left: 16px;
    background:#fff;
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 12px;
    display:none;
    flex-direction:column;
    gap: 10px;
    border: 1px solid rgba(0,0,0,.06);
  }
  .nav.is-open{ display:flex; }
  .nav__link{
    padding: 10px 12px;
    border-radius: 12px;
    width:100%;
  }
  .nav__link:hover{
    background:#f4f4f4;
  }
}


/* ABOUT page */
.pageHead{ padding: 20px 0 0 0; }
.breadcrumb{
  margin:0;
  font-size:12px;
  letter-spacing:.22em;
  font-weight:700;
  color:#b0b0b0;
  text-transform:uppercase;
}


.aboutTop{
  display:grid;
  grid-template-columns: 550px 1fr;
  gap: 20px;
  align-items:start;
  padding-top: 16px;
}

.aboutTop__photo img{
  width:100%;
  border-radius: 28px;
  box-shadow: var(--shadow);
}

.aboutTop__title{
  margin: 0 0 12px 0;
  line-height: .85;
  font-weight: 900;
  font-size: 78px; 
  letter-spacing: -0.03em;
}
.aboutTop__titleOrange{ color: var(--orange); }
.aboutTop__titleBlack{ color: #111; }

.aboutTop__kicker{
  margin: 0 0 6px 0;
  font-weight: 900;
  color:#111;
  font-size: 16px;
}
.aboutTop__sub{
  margin: 0 0 18px 0;
  color:#111;
  font-weight: 500;
  font-size: 14px;
}

.aboutTop__text p{
  margin: 0 0 14px 0;
  color:#000;
  line-height:1.8;
  font-size: 13px;
}


.aboutMid{
  margin-top: 34px;
  display:grid;
  grid-template-columns: 1fr 520px;
  gap: 36px;
  align-items:center;
}
.aboutMid__text p{
  margin: 0 0 14px 0;
  color:#000;
  line-height:1.85;
  font-size: 13px;
}
.aboutMid__photo img{
  width:100%;
  border-radius: 28px;
  /*box-shadow: var(--shadow);*/
}


@media (max-width: 980px){
  .aboutTop{
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .aboutTop__title{ font-size: 54px; }

  .aboutMid{
    grid-template-columns: 1fr;
    gap: 18px;
  }
}


/* SPEAKING */
.speakingHero{
  margin-top: 10px;
  border-radius: 28px;
  overflow:hidden;
  box-shadow: var(--shadow);
}
.speakingHero img{
  width:100%;
  height:auto;
  display:block;
}

.speakingCTA{
  display:flex;
  justify-content:center;
  margin: 18px 0 22px 0;
}
.speakingCTA__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background: var(--orange);
  color:#fff;
  font-weight: 900;
  font-size: 14px;
  padding: 14px 34px;
  border-radius: 999px;
  box-shadow: 0 12px 22px rgba(0,0,0,.18);
}
.speakingCTA__btn:hover{ filter: brightness(.97); }


.talksGrid{
  margin-top: 8px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 2px solid rgba(0,0,0,.35);
}

.talkCard{
    padding: 18px 18px 22px 18px;
    border-right: 2px solid #f5f5f575;
    border-bottom: 2px solid #ededed61;
    min-height: 140px;
    margin: 5px auto;
}

.talkCard:nth-child(4n){
  border-right: none; 
}

.talkCard h3{
  margin:0 0 8px 0;
  font-size: 18px;
  line-height: 1.05;
  font-weight: 900;
  color:#111;
}
.talkCard .accent{
  color: var(--orange);
}
.talkDesc{
  margin:0 0 10px 0;
  color:#666;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 600;
}

/* Botoncito amarillo */
.talkBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background:#ffd24a;
  color:#111;
  font-weight: 900;
  font-size: 11px;
  padding: 6px 12px;
  border-radius: 999px;
}
.talkBtn:hover{ filter: brightness(.97); }

.talkCard--empty{
  background: transparent;
}

/* Responsive */
@media (max-width: 980px){
  .talksGrid{ grid-template-columns: repeat(2, 1fr); }
  .talkCard:nth-child(4n){ border-right: 2px solid rgba(0,0,0,.35); } /* reset */
  .talkCard:nth-child(2n){ border-right: none; } /* última col en 2 columnas */
}

@media (max-width: 560px){
  .talksGrid{ grid-template-columns: 1fr; }
  .talkCard{ border-right:none; }
}

/* CONTACT */
.contactHero{
  margin-top: 10px;
  border-radius: 28px;
  overflow:hidden;
  box-shadow: var(--shadow);
}
.contactHero img{
  width:100%;
  height:auto;
  display:block;
}

/* Grid */
.contactGrid{
  margin-top: 34px;
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 40px;
  align-items:start;
}

/* Left big text */
.contactTitle{
  margin:0 0 16px 0;
  font-weight: 900;
  font-size: 64px;
  line-height: .95;
  letter-spacing: -0.03em;
  color:#111;
}
.contactTitle span{
  color: var(--orange);
}

.contactSub{
  margin:0;
  font-size: 18px;
  font-weight: 900;
  color:#111;
}

/* Right form */
.contactFormTitle{
  margin: 0 0 14px 0;
  font-size: 14px;
  font-weight: 900;
  color:#111;
}

.contactForm{
  display:flex;
  flex-direction:column;
  gap: 12px;
}

.contactForm input,
.contactForm textarea{
  width:100%;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 999px;
  padding: 12px 16px;
  font-family: var(--font);
  font-size: 12.5px;
  outline: none;
  background: #fff;
}

.contactForm textarea{
  border-radius: 18px;
  resize: vertical;
  min-height: 110px;
}

.contactForm input:focus,
.contactForm textarea:focus{
  border-color: rgba(245,154,35,.8);
  box-shadow: 0 0 0 3px rgba(245,154,35,.18);
}

/* Submit */
.contactSubmit{
  margin-top: 6px;
  border:0;
  cursor:pointer;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 900;
  font-size: 13px;
  background: var(--orange);
  color:#111;
}
.contactSubmit:hover{ filter: brightness(.97); }

/* Responsive */
@media (max-width: 980px){
  .contactGrid{
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .contactTitle{
    font-size: 44px;
  }
}


.storeHead{ max-width: 820px; }
.storeTitle{
  margin:0 0 10px 0;
  font-weight: 900;
  font-size: 54px;
  line-height: .98;
  letter-spacing: -0.03em;
  color:#111;
}
.storeSub{
  margin:0;
  font-size: 14px;
  font-weight: 700;
  color:#111;
  opacity:.8;
}

/* Filters */
.storeFilters{
  margin-top: 18px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
}
.storeFilter{
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  color:#111;
  padding: 9px 12px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  cursor:pointer;
}
.storeFilter.is-active{
  border-color: rgba(245,154,35,.9);
  box-shadow: 0 0 0 3px rgba(245,154,35,.18);
}


.storeGrid{
  margin-top: 18px;
  display:grid;
  gap: 20x; 
  grid-template-columns: repeat(5, 1fr); 
}


.storeCard{
  transition: transform .18s ease, box-shadow .18s ease;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  align-items: stretch;
  padding:10px;
}
.storeCard:hover{
  transform: translateY(-4px) scale(1.01);
}


@media (max-width: 1200px){
  .storeGrid{ grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 980px){
  .storeGrid{ grid-template-columns: repeat(2, 1fr); }
}


.storeImg{
  display:block;
  background:#f6f6f6;
}
.storeImg img{
    width: 85%;
    height: 250px;
    object-fit: contain;
    display: block;
    margin: auto;
}


.storeBody{
  padding: 10px 10px 12px;
  display:flex;
  flex-direction:column;
  gap: 8px;
  flex:1;
}
.storeTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}
.storePill{
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
}
.storePrice{
  font-weight: 900;
  font-size: 12px;
  color:#111;
}

.storeName{
  margin:0;
  font-size: 13px;    
  font-weight: 900;
  line-height: 1.25;
}
.storeName a{ color:#111; text-decoration:none; }
.storeName a:hover{ text-decoration:underline; }


.storePreview{
  margin:0;
  font-size: 11.5px;
  color:#111;
  opacity:.80;
  line-height:1.55;

  display:-webkit-box;
  -webkit-box-orient: vertical;
  /*-webkit-line-clamp: 3;*/
  overflow:hidden;
}

/* Botones compactos */
.storeActions{
  margin-top:auto;
  display:flex;
  gap: 8px;
}
.storeBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius: 999px;
  padding: 9px 10px;     /* más chico */
  font-weight: 900;
  font-size: 11px;
  border: 0;
  cursor:pointer;
  flex:1;
}
.storeBtn--orange{ background: var(--orange); color:#111; }
.storeBtn--dark{ background: #111; color:#fff; }
.storeBtn:hover{ filter: brightness(.97); }

/* Responsive */
@media (max-width: 1200px){
  .storeGrid{ grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 980px){
  .storeTitle{ font-size: 44px; }
  .storeGrid{ grid-template-columns: repeat(2, 1fr); }
  .storeImg img{ height: 220px; }
}
@media (max-width: 540px){
  .storeGrid{ grid-template-columns: 1fr; }
  .storeImg img{ height: 240px; }
}

/* ITEM */
.itemGrid{
  margin-top: 24px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items:start;
}
.itemImgWrap{
  border-radius: 28px;
  overflow:hidden;
  box-shadow: var(--shadow);
  background:#fff;
}
.itemImgWrap img{ width:100%; height:auto; display:block; }

.itemTop{ display:flex; align-items:center; justify-content:space-between; gap: 12px; }
.itemPill{
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
}
.itemPrice{ font-weight: 900; }

.itemTitle{
  margin: 12px 0 10px 0;
  font-weight: 900;
  font-size: 44px;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color:#111;
}
.itemDesc{
  font-size: 13px;
  line-height: 1.7;
  color:#111;
  opacity:.85;
  white-space: pre-line;
}

.itemActions{
  margin-top: 18px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
}
.itemBtn{
  border:0;
  cursor:pointer;
  border-radius: 999px;
  padding: 12px 16px;
  font-weight: 900;
  font-size: 12px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.itemBtn--orange{ background: var(--orange); color:#111; }
.itemBtn--dark{ background:#111; color:#fff;    height: 25px; }

.itemShare{ margin-top: 16px; }
.itemShareTitle{ margin:0 0 8px 0; font-weight: 900; font-size: 12px; color:#111; }
.itemShareBtns{ display:flex; gap: 10px; }
.itemShareBtn{
  width: 42px; height: 42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.18);
  color:#111;
  text-decoration:none;
}
.itemShareBtn:hover{ border-color: rgba(245,154,35,.9); box-shadow: 0 0 0 3px rgba(245,154,35,.18); }
.itemTiny{ margin:10px 0 0 0; font-size: 12px; opacity:.75; }

/* Responsive item */
@media (max-width: 980px){
  .itemGrid{ grid-template-columns: 1fr; }
  .itemTitle{ font-size: 36px; }
}


.recommendedBlock{ margin-top: 46px; }

.recommendedHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.recommendedTitle{
  margin:0;
  font-weight: 900;
  font-size: 22px;
  color:#111;
  letter-spacing: -0.02em;
}
.recommendedLink{
  font-weight: 900;
  font-size: 12px;
  color:#111;
  opacity:.75;
  text-decoration:none;
}
.recommendedLink:hover{ text-decoration: underline; }

.recommendedGrid.fixed4{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

/* card */
.recCard{
  background:#fff;
  border-radius: 18px;
  overflow:hidden;
  box-shadow: var(--shadow);
  display:flex;
  flex-direction:column;
  transition: transform .18s ease, box-shadow .18s ease;
}
.recCard:hover{
  transform: translateY(-4px) scale(1.01);
}

.recImg{ display:block; background:#f6f6f6; }
.recImg img{
  width:100%;
  height: 160px;
  object-fit: cover;
  display:block;
}

.recBody{
  padding: 10px 10px 12px;
  display:flex;
  flex-direction:column;
  gap: 8px;
  flex:1;
}
.recTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}
.recPill{
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
}
.recPrice{ font-weight: 900; font-size: 12px; }

.recName{
  margin:0;
  font-size: 12.5px;
  font-weight: 900;
  line-height:1.25;
}
.recName a{ color:#111; text-decoration:none; }
.recName a:hover{ text-decoration:underline; }

.recActions{
  margin-top:auto;
  display:flex;
  gap: 8px;
}
.recBtn{
  flex:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius: 999px;
  padding: 9px 10px;
  font-weight: 900;
  font-size: 11px;
}
.recBtn--orange{ background: var(--orange); color:#111; }
.recBtn--dark{ background:#111; color:#fff; }

/* Responsive */
@media (max-width: 1200px){
  .recommendedGrid.fixed4{ grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 980px){
  .recommendedGrid.fixed4{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px){
  .recommendedGrid.fixed4{ grid-template-columns: 1fr; }
  .recImg img{ height: 220px; }
}

/* AMERICA'S ROSARY */
.rosaryHero{
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.rosaryHero img{
  width:100%;
  height:auto;
  display:block;
}

.rosaryBuy{
  position:absolute;
  left: 65px;
  bottom: 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 14px 26px;
  border-radius: 999px;
  background: var(--orange);
  color:#111;
  text-decoration:none;
  font-weight: 900;
  letter-spacing:.02em;
  box-shadow: 0 14px 24px rgba(0,0,0,.25);
}
.rosaryBuy:hover{ filter: brightness(.97); }

.rosaryWrap{
  margin-top: 26px;
  max-width: 920px;
}

.rosaryTitle{
  margin: 0 0 14px 0;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: -0.02em;
}
.rosaryTitle span{
  color:#999;
  font-weight:700;
}

.rosaryText p{
  margin: 0 0 14px 0;
  color:#555;
  font-size: 14px;
  line-height: 1.85;
}

.rosaryDivider{
  margin: 18px 0;
  color:#999;
  letter-spacing:.08em;
  font-weight: 700;
}

.rosaryActions{
  margin-top: 18px;
}


@media (max-width: 980px){
  .rosaryTitle{ font-size: 26px; }
  .rosaryText p{ font-size: 13px; }
  .rosaryBuy{
    right: 12px;
    bottom: 12px;
    padding: 12px 20px;
  }
}
/* AMERICASROSARY II*/

.rosaryPage .rosaryHero{
  margin-bottom:40px;
  text-align:center;
}

.rosaryPage .rosaryHero img{
  width:100%;
  height:auto;
  display:block;
  margin:0 auto;
  border-radius:22px;
}

.rosaryWrap{
  max-width:1200px;
  margin:0 auto;
}

.rosaryTitle{
  text-align:center;
  margin-bottom:36px;
}

.rosaryTitle span{
  opacity:.55;
}

.rosarySplit{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:32px;
}

.rosaryLangCard{
  background:#fff;
  border:1px solid #ececec;
  border-radius:24px;
  padding:28px;
}

.rosaryLangCard__head{
  margin-bottom:20px;
}

.rosaryLangCard__kicker,
.kicker{
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#b77a16;
  margin-bottom:8px;
}

.rosaryLangCard h2{
  margin:0;
}

.rosaryText p{
  line-height:1.8;
  color:#000;
  margin-bottom:16px;
}

.rosaryOffer{
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid #ececec;
}

.rosaryOffer__title{
  margin:0 0 18px;
}

.rosaryOptionsGrid{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}

.rosaryOption{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:20px;
  align-items:center;
  background:#fafafa;
  border:1px solid #ececec;
  border-radius:20px;
  padding:18px;
}

.rosaryOption__image{
  text-align:center;
}

.rosaryOption__image img{
  width:100%;
  max-width:140px;
  height:auto;
  border-radius:12px;
}

.rosaryOption__content h3{
  margin:0 0 8px;
}

.rosaryOption__content p{
  margin:0 0 10px;
  line-height:1.6;
}

.rosaryOption__price{
  font-weight:800;
  color:#111;
}

.rosaryStickerBox{
  margin-top:24px;
  display:grid;
  grid-template-columns:180px 1fr;
  gap:20px;
  align-items:center;
  background:#f7f7f7;
  border-radius:20px;
  padding:20px;
}

.rosaryStickerBox__image{
  text-align:center;
}

.rosaryStickerBox__image img{
  width:100%;
  max-width:140px;
  height:auto;
  border-radius:12px;
}

.rosaryStickerBox__content h3{
  margin:0 0 10px;
}

.rosaryStickerBox__content p{
  margin:0 0 10px;
  line-height:1.7;
}

.rosaryStickerBox__note{
  font-size:.95rem;
  opacity:.8;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 22px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  transition:all .2s ease;
}

.btn--primary{
  background:#f3a227;
  color:#111;
}

.btn--primary:hover{
  opacity:.92;
}

@media (max-width: 991px){
  .rosarySplit{
    grid-template-columns:1fr;
  }

  .rosaryOption{
    grid-template-columns:1fr;
    text-align:center;
  }

  .rosaryStickerBox{
    grid-template-columns:1fr;
    text-align:center;
  }
}

/* AMERICASROSARY II */

/* CROWN OF THORNS */
.thornsHero{
  position: relative;
  padding: 28px 0 34px;
  /* Backdrop armonizado: vino/negro */
  background:
    radial-gradient(1200px 500px at 20% 10%, rgba(140, 18, 26, .18), transparent 60%),
    radial-gradient(900px 420px at 80% 20%, rgba(0,0,0,.18), transparent 55%),
    linear-gradient(180deg, #0e0e0f, #161416);
}

.thornsHero__inner{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 28px;
  align-items: center;
}

.thornsHero__media{
  position: relative;
  border-radius: 28px;
  overflow:hidden;
  box-shadow: var(--shadow);
  background: #0b0b0b;
}

.thornsHero__img{
 width: 100%;
    height: min(100vh, 1204px);
    object-fit: contain;
    display: block;
    transition: opacity .18s ease;
}

.thornsHero__fade{
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(14,14,15,0) 55%, rgba(14,14,15,.92) 100%);
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events:none;
}

.thornsHero__cta{
  color: #fff;
}

.thornsHero__kicker{
  margin:0 0 10px 0;
  font-weight: 900;
  letter-spacing: .14em;
  font-size: 12px;
  opacity:.85;
}

.thornsHero__title{
  margin:0 0 10px 0;
  font-weight: 900;
  font-size: 62px;
  line-height: .95;
  letter-spacing: -0.03em;
}

.thornsHero__sub{
  margin:0 0 18px 0;
  font-weight: 700;
  opacity:.9;
  line-height: 1.6;
  max-width: 420px;
}

.thornsHero__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 999px;
  background: #fff;
  color:#111;
  text-decoration:none;
  font-weight: 900;
  font-size: 12px;
}
.thornsHero__btn:hover{ filter: brightness(.97); }

/* Content spacing */
.thornsContent{ background: #fff; }

/* Downloads */
.thornsDownloads{
  margin-top: 6px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  align-items:center;
}
.thornsDlBtn{
  display:inline-flex;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.16);
  text-decoration:none;
  color:#111;
  font-weight: 900;
  font-size: 12px;
  background:#fff;
}
.thornsDlBtn:hover{
  border-color: rgba(245,154,35,.9);
  box-shadow: 0 0 0 3px rgba(245,154,35,.18);
}
.thornsDlNote{
  margin: 4px 0 0 0;
  font-size: 12px;
  opacity:.65;
}


.thornsGrid{
  margin-top: 26px;
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr) !important;
  gap: 26px;
  align-items: start;
}

.thornsLeft, .thornsRight{
  min-width: 0; /* evita que el texto "rompa" el grid */
}

.thornsSideImg{
  display:block;
  border-radius: 28px;
  overflow:hidden;
  box-shadow: var(--shadow);
  background:#0b0b0b;
  border: 1px solid rgba(0,0,0,.08);
}
.thornsSideImg img{
  width:100%;
  height:auto;
  display:block;
  object-fit: cover;
}

.thornsSideNote{
  margin: 10px 0 0 2px;
  font-size: 12px;
  font-weight: 800;
  opacity:.65;
}

/* Responsive: aquí SÍ se apila */
@media (max-width: 980px){
  .thornsGrid{
    grid-template-columns: 1fr !important;
  }
}

.thornsHeading{
  margin: 0 0 10px 0;
  font-weight: 900;
  font-size: 26px;
  color:#111;
  letter-spacing: -0.02em;
}

.thornsText{
  color:#111;
  opacity:.86;
  line-height: 1.75;
  font-size: 13.5px;
}
.thornsText p{ margin: 0 0 12px 0; }
.thornsText p:last-child{ margin-bottom:0; }

/* Right card */
.thornsCard{
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(140, 18, 26, .08), rgba(0,0,0,.03));
  border: 1px solid rgba(0,0,0,.08);
  padding: 18px;
  box-shadow: var(--shadow);
}
.thornsCard__title{
  margin:0 0 10px 0;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .14em;
  opacity:.8;
}
.thornsCard__text{
  margin:0;
  font-weight: 800;
  font-size: 15px;
  line-height: 1.55;
}
.thornsCard__line{
  height: 1px;
  background: rgba(0,0,0,.10);
  margin: 14px 0;
}
.thornsCard__small{
  margin:0;
  font-size: 12px;
  opacity:.75;
  line-height: 1.55;
}

/* Promo */
.thornsPromo{
  margin-top: 30px;
  border-radius: 28px;
  padding: 18px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: var(--shadow);
}

/* Products */
.thornsShop{
  margin-top: 28px;
}
.thornsShop__sub{
  margin: 0 0 16px 0;
  opacity:.75;
  font-weight: 700;
}
.thornsProducts{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.thornsProduct{
  background:#fff;
  border-radius: 28px;
  box-shadow: var(--shadow);
  border: 1px solid rgba(0,0,0,.08);
  padding: 16px;
}
.thornsProduct__pill{
  margin:0 0 10px 0;
  display:inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  font-weight: 900;
  font-size: 11px;
  letter-spacing: .12em;
}
.thornsProduct__name{
  margin:0 0 6px 0;
  font-weight: 900;
  font-size: 18px;
  color:#111;
}
.thornsProduct__meta{
  margin:0 0 8px 0;
  opacity:.75;
  font-weight: 700;
  font-size: 12px;
}
.thornsProduct__price{
  margin:0 0 14px 0;
  font-weight: 900;
  font-size: 22px;
  color:#111;
}

.thornsProduct__btn{
  display:inline-flex;
  width:100%;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  padding: 12px 14px;
  font-weight: 900;
  font-size: 12px;
  text-decoration:none;
}
.thornsProduct__btn--dark{ background:#111; color:#fff; }
.thornsProduct__btn--orange{ background: var(--orange); color:#111; }
.thornsProduct__btn:hover{ filter: brightness(.97); }

.thornsShop__note{
  margin: 12px 0 0 0;
  font-size: 12px;
  opacity:.70;
}

/* Responsive */
@media (max-width: 980px){
  .thornsHero__inner{ grid-template-columns: 1fr; }
  .thornsHero__title{ font-size: 44px; }
  .thornsHero__img{ height: 52vh; }
  .thornsGrid{ grid-template-columns: 1fr; }
  .thornsProducts{ grid-template-columns: 1fr; }
}

/* Crown of Thorns - Story formatting */
.thornsStoryText p{
  margin: 0 0 14px 0;
}

.thornsStoryTitle{
  margin: 0 0 4px 0;
  font-weight: 900;
  font-size: 18px;
  letter-spacing: -0.02em;
  color:#111;
  opacity: 1;
}

.thornsStoryBy{
  margin: 0 0 14px 0;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .65;
}

.thornsStorySig{
  margin-top: 16px;
  font-weight: 900;
  opacity: .8;
}

/* Crown of Thorns - Promo formatting */
.thornsPromoTitle{
  margin: 0 0 10px 0;
  font-weight: 900;
  font-size: 14px;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .85;
}

.thornsPromoSubhead{
  margin: 16px 0 8px 0;
  font-weight: 900;
  font-size: 14px;
  color:#111;
  opacity: .95;
}

.thornsList{
  margin: 8px 0 14px 18px;
  padding: 0;
}
.thornsList li{
  margin: 6px 0;
}

.thornsOrderLink{
  font-weight: 900;
  color: #111;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.thornsOrderLink:hover{
  color: var(--orange);
}


.pressSection{
  background:#f7f3ee;
  border-radius:24px;
  padding:40px 30px;
}

.pressSection__header{
  text-align:center;
  margin-bottom:28px;
}

.pressSection__title{
  margin:10px 0 12px;
}

.pressSection__text{
  max-width:760px;
  margin:0 auto;
}

.pressGrid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px;
}

.pressCard{
  background:#fff;
  border-radius:20px;
  padding:28px 24px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
  gap:14px;
}

.pressCard__source{
  font-size:.85rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8a6a3f;
  font-weight:700;
  margin:0;
}

.pressCard__title{
  margin:0;
}

.pressCard__desc{
  margin:0 0 8px;
  line-height:1.6;
}

.pressCard .btn{
  align-self:flex-start;
}

@media (max-width: 768px){
  .pressGrid{
    grid-template-columns:1fr;
  }

  .pressSection{
    padding:28px 20px;
  }
}

.rosaryBundle{
  margin-top: 50px;
  padding: 40px 30px;
  background: #f7f3ee;
  border-radius: 24px;
}

.rosaryBundle__intro{
  text-align: center;
  margin-bottom: 30px;
}

.rosaryBundle__title{
  margin: 10px 0 8px;
}

.rosaryBundle__price{
  font-size: 2rem;
  font-weight: 800;
  color: #8b1e1e;
  margin: 0 0 10px;
}

.rosaryBundle__text{
  max-width: 720px;
  margin: 0 auto;
}

.rosaryOptions{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.rosaryOption{
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  display: flex;
  flex-direction: column;
}

.rosaryOption__image{
  background: #f4f4f4;
  padding: 20px;
  text-align: center;
}

.rosaryOption__image img{
  max-width: 100%;
  height: auto;
  max-height: 340px;
  object-fit: contain;
}

.rosaryOption__content{
  padding: 24px;
  text-align: center;
}

.rosaryOption__content h3{
  margin-bottom: 10px;
}

.rosaryOption__price{
  font-size: 1.4rem;
  font-weight: 700;
  margin: 12px 0 18px;
  color: #8b1e1e;
}

@media (max-width: 768px){
  .rosaryOptions{
    grid-template-columns: 1fr;
  }

  .rosaryBundle{
    padding: 28px 20px;
  }
}

.contactMailOrder{
  margin-top: 34px;
  padding: 24px;
  background: #f7f3ee;
  border-radius: 20px;
  border: 1px solid rgba(0,0,0,.06);
}

.contactMailOrder__title{
  margin: 0 0 10px;
  font-size: 1.2rem;
}

.contactMailOrder__text{
  margin: 0 0 14px;
  line-height: 1.6;
}

.contactMailOrder__address p{
  margin: 0 0 4px;
  font-weight: 600;
}

.thankyouBox{
  max-width: 860px;
  margin: 0 auto;
  background: #f7f3ee;
  border-radius: 28px;
  padding: 42px 30px;
  text-align: center;
}

.thankyouKicker{
  margin: 0 0 10px;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #8a6a3f;
}

.thankyouTitle{
  margin: 0 0 12px;
}

.thankyouText{
  margin: 0 0 28px;
  font-size: 1.05rem;
}

.thankyouCard{
  background: #fff;
  border-radius: 22px;
  padding: 24px;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 24px;
  align-items: center;
  text-align: left;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}

.thankyouCard__media{
  text-align: center;
}

.thankyouCard__media img{
  max-width: 100%;
  height: auto;
  max-height: 260px;
  object-fit: contain;
}

.thankyouLabel{
  margin: 0 0 8px;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #8a6a3f;
}

.thankyouProduct{
  margin: 0 0 10px;
}

.thankyouPrice{
  margin: 0 0 10px;
  font-size: 1.35rem;
  font-weight: 800;
  color: #8b1e1e;
}

.thankyouSmall{
  margin: 0;
  color: #555;
}

.thankyouMail{
  margin-top: 28px;
  padding: 24px;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}

.thankyouMail__title{
  margin: 0 0 10px;
}

.thankyouMail__text{
  margin: 0 0 14px;
}

.thankyouMail__address p{
  margin: 0 0 4px;
  font-weight: 600;
}

.thankyouActions{
  margin-top: 28px;
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

@media (max-width: 768px){
  .thankyouBox{
    padding: 30px 20px;
  }

  .thankyouCard{
    grid-template-columns: 1fr;
    text-align: center;
  }
}

.dualBooks__intro{
  text-align:center;
  margin-bottom:40px;
}

.dualBooks__intro h1{
  margin-bottom:10px;
}

.dualBooks__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:30px;
}

.dualBooks__card{
  background:#111;
  border-radius:24px;
  overflow:hidden;
  color:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  display:flex;
  flex-direction:column;
}

.dualBooks__imageWrap{
  background:#000;
  padding:30px;
  text-align:center;
}

.dualBooks__imageWrap img{
  max-width:220px;
  width:100%;
  height:auto;
      margin: 0 auto;
}

.dualBooks__content{
  padding:28px;
}

.dualBooks__lang{
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#f4a024;
  margin-bottom:10px;
}

.dualBooks__content h2{
  margin-bottom:10px;
}

.dualBooks__price{
  font-weight:700;
  font-size:20px;
  margin-bottom:18px;
}

.dualBooks__desc{
  line-height:1.6;
  margin-bottom:24px;
}

.btnMain{
  display:inline-block;
  background:#f4a024;
  color:#000;
  font-weight:700;
  padding:14px 24px;
  border-radius:999px;
  text-decoration:none;
}

.btnMain:hover{
  opacity:.9;
}

@media (max-width: 900px){
  .dualBooks__grid{
    grid-template-columns:1fr;
  }
}