:root{
  --bg:#f7f1e8;
  --ink:#1f1a17;
  --accent:#cc6b35;
  --accent-2:#2f6f6d;
  --card:#fff7ec;
  --border:#e3d2c0;
  --shadow:rgba(31,26,23,.12);
  --muted:#4a3e36;
  --soft:#efe2d4;
}

body{
  color:var(--ink) !important;
  font-family:"Georgia","Times New Roman",serif !important;
  background:
    radial-gradient(1200px 800px at 10% 10%, rgba(204,107,53,.10), transparent 60%),
    radial-gradient(900px 700px at 85% 5%, rgba(47,111,109,.12), transparent 55%),
    var(--bg) !important;
}

.topbar{
  background:#fff !important;
  border-bottom:1px solid var(--border) !important;
}

.topbar .inner{
  max-width:1200px !important;
}

.logo{
  color:var(--accent-2) !important;
  font-weight:800 !important;
  letter-spacing:.3px !important;
  transition:color .2s ease,transform .2s ease !important;
}

.logo:hover{
  color:var(--accent) !important;
  transform:translateY(-1px) !important;
}

.menu,
.menu a,
.dropdown-toggle{
  color:var(--ink) !important;
}

.menu a.active,
.menu a:hover,
.dropdown-toggle:hover{
  color:var(--accent) !important;
  border-bottom-color:var(--accent) !important;
}

.dropdown-menu{
  background:#fff !important;
  border:1px solid var(--border) !important;
  box-shadow:0 10px 24px var(--shadow) !important;
}

.dropdown-menu a:hover{
  background:#f8f1e7 !important;
}

.hamburger{
  background:#fff7ec !important;
  color:var(--accent-2) !important;
  border:1px solid var(--border) !important;
}

.card,
.panel,
.preview-card,
.canvas-card,
.preview-wrap,
.seo-copy .inner-copy,
.copy,
.faq,
.hero-card,
.tool-card,
.thumb,
.page-card,
.page-card canvas,
.page-item,
.dropzone,
.canvas-wrap,
.results-card,
.panel-card{
  border-color:var(--border) !important;
  box-shadow:0 12px 26px var(--shadow) !important;
}

.card,
.panel,
.preview-card,
.canvas-card,
.seo-copy .inner-copy,
.copy,
.faq,
.hero-card,
.tool-card,
.thumb,
.page-card,
.results-card,
.panel-card{
  background:var(--card) !important;
}

.dropzone,
.upload-box,
.canvas-wrap{
  background:linear-gradient(180deg,#fffaf4 0%,#f8efe4 100%) !important;
  border-color:var(--border) !important;
}

.dropzone.dragover,
.upload-box.dragover{
  background:linear-gradient(180deg,#fbf0e3 0%,#f4e4d2 100%) !important;
  border-color:var(--accent) !important;
  box-shadow:0 0 0 4px rgba(204,107,53,.10) !important;
}

.badge,
.chip,
.tag,
.pill{
  background:rgba(47,111,109,.12) !important;
  color:var(--accent-2) !important;
  border:1px solid rgba(47,111,109,.16) !important;
}

input,
select,
textarea,
.field{
  background:#fff !important;
  border:1px solid var(--border) !important;
  color:var(--ink) !important;
  font-family:inherit !important;
}

label,
.muted,
.meta,
.note,
.panel > p,
.toolbar p,
.copy p,
.faq p{
  color:var(--muted) !important;
}

button,
.button-link,
.panel button,
.hero-card button,
.primary-btn,
.big-btn,
#quickSelect,
#loadBtn,
#convertBtn,
#openBtn,
#pickPdfBtn,
#buildPdfBtn,
#applyBtn,
#generateBtn,
#upscaleBtn,
#downloadBtn{
  background:var(--accent) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 10px 24px rgba(204,107,53,.20) !important;
  font-family:inherit !important;
}

button.secondary,
.secondary-btn,
.panel button.secondary,
#clearBtn,
#clear_btn,
#resetBtn,
#undoBtn{
  background:#7a6a5a !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 10px 20px rgba(122,106,90,.18) !important;
}

.alt-btn,
.ghost-btn,
[style*="var(--accent-2)"]{
  background:var(--accent-2) !important;
  color:#fff !important;
}

a{
  color:var(--accent-2);
}

h1,h2,h3,h4{
  color:var(--ink) !important;
}

.site-footer{
  margin-top:56px;
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(10px);
}

