/*
Theme Name: Fragalo Elegante
Theme URI: https://fragalo.com/
Author: Fragalo
Description: Tema corporativo a medida para Fragalo, con logística especializada, encimeras, representación comercial y actualidad.
Version: 1.3.0
Text Domain: fragalo-elegante
*/

:root {
  --fragalo-brown: #4a2817;
  --fragalo-brown-dark: #2d160d;
  --fragalo-gold: #d3a13b;
  --fragalo-gold-dark: #b88118;
  --fragalo-cream: #f8f3eb;
  --fragalo-beige: #efe5d8;
  --fragalo-ink: #1e1a17;
  --fragalo-muted: #6f6258;
  --fragalo-white: #ffffff;
  --fragalo-border: #dfd2c3;
  --fragalo-shadow: 0 18px 45px rgba(52, 28, 14, .12);
  --fragalo-radius: 22px;
  --fragalo-serif: Georgia, 'Times New Roman', serif;
  --fragalo-sans: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--fragalo-ink);
  background: var(--fragalo-white);
  font-family: var(--fragalo-sans);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.eyebrow { color: var(--fragalo-gold-dark); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; }
.section-title { font-family: var(--fragalo-serif); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.08; margin: .4rem 0 1rem; font-weight: 500; }
.section-copy { color: var(--fragalo-muted); max-width: 720px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 48px; padding: .8rem 1.2rem; border-radius: 10px; font-weight: 800; border: 1px solid transparent; transition: .2s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--fragalo-gold); color: var(--fragalo-brown-dark); box-shadow: 0 10px 25px rgba(211,161,59,.25); }
.button-primary:hover { background: #e0b44e; }
.button-secondary { background: transparent; color: var(--fragalo-white); border-color: rgba(255,255,255,.45); }
.button-light { background: var(--fragalo-white); color: var(--fragalo-brown-dark); border-color: var(--fragalo-border); }

.topbar { background: var(--fragalo-brown-dark); color: #fff; font-size: .88rem; }
.topbar .container { min-height: 38px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.topbar-links { display:flex; gap:1.2rem; flex-wrap:wrap; }
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(74,40,23,.08); }
.header-inner { width:min(1380px, calc(100% - 40px)); min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:1.35rem; }
.site-branding { display:flex; align-items:center; flex:0 0 auto; }
.site-branding img { width:auto; height:68px; max-width:210px; object-fit:contain; }
.site-branding .fallback { font-family: var(--fragalo-serif); font-size: 2rem; color: var(--fragalo-brown); }
.primary-nav ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:1.15rem; flex-wrap:nowrap; }
.primary-nav a { font-weight:700; font-size:.9rem; position:relative; padding:.6rem 0; white-space:nowrap; }
.primary-nav a:after { content:''; position:absolute; left:0; right:100%; bottom:2px; height:2px; background:var(--fragalo-gold); transition:.2s; }
.primary-nav a:hover:after, .primary-nav .current-menu-item > a:after { right:0; }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--fragalo-border); border-radius:10px; background:#fff; font-size:1.35rem; }
.header-cta { white-space: nowrap; }

