/*
Theme Name: Rosa Soares — Online Recipes Child
Theme URI: https://rosasoares.com
Description: Personalização do tema Online Recipes para o ecossistema Rosa Soares. Mantém o tema pai e aplica a identidade Rosa Soares, estrutura da home, navegação e integração visual com WooCommerce.
Author: Rosa Soares
Template: online-recipes
Version: 1.0.2
Text Domain: rosa-soares-online-recipes
*/

:root {
  --rs-bg: #f7f2ec;
  --rs-paper: #fffdf9;
  --rs-rose: #8f5c52;
  --rs-rose-soft: #d4b6ad;
  --rs-rose-wash: #f2e7e2;
  --rs-taupe: #6f5f57;
  --rs-sage: #aeb6a0;
  --rs-text: #463b36;
  --rs-dark: #332b27;
  --rs-border: #e0d3c5;
  --rs-border-soft: #ebe1d6;
}

body { background: var(--rs-bg); color: var(--rs-text); }
.wp-site-blocks { overflow-x: hidden; }
a { text-underline-offset: .14em; }

.rs-shell { max-width: 1180px; margin-inline: auto; padding-inline: clamp(18px, 3vw, 36px); }
.rs-section { padding-block: clamp(56px, 7vw, 96px); }
.rs-kicker { font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--rs-rose); }
.rs-display { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2.7rem, 6vw, 5.35rem); line-height: .92; letter-spacing: -.03em; color: var(--rs-dark); }
.rs-h2 { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2.25rem, 4vw, 4rem); line-height: .98; letter-spacing: -.025em; color: var(--rs-dark); }
.rs-lead { font-size: clamp(1rem, 1.3vw, 1.15rem); line-height: 1.7; color: var(--rs-taupe); }
.rs-muted { color: var(--rs-taupe); }
.rs-card { background: var(--rs-paper); border: 1px solid var(--rs-border-soft); border-radius: 20px; box-shadow: 0 12px 34px rgba(70,59,54,.06); }
.rs-card-pad { padding: clamp(22px, 3vw, 34px); }
.rs-btn .wp-block-button__link { border-radius: 999px; padding: .86rem 1.35rem; font-weight: 700; box-shadow: none; }
.rs-btn-primary .wp-block-button__link { background: var(--rs-dark); color: #fff; }
.rs-btn-secondary .wp-block-button__link { background: transparent; color: var(--rs-dark); border: 1px solid var(--rs-border); }
.rs-btn-rose .wp-block-button__link { background: var(--rs-rose); color: #fff; }

.rs-header { border-bottom: 1px solid rgba(224,211,197,.7); background: rgba(255,253,249,.94); backdrop-filter: blur(10px); position: sticky; top: 0; z-index: 50; }
.rs-header-inner { min-height: 78px; }
.rs-brand { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 700; font-size: clamp(1.5rem, 2vw, 1.85rem); color: var(--rs-dark); }
.rs-brand small { display:block; font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-size: .58rem; letter-spacing:.16em; text-transform:uppercase; color: var(--rs-taupe); margin-top:-4px; }
.rs-header .wp-block-navigation { font-size: .9rem; }
.rs-header .wp-block-navigation-item__content { text-decoration: none; }
.rs-header .wp-block-navigation-item__content:hover { color: var(--rs-rose); }

.rs-hero { padding-top: clamp(56px, 8vw, 110px); padding-bottom: clamp(52px, 7vw, 90px); }
.rs-hero-grid { align-items: center; gap: clamp(34px, 6vw, 88px); }
.rs-hero-visual { min-height: 470px; position: relative; background: linear-gradient(145deg,#eaded1 0%,#f7f2ec 50%,#dce2d5 100%); border-radius: 34px; overflow: hidden; border: 1px solid rgba(224,211,197,.9); }
.rs-hero-visual:before, .rs-hero-visual:after { content:""; position:absolute; border-radius: 999px; filter: blur(.1px); }
.rs-hero-visual:before { width: 260px; height: 260px; background: rgba(183,140,129,.28); left:-58px; top:-48px; }
.rs-hero-visual:after { width: 210px; height: 210px; background: rgba(174,182,160,.34); right:-44px; bottom:-32px; }
.rs-paper-card { width:min(76%, 430px); aspect-ratio: 4/5; background:var(--rs-paper); border-radius:22px; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) rotate(-2deg); box-shadow: 0 28px 55px rgba(70,59,54,.16); border:1px solid rgba(224,211,197,.9); }
.rs-paper-card:before { content:""; position:absolute; width:72px; height:72px; border-radius:50%; background:var(--rs-rose-soft); left:28%; top:35%; box-shadow: 54px 10px 0 #eee3d6, 22px 60px 0 var(--rs-sage); opacity:.9; }
.rs-paper-card:after { content:"Coleções  •  Editor  •  Biblioteca"; position:absolute; left:24px; bottom:24px; right:24px; padding-top:16px; border-top:1px solid var(--rs-border); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--rs-taupe); text-align:center; }

.rs-paths { margin-top: -1px; border-top:1px solid var(--rs-border-soft); border-bottom:1px solid var(--rs-border-soft); background:rgba(255,253,249,.55); }
.rs-path-card { min-height: 220px; display:flex; flex-direction:column; justify-content:space-between; }
.rs-path-card .rs-number { font-family:"Cormorant Garamond",serif; font-size:2.7rem; color:rgba(143,92,82,.28); }
.rs-path-card h3 { font-family:"Cormorant Garamond",serif; font-size:2rem; line-height:1; color:var(--rs-dark); margin:.45rem 0; }
.rs-path-card p { color:var(--rs-taupe); line-height:1.65; }

.rs-chip-row { gap: 10px; justify-content:center; }
.rs-chip { border:1px solid var(--rs-border); border-radius:999px; padding:.55rem .9rem; background:var(--rs-paper); color:var(--rs-taupe); font-size:.86rem; }

.rs-editor-band { background: var(--rs-dark); color:#fff; }
.rs-editor-band .rs-h2, .rs-editor-band h3 { color:#fff; }
.rs-editor-band p { color:#e7ddd5; }
.rs-editor-mock { background:#493b35; border:1px solid rgba(255,255,255,.08); border-radius:26px; padding:18px; min-height:430px; }
.rs-editor-window { background:#f7f2ec; border-radius:20px; height:100%; min-height:394px; position:relative; overflow:hidden; }
.rs-editor-window:before { content:""; position:absolute; left:28px; top:28px; bottom:28px; width:78px; background:#eaded1; border-radius:14px; box-shadow: calc(100% + 234px) 0 0 #eaded1; }
.rs-editor-window:after { content:"A4"; display:flex; align-items:center; justify-content:center; position:absolute; inset:58px 122px 52px 122px; background:#fffdf9; border:1px solid #e0d3c5; box-shadow:0 15px 30px rgba(70,59,54,.1); color:#8f796e; font-family:"Cormorant Garamond",serif; font-size:2rem; }

.rs-products .products { margin-top:28px !important; }
.rs-products ul.products { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.rs-products ul.products li.product { width:auto !important; margin:0 !important; background:var(--rs-paper); border:1px solid var(--rs-border-soft); border-radius:18px; overflow:hidden; padding-bottom:18px; box-shadow:0 10px 28px rgba(70,59,54,.05); }
.rs-products ul.products li.product img { margin:0 0 14px !important; }
.rs-products ul.products li.product .woocommerce-loop-product__title,
.rs-products ul.products li.product .price,
.rs-products ul.products li.product .button { margin-inline:16px !important; }
.rs-products ul.products li.product .button { border-radius:999px !important; background:var(--rs-dark) !important; color:#fff !important; }

.rs-universe-card h3 { font-family:"Cormorant Garamond",serif; font-size:2rem; margin-bottom:.35rem; color:var(--rs-dark); }
.rs-universe-card p { color:var(--rs-taupe); line-height:1.6; }
.rs-universe-card { min-height:210px; }

.rs-price { background:var(--rs-paper); border:1px solid var(--rs-border); border-radius:26px; padding:34px; }
.rs-price-featured { background:var(--rs-dark); color:#fff; border-color:var(--rs-dark); box-shadow:0 18px 40px rgba(51,43,39,.22); }
.rs-price-featured .rs-muted { color:#dfd3ca; }
.rs-price-amount { font-family:"Cormorant Garamond",serif; font-size:3.4rem; line-height:1; }

.rs-cta { background:linear-gradient(135deg,#f0ded8,#f7f2ec 48%,#dfe5da); border-radius:28px; border:1px solid var(--rs-border-soft); }

.rs-footer { background:#2f2926; color:#e9dfd7; padding-block:54px 30px; }
.rs-footer a { color:#e9dfd7; text-decoration:none; }
.rs-footer a:hover { color:#fff; }
.rs-footer .rs-muted { color:#bfaea4; }

@media (max-width: 900px) {
  .rs-products ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rs-hero-visual { min-height:390px; }
  .rs-editor-window:before { width:56px; }
  .rs-editor-window:after { inset:54px 92px 52px 92px; }
}
@media (max-width: 620px) {
  .rs-products ul.products { grid-template-columns:1fr; }
  .rs-header-inner { min-height:68px; }
  .rs-hero { padding-top:40px; }
  .rs-hero-visual { min-height:320px; border-radius:26px; }
  .rs-editor-mock { min-height:330px; }
  .rs-editor-window { min-height:294px; }
  .rs-editor-window:after { inset:46px 74px 46px 74px; }
}


/* v1.0.1 — acabamento do cabeçalho/rodapé */
.rs-header .wp-block-navigation__container,
.rs-header .wp-block-navigation__responsive-container-content {
  column-gap: clamp(.8rem, 1.55vw, 1.45rem) !important;
  row-gap: .55rem !important;
}
.rs-header .wp-block-navigation-item { margin: 0 !important; }
.rs-header .wp-block-navigation-item__content { white-space: nowrap; }
.rs-footer .wp-block-heading { color: #f5ece6 !important; }
.rs-footer p, .rs-footer li { color: #e4d7cf; }
@media (max-width: 980px) {
  .rs-header .wp-block-navigation__responsive-container-open { display: flex !important; }
}


/* v1.0.2 — responsividade dos cards e fallback visual da loja */
.rs-products-placeholder {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin-top:28px;
}
.rs-product-placeholder {
  background:var(--rs-paper);
  border:1px solid var(--rs-border-soft);
  border-radius:18px;
  overflow:hidden;
  min-height:270px;
  box-shadow:0 10px 28px rgba(70,59,54,.05);
}
.rs-product-placeholder__image {
  aspect-ratio:4/3;
  background:linear-gradient(145deg,#eaded1,#f7f2ec 55%,#dce2d5);
  position:relative;
}
.rs-product-placeholder__image:after {
  content:"";
  position:absolute;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--rs-rose-soft);
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  box-shadow:38px 8px 0 #eee3d6,16px 40px 0 var(--rs-sage);
  opacity:.85;
}
.rs-product-placeholder__body { padding:16px; }
.rs-product-placeholder__eyebrow { font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--rs-rose); font-weight:700; }
.rs-product-placeholder__title { font-family:"Cormorant Garamond",Georgia,serif; font-size:1.45rem; line-height:1.05; color:var(--rs-dark); margin:.45rem 0 .35rem; }
.rs-product-placeholder__text { color:var(--rs-taupe); font-size:.86rem; line-height:1.5; }

.rs-universe-grid { gap:18px !important; }
.rs-universe-grid > .wp-block-column,
.rs-path-grid > .wp-block-column { min-width:0; }
.rs-universe-card h3 {
  font-size:clamp(1.45rem,2vw,1.85rem);
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
}
.rs-universe-card p { overflow-wrap:normal; word-break:normal; }

@media (max-width: 980px) {
  .rs-universe-grid {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rs-products-placeholder { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rs-price-grid { display:grid !important; grid-template-columns:minmax(0,1fr); }
  .rs-price-grid > .wp-block-column:empty { display:none; }
}
@media (max-width: 760px) {
  .rs-path-grid {
    display:grid !important;
    grid-template-columns:minmax(0,1fr);
  }
  .rs-path-card { min-height:auto; }
  .rs-universe-grid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width: 620px) {
  .rs-products-placeholder { grid-template-columns:minmax(0,1fr); }
}
