/* Catla visual system — shared rebrand layer */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,800;1,700&family=DM+Sans:wght@300;400;500;600&display=swap');
:root{--forest:#1B4D35;--canopy:#2D6A45;--mist:#EAF3E6;--amber:#C5973A;--amber-lt:#FDF4E3;--ink:#141414;--slate:#4A5568;--fog:#8A9BA8;--bone:#F7F5F0;--white:#fff;--border:#E2E8E4;--font-display:'Playfair Display',Georgia,serif;--font-body:'DM Sans',system-ui,sans-serif}
*{box-sizing:border-box} body{font-family:var(--font-body);color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased} a{color:inherit}
.container{max-width:1160px;padding:0 2rem}
.navbar{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0;box-shadow:none!important}
.nav-container{height:68px}.logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--forest);letter-spacing:-.02em;text-decoration:none}.logo::first-letter{color:var(--forest)}
.nav-links{gap:2rem}.nav-links a{font-weight:400;font-size:.9rem;color:var(--slate)}.nav-links a:not(.btn):hover{color:var(--forest)}
.btn{border-radius:9px;font-family:var(--font-body);font-weight:500;box-shadow:none!important}.btn-primary{background:var(--forest);color:#fff;border:0}.btn-primary:hover{background:var(--canopy);transform:translateY(-1px)}
.mobile-menu{border-left:1px solid var(--border);box-shadow:-20px 0 50px rgba(20,20,20,.08)}.mobile-menu-header{border-bottom:1px solid var(--border)}
.footer{background:var(--ink)!important}.footer a{color:rgba(255,255,255,.5)}
/* storefront / directory */
.shops-hero,.shop-header{background:var(--forest)!important;background-image:none!important;padding:5rem 0 3.5rem!important;color:#fff}.shops-hero h1,.shop-header h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;color:#fff}.shops-hero p{color:rgba(255,255,255,.7)}
.shops-section,.products-section,.product-detail-section{background:var(--white)!important}.shops-section{padding:5rem 0}.shops-header h2,.section-header h2{font-family:var(--font-display);color:var(--ink)}
.search-filter-bar,.search-box,.filter-box,.search-box-small{border-color:var(--border)!important;background:#fff!important;border-radius:10px!important}.search-box input,.filter-box select{font-family:var(--font-body);color:var(--ink)}
.shop-card,.product-card,.related-product-card{background:#fff!important;border:1px solid var(--border)!important;border-radius:14px!important;box-shadow:none!important;transition:transform .2s,border-color .2s,box-shadow .2s}.shop-card:hover,.product-card:hover,.related-product-card:hover{transform:translateY(-2px);border-color:#cbd8d0!important;box-shadow:0 12px 30px rgba(20,20,20,.06)!important}
.shop-icon,.shop-icon-large,.product-placeholder,.related-product-placeholder,.image-placeholder{background:var(--mist)!important;color:var(--forest)!important}.shop-name,.store-product-name,.related-product-name{font-family:var(--font-display)!important;color:var(--ink)!important}.shop-category,.shop-category-badge,.product-category,.product-category-badge,.related-product-category{background:var(--mist)!important;color:var(--forest)!important;border:0!important;border-radius:999px!important}.view-shop-btn,.view-product-btn,.contact-owner-btn,.contact-product-btn,.contact-seller-btn{background:var(--forest)!important;color:#fff!important;border-radius:9px!important;box-shadow:none!important}.view-shop-btn:hover,.view-product-btn:hover,.contact-owner-btn:hover,.contact-product-btn:hover,.contact-seller-btn:hover{background:var(--canopy)!important}
.shop-info-card{background:#fff!important;border:1px solid var(--border)!important;border-radius:16px!important;box-shadow:none!important}.shop-meta-info,.meta-item{color:var(--slate)}.back-link{color:rgba(255,255,255,.75)!important}.back-link:hover{color:#fff!important}
/* product detail */
.product-detail-section{padding:4rem 0!important;min-height:70vh}.breadcrumb{color:var(--fog)}.breadcrumb a{color:var(--forest)}.main-product-image{background:var(--bone)!important;border:1px solid var(--border);border-radius:16px}.product-info-section h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.03em}.product-description h3{font-family:var(--font-display);color:var(--ink)}.shop-info-mini{border-color:var(--border)!important;background:var(--bone)!important;border-radius:12px}.shop-mini-icon{background:var(--mist)!important;color:var(--forest)!important}.visit-shop-link{color:var(--forest)!important}.product-meta{border-top-color:var(--border)!important}
/* auth */
.auth-container{background:var(--bone)!important}.auth-left{background:var(--white)!important}.auth-right{background:var(--forest)!important}.auth-brand .logo{font-family:var(--font-display);color:var(--forest)}.auth-content h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;color:var(--ink)}.auth-content>p{color:var(--slate)}.form-group label{color:var(--ink);font-weight:500}.form-group input,.form-group select{border:1px solid var(--border)!important;border-radius:9px!important;background:#fff!important;color:var(--ink)!important;font-family:var(--font-body)}.form-group input:focus,.form-group select:focus{border-color:var(--forest)!important;box-shadow:0 0 0 3px var(--mist)!important}.forgot-link{color:var(--forest)!important}.auth-divider{border-color:var(--border)!important}.btn-outline{border-color:var(--border)!important;color:var(--slate)!important;background:#fff!important}.btn-outline:hover{border-color:var(--forest)!important;color:var(--forest)!important}
/* dashboard */
.dashboard-container{background:var(--bone)!important}.sidebar{background:var(--forest)!important}.sidebar-header{border-bottom:1px solid rgba(255,255,255,.12)!important}.sidebar .logo{color:#fff!important}.sidebar .logo em{color:var(--amber)}.nav-item{color:rgba(255,255,255,.62)!important;border-radius:8px!important}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.09)!important;color:#fff!important}.logout-btn{color:rgba(255,255,255,.65)!important}.main-content{background:var(--bone)!important}.dashboard-header{background:var(--white)!important;border-bottom:1px solid var(--border)!important}.dashboard-header h1,.content-section h2,.content-section h3{font-family:var(--font-display);color:var(--ink)}.header-info p{color:var(--slate)}.stat-card,.action-card,.shop-link-card,.products-table-container,.settings-form{background:#fff!important;border:1px solid var(--border)!important;border-radius:14px!important;box-shadow:none!important}.stat-icon{background:var(--mist)!important;color:var(--forest)!important}.stat-value{font-family:var(--font-display)!important;color:var(--ink)!important}.stat-label{color:var(--fog)!important}.shop-link-input-group input{border-color:var(--border)!important;background:#fff!important;color:var(--ink)!important}.copy-link-btn{background:var(--forest)!important;color:#fff!important}.action-card:hover{border-color:#cbd8d0!important}.products-table th{background:var(--bone)!important;color:var(--slate)!important}.products-table td{border-color:var(--border)!important}.product-category-tag{background:var(--mist)!important;color:var(--forest)!important}.modal-content{border-radius:16px!important;border:1px solid var(--border)!important}.modal-header{border-color:var(--border)!important}.modal-header h2{font-family:var(--font-display)}
/* pricing */
.plans-section,.pricing-teaser{background:var(--bone)!important}.plan-card{border:1px solid var(--border)!important;border-radius:14px!important;box-shadow:none!important}.plan-card.featured{background:var(--forest)!important;border-color:var(--forest)!important}.plan-name,.plan-price{font-family:var(--font-display)!important}.popular-badge,.hero-badge{background:var(--mist)!important;color:var(--forest)!important}.btn-plan.primary{background:var(--forest)!important}.btn-plan.secondary{border-color:var(--forest)!important;color:var(--forest)!important}.plan-features li .check{color:var(--forest)!important}
@media(max-width:900px){.nav-links{display:none}.mobile-menu-btn{display:flex}.container{padding:0 1.25rem}.shops-hero,.shop-header{padding:4rem 0 2.5rem!important}.shop-info-card{padding:1.25rem!important}.dashboard-header{padding:1rem 1.25rem!important}}

/* Final Catla polish */
.logo { color: var(--forest) !important; }
.logo span { color: var(--amber) !important; }
.auth-brand .logo span, .sidebar .logo span { color: var(--amber) !important; }
.footer-brand .logo span, .footer .logo span { color: var(--amber) !important; }

/* Shops: keep the "Ma boutique" CTA readable over legacy button styles. */
.nav-links a.btn.btn-primary,
.nav-links .btn-primary,
.shops-section .btn-primary,
.btn.btn-primary { color: #fff !important; }

/* Password visibility controls */
.password-field { position: relative; width: 100%; }
.password-field input { padding-right: 6.5rem !important; }
.password-toggle {
  position: absolute;
  right: .45rem;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  border: 0;
  background: transparent;
  color: var(--forest);
  font: 500 .78rem var(--font-body);
  padding: .45rem .55rem;
  border-radius: 7px;
  cursor: pointer;
}
.password-toggle:hover { background: var(--mist); }
.password-toggle:focus-visible { outline: 2px solid var(--amber); outline-offset: 1px; }
.password-toggle-icon { font-size: .75rem; line-height: 1; }
.password-toggle.is-visible .password-toggle-icon { color: var(--amber); }

/* Pricing still has its own legacy nav; make its logo match Catla. */
.pricing-teaser .logo, nav .logo { font-family: var(--font-display); color: var(--forest) !important; }
nav .logo span { color: var(--amber) !important; }
.nav-logo { color: var(--forest) !important; }
.nav-logo span, .footer-logo span { color: var(--amber) !important; }


/* Dashboard Catla wordmark */
.sidebar .logo { display:inline-flex; align-items:baseline; gap:0; }
.sidebar .logo span { color:var(--amber)!important; }

/* Pricing featured plan: preserve contrast on the forest-green card. */
.pricing-page .plan-card.featured,
.plan-card.featured { color:#fff; }
.plan-card.featured .plan-name,
.plan-card.featured .plan-price,
.plan-card.featured .plan-price .currency { color:#fff!important; }
.plan-card.featured .plan-price .period,
.plan-card.featured .plan-tagline,
.plan-card.featured .plan-features li { color:rgba(255,255,255,.82)!important; }
.plan-card.featured .plan-features li .check { color:var(--amber)!important; }
.plan-card.featured .plan-features li.disabled { color:rgba(255,255,255,.45)!important; }
.plan-card.featured .popular-badge { background:var(--amber-lt)!important; color:var(--forest)!important; }
.plan-card.featured .btn-plan.primary { background:var(--amber)!important; color:#fff!important; }
.plan-card.featured .btn-plan.primary:hover { background:#B08830!important; }


/* Canonical Catla wordmark: one word, dual-tone, no accidental spacing. */
.logo, .nav-logo, .footer-logo { white-space: nowrap; }
.logo span, .nav-logo span, .footer-logo span { margin-left: 0 !important; padding-left: 0 !important; color: var(--amber) !important; }
.sidebar .logo span { color: var(--amber) !important; }


/* Final wordmark correction: Catla is one continuous word, never spaced. */
.logo, .nav-logo, .footer-logo {
  display: inline-block;
  white-space: nowrap;
  word-spacing: 0;
  letter-spacing: -0.025em;
}
.logo span, .nav-logo span, .footer-logo span {
  display: inline;
  margin: 0 !important;
  padding: 0 !important;
  word-spacing: 0 !important;
  letter-spacing: inherit;
}
.auth-brand .logo { display: inline-block !important; gap: 0 !important; }

/* Storefront product-card title uses a dedicated class so the landing-page
   skeleton placeholder can never leak its gray bar styling into real cards. */
.products-section .store-product-name {
  height:auto!important;
  min-height:0!important;
  background:transparent!important;
  border-radius:0!important;
  margin-bottom:.5rem!important;
  font-family:var(--font-display)!important;
  color:var(--ink)!important;
}
.shop-link-header h3 { color:var(--ink)!important; }
.shop-link-header p { color:var(--slate)!important; opacity:1!important; }
.shop-link-input-group { align-items:center; }
.shop-link-input-group .copy-link-btn { text-decoration:none; white-space:nowrap; display:inline-flex; align-items:center; justify-content:center; }

/* Pricing page alignment with the shared Catla visual system. */
.pricing-navbar {
  position: sticky !important; top: 0; z-index: 100;
  background: rgba(255,255,255,.94) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border) !important;
  padding: 0 !important;
}
.pricing-nav-container { display:flex; align-items:center; justify-content:space-between; width:100%; margin:0 auto; }
.pricing-nav-links { display:flex; align-items:center; gap:2rem; }
.pricing-nav-links a { color:var(--slate); text-decoration:none; font-size:.9rem; font-weight:400; }
.pricing-nav-links a:hover { color:var(--forest); }
.pricing-page { background:var(--bone)!important; }
.pricing-page .plan-card { background:#fff; color:var(--ink); }
.pricing-page .plan-card.featured { background:var(--forest)!important; }
.pricing-page .hero-badge { background:var(--mist)!important; color:var(--forest)!important; }
.pricing-footer { margin-top:0; text-align:left !important; padding:3rem 0 1rem !important; color:inherit !important; border-top:0 !important; }
.pricing-footer .container { max-width:1160px; margin:0 auto; padding:0 2rem; }
@media (max-width:700px) {
  .pricing-nav-links { gap:1rem; }
  .pricing-nav-links a:not(.login-link) { display:none; }
  .pricing-nav-container { height:68px; }
  .pricing-footer .container { padding:0 1.25rem; }
}