.hero { display:grid; grid-template-columns: 1.06fr .94fr; min-height: 610px; background: var(--fragalo-brown-dark); }
.hero-media { min-height: 610px; background: linear-gradient(90deg, rgba(45,22,13,.04), rgba(45,22,13,.18)), url('assets/images/hero-kitchen.jpg') center/cover no-repeat; }
.hero-panel { position:relative; color:#fff; padding: clamp(3rem, 6vw, 6rem); display:flex; align-items:center; overflow:hidden; }
.hero-panel:before { content:''; position:absolute; inset:0; background: radial-gradient(circle at 88% 18%, rgba(211,161,59,.18), transparent 34%), linear-gradient(135deg, #4a2817, #2d160d); }
.hero-content { position:relative; max-width:610px; }
.hero h1 { font-family:var(--fragalo-serif); font-size:clamp(2.8rem, 5.5vw, 5rem); font-weight:500; line-height:1.02; margin:.65rem 0 1.2rem; }
.hero p { color:#f0e7dc; font-size:1.12rem; max-width:560px; }
.hero-actions { display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.8rem; }
.gold-brush { width:220px; height:7px; background:linear-gradient(90deg, transparent, var(--fragalo-gold), transparent); transform:skewX(-20deg); margin:1rem 0 1.5rem; opacity:.95; }

.trust-strip { background: var(--fragalo-cream); border-bottom:1px solid var(--fragalo-border); }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item { padding:1.7rem 1.25rem; text-align:center; border-right:1px solid var(--fragalo-border); }
.trust-item:last-child { border-right:0; }
.trust-icon { width:52px; height:52px; margin:0 auto .7rem; border-radius:50%; display:grid; place-items:center; color:var(--fragalo-brown); background:#fff; border:1px solid var(--fragalo-border); font-size:1.35rem; }
.trust-item strong { display:block; font-size:.94rem; }
.trust-item span { color:var(--fragalo-muted); font-size:.86rem; }

.section { padding: 90px 0; }
.section-soft { background:var(--fragalo-cream); }
.section-head { text-align:center; margin-bottom:3rem; }
.section-head .section-copy { margin-left:auto; margin-right:auto; }
.cards-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.service-card { background:#fff; border:1px solid var(--fragalo-border); border-radius:var(--fragalo-radius); padding:2rem; box-shadow:0 8px 30px rgba(54,30,17,.06); transition:.25s; }
.service-card:hover { transform:translateY(-5px); box-shadow:var(--fragalo-shadow); }
.service-icon { width:64px; height:64px; border-radius:50%; background:var(--fragalo-cream); display:grid; place-items:center; color:var(--fragalo-brown); font-size:1.7rem; margin-bottom:1.2rem; }
.service-card h3 { font-family:var(--fragalo-serif); font-size:1.65rem; margin:.2rem 0 .7rem; font-weight:500; }
.service-card p { color:var(--fragalo-muted); }
.text-link { display:inline-flex; align-items:center; gap:.5rem; color:var(--fragalo-gold-dark); font-weight:800; margin-top:.7rem; }

.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.why-item { padding:1.25rem 1.4rem; border-left:2px solid var(--fragalo-gold); }
.why-item h3 { margin:.2rem 0 .4rem; font-family:var(--fragalo-serif); font-weight:500; font-size:1.35rem; }
.why-item p { color:var(--fragalo-muted); margin:0; font-size:.94rem; }

.feature-split { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.feature-card { min-height:420px; border-radius:var(--fragalo-radius); overflow:hidden; position:relative; box-shadow:var(--fragalo-shadow); }
.feature-card img { width:100%; height:100%; object-fit:cover; }
.feature-overlay { position:absolute; inset:auto 0 0; padding:2rem; color:#fff; background:linear-gradient(transparent, rgba(31,15,8,.92)); }
.feature-overlay h3 { font-family:var(--fragalo-serif); font-size:2rem; margin:0 0 .25rem; font-weight:500; }

.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.post-card { border:1px solid var(--fragalo-border); border-radius:18px; overflow:hidden; background:#fff; }
.post-card .thumb { aspect-ratio:16/10; background:var(--fragalo-beige); overflow:hidden; }
.post-card .thumb img { width:100%; height:100%; object-fit:cover; }
.post-card .body { padding:1.4rem; }
.post-card h3 { font-family:var(--fragalo-serif); font-size:1.5rem; margin:.35rem 0 .6rem; font-weight:500; }
.post-card p { color:var(--fragalo-muted); }
.post-meta { color:var(--fragalo-gold-dark); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }

.cta-band { background:linear-gradient(135deg, var(--fragalo-brown), var(--fragalo-brown-dark)); color:#fff; }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:3.5rem 0; }
.cta-inner h2 { font-family:var(--fragalo-serif); font-size:clamp(2rem,4vw,3.2rem); font-weight:500; margin:0; }
.cta-inner p { color:#eadfd4; margin:.5rem 0 0; }

.site-footer { background:#24120b; color:#f8eee5; padding:3.5rem 0 1.2rem; }
.footer-grid { display:grid; grid-template-columns:1.1fr .9fr .9fr .8fr; gap:2rem; }
.footer-logo { width:210px; filter:brightness(0) invert(1); opacity:.98; }
.footer-title { font-family:var(--fragalo-serif); font-size:1.25rem; margin:0 0 .8rem; }
.footer-list { list-style:none; margin:0; padding:0; color:#d9cbbf; }
.footer-list li { margin:.45rem 0; }
.social-links { display:flex; gap:.6rem; flex-wrap:wrap; }
.social-links a { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:var(--fragalo-gold); color:var(--fragalo-brown-dark); font-weight:900; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:2.5rem; padding-top:1.1rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.85rem; color:#cdbdb0; }
.footer-menu { display:flex; gap:1rem; flex-wrap:wrap; list-style:none; padding:0; margin:0; }

.page-hero { background:var(--fragalo-cream); padding:72px 0 58px; border-bottom:1px solid var(--fragalo-border); }
.page-hero h1 { font-family:var(--fragalo-serif); font-size:clamp(2.5rem,5vw,4.2rem); font-weight:500; margin:.4rem 0; }
.content-wrap { padding:70px 0; }
.prose { max-width:820px; font-size:1.06rem; }
.prose h2, .prose h3 { font-family:var(--fragalo-serif); font-weight:500; }
.prose h2 { font-size:2rem; margin-top:2.3rem; }
.prose ul { padding-left:1.2rem; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.contact-card { background:var(--fragalo-cream); border:1px solid var(--fragalo-border); border-radius:var(--fragalo-radius); padding:2rem; }
.contact-card h2 { font-family:var(--fragalo-serif); font-weight:500; }
.contact-list { list-style:none; padding:0; margin:0; }
.contact-list li { margin:.9rem 0; }

.screen-reader-text { position:absolute; left:-9999px; }

@media (max-width: 1000px) {
  .header-cta { display:none; }
  .primary-nav ul { gap:1rem; }
  .hero { grid-template-columns:1fr; }
  .hero-media { min-height:420px; }
  .hero-panel { min-height:500px; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .trust-item:nth-child(2) { border-right:0; }
  .trust-item:nth-child(-n+2) { border-bottom:1px solid var(--fragalo-border); }
  .cards-3, .posts-grid { grid-template-columns:1fr 1fr; }
  .why-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 780px) {
  .topbar { display:none; }
  .header-inner { min-height:76px; }
  .site-branding img { width:auto; height:56px; max-width:165px; }
  .menu-toggle { display:block; }
  .primary-nav { position:absolute; top:76px; left:0; right:0; background:#fff; border-bottom:1px solid var(--fragalo-border); display:none; }
  .primary-nav.is-open { display:block; }
  .primary-nav ul { display:block; padding:1rem 20px 1.4rem; }
  .primary-nav li { border-bottom:1px solid #eee4da; }
  .primary-nav a { display:block; padding:.9rem 0; }
  .hero-media { min-height:340px; }
  .hero-panel { padding:3rem 24px; min-height:auto; }
  .hero h1 { font-size:clamp(2.45rem,12vw,4rem); }
  .section { padding:64px 0; }
  .cards-3, .posts-grid, .feature-split, .contact-grid { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr; }
  .cta-inner { align-items:flex-start; flex-direction:column; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
}

@media (max-width: 520px) {
  .container { width:min(100% - 28px, 1180px); }
  .trust-grid { grid-template-columns:1fr; }
  .trust-item { border-right:0; border-bottom:1px solid var(--fragalo-border); }
  .hero-actions .button { width:100%; }
}


/* Ajustes compactos v1.2 */
.hero { min-height: 650px; }
.hero-media, .hero-panel { min-height: 650px; }
.hero-panel { padding: 3.5rem 5vw; }
.hero h1 { font-size: clamp(3rem, 5vw, 5.2rem); line-height: .98; }
.hero-content { max-width: 610px; }
.services-section { padding: 68px 0 72px; }
.compact-head { margin-bottom: 2rem; }
.compact-head .section-title { font-size: clamp(2.25rem, 3.6vw, 3.2rem); }
.service-card { padding: 1.55rem 1.65rem; min-height: 300px; display:flex; flex-direction:column; }
.service-icon { width: 52px; height: 52px; font-size: 1.35rem; margin-bottom: .8rem; }
.service-card h3 { font-size: 1.45rem; margin-bottom: .45rem; }
.service-card p { font-size: .95rem; margin: .25rem 0 .5rem; }
.service-card .text-link { margin-top:auto; }
.why-band { background: var(--fragalo-cream); padding: 52px 0 48px; border-top:1px solid var(--fragalo-border); border-bottom:1px solid var(--fragalo-border); }
.why-intro { text-align:center; margin-bottom: 1.6rem; }
.why-intro h2 { font-family:var(--fragalo-serif); font-size:clamp(2rem,3.4vw,3rem); font-weight:500; margin:.25rem 0 0; }
.compact-why { gap:0; }
.compact-why .why-item { padding: .65rem 1.3rem; }
.compact-why .why-item:first-child { border-left:0; }
.compact-why .why-item h3 { font-size:1.12rem; }
.compact-why .why-item p { font-size:.88rem; }
.projects-section { padding: 64px 0 70px; }
.compact-posts { gap: 1rem; }
.compact-posts .post-card { display:grid; grid-template-columns: 42% 58%; min-height: 230px; }
.compact-posts .post-card .thumb { aspect-ratio:auto; min-height:230px; }
.compact-posts .post-card .body { padding:1.15rem 1.2rem; }
.compact-posts .post-card h3 { font-size:1.3rem; line-height:1.2; margin:.3rem 0 .45rem; }
.compact-posts .post-card p { font-size:.9rem; line-height:1.5; margin:.35rem 0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.compact-posts .text-link { margin-top:.45rem; font-size:.9rem; }
.cta-inner { padding: 2.35rem 0; }
.cta-inner h2 { font-size:clamp(1.8rem,3vw,2.5rem); }
.site-footer { padding: 2.5rem 0 1rem; }
.footer-grid { grid-template-columns:1.15fr .85fr .9fr .65fr; gap:1.6rem; align-items:start; }
.footer-logo { width:220px; }
.footer-brand p { max-width:280px; font-size:.92rem; }
.footer-list { font-size:.92rem; }
.footer-bottom { margin-top:1.8rem; padding-top:.9rem; }
.social-links a { width:40px; height:40px; }
.social-links svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.social-links a:nth-child(2) svg, .social-links a:nth-child(3) svg { fill:currentColor; stroke:none; }

@media (max-width: 1100px) {
  .compact-posts .post-card { grid-template-columns:1fr; }
  .compact-posts .post-card .thumb { min-height:180px; aspect-ratio:16/9; }
}
@media (max-width: 780px) {
  .hero, .hero-media, .hero-panel { min-height:auto; }
  .hero-media { min-height:320px; }
  .hero-panel { padding:2.8rem 24px; }
  .services-section, .projects-section { padding:52px 0; }
  .compact-why .why-item:first-child { border-left:2px solid var(--fragalo-gold); }
  .compact-posts .post-card { grid-template-columns: 38% 62%; min-height:190px; }
  .compact-posts .post-card .thumb { min-height:190px; aspect-ratio:auto; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 560px) {
  .compact-posts .post-card { grid-template-columns:1fr; }
  .compact-posts .post-card .thumb { min-height:190px; aspect-ratio:16/9; }
  .footer-grid { grid-template-columns:1fr; }
}


/* Ajustes de identidad v1.3 */
.site-branding a.custom-logo-link { display:flex; align-items:center; line-height:0; }
.site-branding img { image-rendering:auto; }
.footer-brand { align-self:start; }
.footer-logo { margin-bottom:.8rem; }
@media (max-width: 780px) {
  .site-branding img { height:54px; max-width:160px; }
  .footer-logo { width:200px; }
}
