/* Components */

/* Navbar */
.navbar { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,0.8); backdrop-filter: saturate(180%) blur(8px); border-bottom: 1px solid rgba(0,0,0,0.03); transition: box-shadow var(--transition); }
.navbar.scrolled { box-shadow: var(--shadow-md); }
.navbar__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding-block: .85rem; }
.navbar__logo { display:flex; gap:.5rem; align-items:center; text-decoration:none; color: var(--color-text-dark); }
.navbar__logo-seal { width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid var(--color-primary); display: grid; place-items: center; font-size: 1.1rem; color: var(--color-primary); flex-shrink: 0; font-family: var(--font-serif); }
.logo-name { font-family: var(--font-serif); font-size: var(--text-sm); font-weight: var(--font-semibold); letter-spacing: var(--tracking-wider); text-transform: uppercase; line-height: 1.1; }
.logo-subtitle { font-family: var(--font-sans); font-size: .68rem; font-weight: var(--font-light); letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--color-text-medium); }
.navbar__nav { display:flex; gap: 1rem; align-items:center; }
.navbar__link { font-size: var(--text-sm); color: var(--color-text-medium); padding: .25rem .5rem; border-radius: 6px; }
.navbar__link:hover, .navbar__link[aria-current="page"] { color: var(--color-text-dark); background: rgba(0,0,0,0.04); }

/* Buttons */
.btn-cta { display:inline-flex; align-items:center; gap: var(--space-3); background: var(--color-accent); color: var(--color-text-light); font-family: var(--font-sans); font-size: var(--text-sm); font-weight: var(--font-medium); letter-spacing: var(--tracking-wide); padding: 14px 24px; border-radius: var(--radius-full); border:none; cursor:pointer; white-space:nowrap; box-shadow: 0 2px 10px rgba(170,136,99,0.25); transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast); }
.btn-cta:hover { background: var(--color-accent-hover); box-shadow: 0 6px 20px rgba(170,136,99,0.35); transform: translateY(-1px); }
.btn-cta--outline { background: transparent; color: var(--color-accent); border: 1px solid var(--color-border-accent); box-shadow: none; }
.btn-cta--outline:hover { background: var(--color-accent); color: var(--color-text-light); }
.btn-icon { display:inline-grid; place-items:center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.35); flex-shrink:0; }

/* Service Card */
.service-card { position: relative; border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-card); background: var(--color-primary-light); min-width: 260px; max-width: 320px; aspect-ratio: 3/4; transition: transform var(--transition); }
.service-card:hover { transform: translateY(-4px); }
.service-card__image { width:100%; height:100%; object-fit: cover; background: var(--color-primary-light); }
.service-card__overlay { position:absolute; inset:0; background: var(--gradient-card); }
.service-card__content { position:absolute; left:0; right:0; bottom:0; padding: var(--space-6); color: var(--color-text-light); }
.service-card__title { font-family: var(--font-sans); font-size: var(--text-base); font-weight: var(--font-semibold); margin: 0 0 var(--space-2); }
.service-card__desc { font-family: var(--font-sans); font-size: var(--text-sm); line-height: var(--leading-normal); opacity:.9; }