.site-footer .inner{
  max-width:1200px;
  margin:0 auto;
  padding:20px 22px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.site-footer-brand{
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}

.site-footer-links{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

.site-footer-links a{
  text-decoration:none;
  font-weight:700;
}

.site-footer-links a:hover{
  color:var(--accent) !important;
}

@media (max-width: 720px){
  .site-footer .inner{
    align-items:flex-start;
    flex-direction:column;
  }
}

.contact-fab{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:80;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 18px;
  border-radius:999px;
  border:none;
  background:linear-gradient(135deg,var(--accent) 0%, #de8249 100%) !important;
  color:#fff !important;
  font-weight:700;
  font-size:15px;
  letter-spacing:.01em;
  box-shadow:0 16px 34px rgba(204,107,53,.28), 0 0 0 0 rgba(204,107,53,.28);
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
  animation:contactPulse 2.8s ease-in-out infinite;
}

.contact-fab:hover{
  transform:translateY(-3px) scale(1.01);
  box-shadow:0 20px 42px rgba(204,107,53,.34), 0 0 0 10px rgba(204,107,53,.08);
  filter:saturate(1.05);
}

.contact-fab-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.18);
  font-size:18px;
}

.contact-modal{
  position:fixed;
  inset:0;
  z-index:90;
  display:none;
}

.contact-modal.open{
  display:block;
}

.contact-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(20,19,18,.46);
  backdrop-filter:blur(8px);
}

.contact-modal-panel{
  position:relative;
  width:min(560px, calc(100vw - 28px));
  margin:56px auto;
  border:1px solid var(--border);
  border-radius:30px;
  background:linear-gradient(180deg,#fffaf4 0%, #fff4e7 100%);
  box-shadow:0 28px 64px rgba(31,26,23,.24);
  overflow:hidden;
}

.contact-modal-hero{
  padding:26px 28px 16px;
  background:
    radial-gradient(circle at top right, rgba(47,111,109,.12), transparent 42%),
    radial-gradient(circle at left center, rgba(204,107,53,.11), transparent 40%);
}

.contact-modal-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(47,111,109,.10);
  color:var(--accent-2);
  border:1px solid rgba(47,111,109,.16);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.contact-modal-hero h2{
  margin:16px 0 10px;
  font-size:clamp(30px,4vw,42px);
  line-height:1;
}

.contact-modal-hero p{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}

.contact-modal-close{
  position:absolute;
  top:16px;
  right:16px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid var(--border);
  background:rgba(255,255,255,.78) !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  cursor:pointer;
}

.contact-modal-body{
  padding:22px 28px 28px;
}

.contact-modal-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.contact-modal-field{
  margin-bottom:16px;
}

.contact-modal-field.full{
  grid-column:1 / -1;
}

.contact-modal-field label{
  display:block;
  margin-bottom:8px;
  color:var(--ink);
  font-weight:700;
}

.contact-modal-field input,
.contact-modal-field select,
.contact-modal-field textarea{
  width:100%;
  padding:14px 16px;
  border-radius:14px;
  font-size:16px;
}

.contact-modal-field textarea{
  min-height:150px;
  resize:vertical;
}

.contact-consent{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:8px 0 18px;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}

.contact-consent input{
  width:19px;
  height:19px;
  margin-top:2px;
  flex:0 0 auto;
}

.contact-modal-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.contact-modal-note{
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}

.contact-status{
  margin-bottom:16px;
  padding:14px 16px;
  border-radius:14px;
  font-weight:700;
  display:none;
}

.contact-status.show{
  display:block;
}

.contact-status.success{
  background:rgba(47,111,109,.12);
  color:var(--accent-2);
  border:1px solid rgba(47,111,109,.24);
}

.contact-status.error{
  background:rgba(204,107,53,.12);
  color:var(--accent);
  border:1px solid rgba(204,107,53,.24);
}

.contact-hidden-field{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

@keyframes contactPulse{
  0%,100%{ box-shadow:0 16px 34px rgba(204,107,53,.28), 0 0 0 0 rgba(204,107,53,.18); }
  50%{ box-shadow:0 18px 38px rgba(204,107,53,.34), 0 0 0 12px rgba(204,107,53,.08); }
}

@media (max-width: 720px){
  .contact-fab{
    right:14px;
    bottom:14px;
    padding:13px 16px;
  }
  .contact-modal-panel{
    width:min(100vw - 20px, 560px);
    margin:14px auto;
  }
  .contact-modal-hero,
  .contact-modal-body{
    padding-left:20px;
    padding-right:20px;
  }
  .contact-modal-grid{
    grid-template-columns:1fr;
  }
}
