
/* IFP CF Leather Demo Style Kit – global frontend styles
   Goal: match the warm leather / parchment look of the provided screenshots.
*/

:root{
  --ifp-bg-1:#2a1a12;
  --ifp-bg-2:#3a2318;
  --ifp-parch:#f3e7cf;
  --ifp-parch-2:#e8d7b7;
  --ifp-text:#2b1b12;
  --ifp-gold:#d6a23a;
  --ifp-gold-dark:#b3771f;
  --ifp-border:#4a2d1f;
  --ifp-shadow:#140b07;
}

html, body{
  height:100%;
}

body{
  font-family: "Lato", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ifp-text);
  /* Leather-like background using layered gradients + subtle noise */
  background:
    radial-gradient(1200px 700px at 20% 10%, rgba(255,214,140,0.10), rgba(0,0,0,0) 60%),
    radial-gradient(1000px 600px at 80% 20%, rgba(0,0,0,0.25), rgba(0,0,0,0) 55%),
    linear-gradient(135deg, var(--ifp-bg-1), var(--ifp-bg-2));
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:0.08;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

/* Headings */
h1,h2,h3,h4,h5,h6,
.elementor-heading-title{
  font-family:"Cinzel", Georgia, "Times New Roman", serif;
  letter-spacing:0.3px;
  color: var(--ifp-parch);
  text-shadow: 0 2px 0 rgba(0,0,0,.35);
}

/* Default content wrappers on Elementor pages */
.elementor-section,
.elementor-container,
.elementor-widget-wrap{
  box-sizing:border-box;
}

/* Make page backgrounds parchment-like while the body remains leather */
.elementor-page .elementor-location-single,
.elementor-page .elementor-location-header,
.elementor-page .elementor-location-footer{
  background: transparent;
}

.elementor-page .elementor{
  background: transparent;
}

/* Utility class for "parchment panels" */
.ifp-parchment,
.elementor .ifp-parchment{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.25), rgba(255,255,255,0) 35%),
    linear-gradient(180deg, var(--ifp-parch), var(--ifp-parch-2));
  border: 2px solid rgba(74,45,31,0.35);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
  color: var(--ifp-text);
}

.ifp-parchment h1,
.ifp-parchment h2,
.ifp-parchment h3{
  color: var(--ifp-text);
  text-shadow:none;
}

/* Buttons – gold leather style */
.elementor a.elementor-button,
.elementor-button,
button,
input[type="submit"]{
  border-radius: 6px !important;
}

.elementor a.elementor-button,
.elementor .elementor-button{
  font-family:"Cinzel", Georgia, serif;
  font-weight:700;
  text-transform:none;
  letter-spacing:0.4px;
  border: 2px solid rgba(74,45,31,0.55);
  background: linear-gradient(180deg, var(--ifp-gold), var(--ifp-gold-dark));
  color: #2a1a12 !important;
  box-shadow: 0 6px 0 rgba(0,0,0,0.18), 0 10px 22px rgba(0,0,0,0.25);
  transition: transform .08s ease, filter .15s ease;
}

.elementor a.elementor-button:hover,
.elementor .elementor-button:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
}

.elementor a.elementor-button:active,
.elementor .elementor-button:active{
  transform: translateY(1px);
}

/* Secondary button style helper */
.ifp-btn-secondary .elementor-button{
  background: linear-gradient(180deg, rgba(95,60,42,0.95), rgba(55,33,23,0.95));
  color: var(--ifp-parch) !important;
  border-color: rgba(0,0,0,0.35);
}

/* Text blocks */
.elementor-widget-text-editor,
.elementor-text-editor{
  color: rgba(243,231,207,0.92);
  font-size: 18px;
  line-height: 1.55;
}

/* Make headings inside content readable */
.elementor-widget-heading .elementor-heading-title{
  line-height:1.15;
}

/* Links */
a{ color: #f1c76e; }
a:hover{ color: #ffd68c; }

/* Responsive tweaks */
@media (max-width: 1024px){
  .elementor-widget-text-editor, .elementor-text-editor{ font-size: 17px; }
}
@media (max-width: 767px){
  .elementor-widget-text-editor, .elementor-text-editor{ font-size: 16px; }
  h1{ font-size: 34px; }
}