/* Testimonial Card */
.testimonial-card { background: var(--color-bg-cream-light); border: var(--border-light); border-radius: var(--radius-lg); padding: var(--space-6); box-shadow: var(--shadow-sm); min-width: 280px; max-width: 360px; }
.testimonial-card__header { display:flex; align-items:center; gap: var(--space-4); margin-bottom: var(--space-4); }
.testimonial-card__avatar { width:44px; height:44px; border-radius: 50%; background: #ddd; display:block; }
.testimonial-card__meta { flex:1; }
.testimonial-card__name { font-weight: var(--font-semibold); color: var(--color-text-dark); line-height:1.2; }
.testimonial-card__date { color: var(--color-text-muted); font-size: var(--text-xs); margin-top:2px; }
.testimonial-card__stars { display:flex; gap:2px; color: #f5b301; font-size: var(--text-sm); }
.testimonial-card__text { color: var(--color-text-medium); font-size: var(--text-sm); line-height: var(--leading-relaxed); }

/* FAQ */
.faq-item { background: rgba(245,240,232,0.12); border: 1px solid rgba(255,255,255,0.15); border-radius: var(--radius-lg); overflow: hidden; }
.faq-item__trigger { width:100%; text-align:left; background: transparent; border:none; display:flex; align-items:center; justify-content:space-between; gap: var(--space-4); padding: var(--space-5) var(--space-6); color: var(--color-text-light); cursor:pointer; }
.faq-item__icon { width:24px; height:24px; display:inline-grid; place-items:center; border-radius: 50%; border:1px solid rgba(255,255,255,0.35); transition: transform var(--transition), background var(--transition); }
.faq-item.is-open .faq-item__icon { background: rgba(255,255,255,0.15); transform: rotate(45deg); }
.faq-item__answer { display: grid; grid-template-rows: 0fr; overflow: hidden; transition: grid-template-rows var(--transition); padding: 0 var(--space-6); color: rgba(255,255,255,0.85); font-size: var(--text-sm); }
.faq-item__answer > * { overflow: hidden; min-height: 0; }
.faq-item.is-open .faq-item__answer { grid-template-rows: 1fr; padding-bottom: var(--space-5); }

/* Badges */
.credential-badge { position:absolute; left:12%; top:42%; transform: translate(-50%, -50%); width:72px; height:72px; border-radius:50%; display:grid; place-items:center; color: var(--color-text-light); background: rgba(170,136,99,.9); box-shadow: var(--shadow-lg); border: 1px solid rgba(255,255,255,.5); }
.credential-badge__symbol { font-size: 1.4rem; line-height:1; }
.credential-badge__text { font-size: .65rem; text-transform: uppercase; letter-spacing: .08em; opacity:.9; }

.photo-sobre .credential-badge { left: 16px; bottom: 24px; top: auto; transform: none; }

.crp-badge { display:inline-flex; align-items:center; gap:.5rem; padding: .35rem .75rem; border-radius: var(--radius-full); border: 1px solid var(--color-border-accent); color: var(--color-accent); background: rgba(170,136,99,.08); letter-spacing: .05em; font-size: var(--text-sm); }

/* Photo placeholders */
.photo-circle { border-radius: 50%; border: 4px solid var(--color-bg-cream); overflow:hidden; box-shadow: var(--shadow-hero); }
.photo-placeholder { width: 100%; height: 100%; display:grid; place-items:center; color: rgba(0,0,0,.4); background: repeating-linear-gradient(45deg, #f4f1eb, #f4f1eb 10px, #eee9e0 10px, #eee9e0 20px); font-weight: var(--font-medium); letter-spacing: .1em; text-transform: uppercase; }

/* Contact */
.contact-card { background: var(--color-bg-dark); color: var(--color-text-light); border-radius: var(--radius-xl); padding: var(--space-6); box-shadow: var(--shadow-md); }
.contact-card__title { font-family: var(--font-serif); color: var(--color-text-light); margin: 0 0 var(--space-6); }
.contact-item { display:flex; align-items:center; gap: .75rem; padding: .5rem 0; color: var(--color-text-light); text-decoration:none; }
.contact-item:hover { color: var(--color-accent-light); }

/* Carousel generic */
.carousel { position: relative; }
.carousel__viewport { overflow-x: auto; overflow-y: visible; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--color-accent) transparent; padding-bottom: var(--space-3); }
.carousel__viewport::-webkit-scrollbar { height: 3px; }
.carousel__viewport::-webkit-scrollbar-track { background: rgba(255,255,255,0.12); border-radius: 99px; }
.carousel__viewport::-webkit-scrollbar-thumb { background: var(--color-accent); border-radius: 99px; }
.carousel__track { display:flex; gap: var(--space-4); padding-block: var(--space-4); will-change: transform; }
.carousel__item { scroll-snap-align: start; }
.carousel__controls { display:flex; gap:.5rem; align-items:center; }
.carousel__control { width:44px; height:44px; border-radius: 50%; display:grid; place-items:center; background: transparent; border: 1px solid rgba(255,255,255,0.3); color: var(--color-text-light); cursor:pointer; }
.carousel__control--dark { border-color: rgba(0,0,0,0.2); color: var(--color-text-dark); }

/* Hero chip (floating) */
.hero-chip { position: absolute; bottom: 16px; right: 16px; display: flex; align-items: center; gap: 10px; background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: var(--radius-full); padding: 6px 16px 6px 6px; box-shadow: var(--shadow-md); }
.hero-chip__avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--color-primary-light); flex-shrink: 0; overflow: hidden; }
.hero-chip__name { font-family: var(--font-sans); font-size: 0.75rem; font-weight: var(--font-semibold); color: var(--color-text-dark); line-height: 1.2; white-space: nowrap; }
.hero-chip__crp { font-family: var(--font-sans); font-size: 0.65rem; color: var(--color-text-muted); line-height: 1.2; }

/* Mobile header adjustments: hide nav options and center logo */
@media (max-width: 767px) {
	.navbar__nav { display: none !important; }
	.navbar__inner { justify-content: center; }
	.navbar__logo { margin-right: 0; }
}



