/* ==========================================================================
   GoFahren Premium UI — v3 inner-page layer
   Extends the verified v2 design system to every non-home page and to all
   standard WordPress/Elementor widgets. Loads AFTER gofahren-premium-2.css and
   relies on the --gf-* tokens defined there.
   Visual styling only: no posts, templates, options or data are modified.
   ========================================================================== */

/* ==================== 1. INNER PAGE HEADER BAND ======================== */
body.elementor-page:not(.elementor-page-4519) main > .elementor-section:first-child,
body.elementor-page:not(.elementor-page-4519) main > .e-con:first-child{
  position:relative;
}

body.elementor-page:not(.elementor-page-4519) .elementor-widget-theme-page-title .elementor-heading-title,
body.elementor-page:not(.elementor-page-4519) .elementor-widget-heading h1.elementor-heading-title{
  font-size:clamp(1.85rem,3.9vw,3.1rem) !important;
  font-weight:800 !important;
  letter-spacing:-.028em;
  line-height:1.08;
}

/* gold rule under page titles */
.elementor-widget-theme-page-title .elementor-heading-title:after,
body.elementor-page:not(.elementor-page-4519) .elementor-widget-heading h1.elementor-heading-title:after{
  content:"";
  display:block;
  width:64px; height:3px;
  margin-top:16px;
  border-radius:3px;
  background:linear-gradient(90deg,var(--gf-gold),transparent);
}

/* ==================== 2. ENTRY CONTENT TYPOGRAPHY ===================== */
.entry-content,
.elementor-widget-theme-post-content,
.elementor-widget-text-editor{
  font-family:var(--gf-b);
}

.entry-content > p,
.elementor-widget-theme-post-content > p{
  font-size:1.05rem;
  line-height:1.82;
  color:var(--gf-text);
  max-width:78ch;
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.elementor-widget-theme-post-content h2,
.elementor-widget-theme-post-content h3,
.elementor-widget-theme-post-content h4{
  margin-top:1.9em;
  margin-bottom:.6em;
}
.entry-content h2:first-child,
.entry-content h3:first-child{ margin-top:0; }

.entry-content a{ text-decoration:underline; text-decoration-color:rgba(201,169,106,.55); text-underline-offset:3px; }
.entry-content a:hover{ text-decoration-color:var(--gf-gold); }

/* blockquote */
.entry-content blockquote,
.elementor-widget-theme-post-content blockquote,
.wp-block-quote{
  margin:1.8em 0;
  padding:22px 26px 22px 30px;
  border:0 !important;
  border-left:4px solid var(--gf-gold) !important;
  border-radius:var(--gf-r-sm);
  background:var(--gf-surface-2);
  color:var(--gf-head);
  font-family:var(--gf-h);
  font-size:1.06rem;
  line-height:1.7;
  box-shadow:var(--gf-shadow-sm);
}
.entry-content blockquote p:last-child{ margin-bottom:0; }
.entry-content blockquote cite{ display:block; margin-top:10px; font-size:.88rem; color:var(--gf-muted); font-style:normal; }

/* tables */
.entry-content table,
.elementor-widget-theme-post-content table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin:1.6em 0;
  border:1px solid var(--gf-line);
  border-radius:var(--gf-r-sm);
  overflow:hidden;
  box-shadow:var(--gf-shadow-sm);
  background:var(--gf-surface);
}
.entry-content th,
.elementor-widget-theme-post-content th{
  background:var(--gf-surface-2);
  color:var(--gf-head) !important;
  font-family:var(--gf-h);
  font-weight:600;
  text-align:left;
  padding:14px 16px;
  border-bottom:1px solid var(--gf-line);
}
.entry-content td,
.elementor-widget-theme-post-content td{
  padding:13px 16px;
  border-bottom:1px solid var(--gf-line-2);
  color:var(--gf-text);
}
.entry-content tr:last-child td{ border-bottom:0; }
.entry-content tbody tr:hover td{ background:var(--gf-surface-2); }

/* code, hr, figure captions */
.entry-content code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.9em;
  background:var(--gf-surface-2);
  border:1px solid var(--gf-line);
  border-radius:6px;
  padding:2px 6px;
  color:var(--gf-head);
}
.entry-content pre{
  background:var(--gf-surface-2);
  border:1px solid var(--gf-line);
  border-radius:var(--gf-r-sm);
  padding:18px 20px;
  overflow:auto;
  margin:1.5em 0;
}
.entry-content pre code{ background:none; border:0; padding:0; }
.entry-content hr{
  border:0;
  height:1px;
  margin:2.4em 0;
  background:linear-gradient(90deg,transparent,var(--gf-line),transparent);
}
.entry-content figcaption,
.elementor-widget-image .elementor-image-caption,
.wp-caption-text{
  font-size:.86rem;
  color:var(--gf-muted);
  text-align:center;
  margin-top:10px;
  font-style:italic;
}

/* ==================== 3. ELEMENTOR WIDGET CARDS ======================== */
/* icon boxes */
.elementor-widget-icon-box .elementor-icon-box-wrapper{
  background:var(--gf-surface);
  border:1px solid var(--gf-line);
  border-radius:var(--gf-r);
  padding:26px 24px;
  box-shadow:var(--gf-shadow-sm);
  height:100%;
  transition:transform .34s var(--gf-ease),box-shadow .34s var(--gf-ease),border-color .34s var(--gf-ease),background-color .45s var(--gf-ease);
}
.elementor-widget-icon-box .elementor-icon-box-wrapper:hover{
  transform:translateY(-5px);
  border-color:rgba(201,169,106,.5);
  box-shadow:var(--gf-shadow);
}
.elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon,
.elementor-icon{
  color:var(--gf-gold) !important;
  fill:var(--gf-gold) !important;
  stroke:var(--gf-gold) !important;
}
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-icon-box .elementor-icon-box-title a{ color:var(--gf-head) !important; font-family:var(--gf-h); font-weight:600; }
.elementor-widget-icon-box .elementor-icon-box-description{ color:var(--gf-text) !important; }

/* icon lists */
.elementor-icon-list-item .elementor-icon-list-text{ color:var(--gf-text) !important; }
.elementor-icon-list-item .elementor-icon-list-icon i,
.elementor-icon-list-item .elementor-icon-list-icon svg{ color:var(--gf-gold) !important; fill:var(--gf-gold) !important; }
.elementor-icon-list--layout-traditional .elementor-icon-list-item{ padding:6px 0; }

/* counters & progress */
.elementor-counter .elementor-counter-number-wrapper{
  font-family:var(--gf-h);
  font-weight:800;
  color:var(--gf-head) !important;
}
.elementor-counter .elementor-counter-title{
  font-family:var(--gf-h);
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.82rem !important;
  color:var(--gf-muted) !important;
}
.elementor-progress-wrapper,
.elementor-progress-bar{ border-radius:999px !important; }
.elementor-progress-wrapper{ background:var(--gf-line) !important; }
.elementor-progress-bar{ background:var(--gf-btn-bg) !important; }

/* tabs & toggles */
.elementor-tabs .elementor-tabs-wrapper{ gap:8px; }
.elementor-tabs .elementor-tab-title{
  font-family:var(--gf-h) !important;
  font-weight:600 !important;
  border:1px solid var(--gf-line) !important;
  border-radius:999px !important;
  padding:12px 22px !important;
  margin:0 !important;
  color:var(--gf-head) !important;
  background:var(--gf-surface) !important;
  transition:background-color .28s var(--gf-ease),color .28s var(--gf-ease),border-color .28s var(--gf-ease);
}
.elementor-tabs .elementor-tab-title:hover{ border-color:rgba(201,169,106,.55) !important; }
.elementor-tabs .elementor-tab-title.elementor-active{
  background:var(--gf-btn-bg) !important;
  color:var(--gf-btn-fg) !important;
  border-color:transparent !important;
}
.elementor-tabs .elementor-tabs-content-wrapper{
  background:var(--gf-surface) !important;
  border:1px solid var(--gf-line) !important;
  border-radius:var(--gf-r) !important;
  box-shadow:var(--gf-shadow-sm);
}
.elementor-toggle .elementor-toggle-item{
  background:var(--gf-surface);
  border:1px solid var(--gf-line) !important;
  border-radius:var(--gf-r-sm) !important;
  margin-bottom:12px !important;
  overflow:hidden;
}
.elementor-toggle .elementor-tab-title{
  font-family:var(--gf-h) !important;
  font-weight:600 !important;
  color:var(--gf-head) !important;
  padding:18px 22px !important;
  background:transparent !important;
}
.elementor-toggle .elementor-tab-title a{ color:var(--gf-head) !important; }
.elementor-toggle .elementor-tab-title.elementor-active a{ color:var(--gf-gold) !important; }
.elementor-toggle .elementor-tab-content{
  color:var(--gf-text) !important;
  padding:4px 22px 22px !important;
  border-top:1px dashed var(--gf-line) !important;
  background:transparent !important;
}

/* testimonials & star ratings */
.elementor-testimonial-wrapper{
  background:var(--gf-surface);
  border:1px solid var(--gf-line);
  border-radius:var(--gf-r);
  padding:26px 24px;
  box-shadow:var(--gf-shadow-sm);
  transition:transform .34s var(--gf-ease),box-shadow .34s var(--gf-ease);
}
.elementor-testimonial-wrapper:hover{ transform:translateY(-4px); box-shadow:var(--gf-shadow); }
.elementor-testimonial-content{ color:var(--gf-text) !important; font-size:1.02rem; }
.elementor-testimonial-name{ color:var(--gf-head) !important; font-family:var(--gf-h); font-weight:600; }
.elementor-testimonial-job{ color:var(--gf-muted) !important; }
.elementor-star-rating i:before,
.elementor-star-rating{ color:var(--gf-gold) !important; }

/* dividers & galleries */
.elementor-divider-separator{
  border-top-color:var(--gf-line) !important;
}
.elementor-widget-divider .elementor-divider-separator::after{ background:var(--gf-gold); }
.elementor-widget-image-gallery img,
.elementor-widget-gallery img{ border-radius:var(--gf-r-sm) !important; }
.elementor-widget-video iframe,
.elementor-widget-google_maps iframe,
.elementor-widget-google_maps .elementor-custom-embed{
  border-radius:var(--gf-r) !important;
  box-shadow:var(--gf-shadow-sm);
  overflow:hidden;
}

/* anchor targets clear the sticky header */
[id]{ scroll-margin-top:96px; }

/* ==================== 4. ARCHIVES / POST LISTS ========================= */
.elementor-posts .elementor-post,
.elementor-posts-container .elementor-post,
.elementor-loop-container .e-loop-item > .elementor-element{
  background:var(--gf-surface);
  border:1px solid var(--gf-line);
  border-radius:var(--gf-r);
  overflow:hidden;
  box-shadow:var(--gf-shadow-sm);
  transition:transform .34s var(--gf-ease),box-shadow .34s var(--gf-ease),border-color .34s var(--gf-ease);
}
.elementor-posts .elementor-post:hover,
.elementor-loop-container .e-loop-item > .elementor-element:hover{
  transform:translateY(-5px);
  border-color:rgba(201,169,106,.5);
  box-shadow:var(--gf-shadow);
}
.elementor-post__thumbnail img{ border-radius:0 !important; }
.elementor-post__text{ padding:20px 22px 24px; }
.elementor-post__title,
.elementor-post__title a{ color:var(--gf-head) !important; font-family:var(--gf-h); font-weight:600; }
.elementor-post__meta-data{ color:var(--gf-muted) !important; font-size:.84rem; letter-spacing:.02em; }
.elementor-post__excerpt p{ color:var(--gf-text) !important; }
.elementor-post__read-more{
  color:var(--gf-gold) !important;
  font-family:var(--gf-h);
  font-weight:600;
  font-size:.92rem !important;
  letter-spacing:.02em;
}
.elementor-post__read-more:hover{ color:var(--gf-head) !important; }

/* classic theme archives */
.archive .post,
.blog .post,
.search-results .post{
  background:var(--gf-surface);
  border:1px solid var(--gf-line);
  border-radius:var(--gf-r);
  padding:26px;
  margin-bottom:26px;
  box-shadow:var(--gf-shadow-sm);
  transition:transform .34s var(--gf-ease),box-shadow .34s var(--gf-ease);
}
.archive .post:hover,
.blog .post:hover,
.search-results .post:hover{ transform:translateY(-4px); box-shadow:var(--gf-shadow); }
.entry-title a{ color:var(--gf-head) !important; }
.entry-title a:hover{ color:var(--gf-gold) !important; }
.entry-meta,
.posted-on,
.byline,
.cat-links,
.tags-links{
  color:var(--gf-muted) !important;
  font-size:.86rem;
  letter-spacing:.02em;
}

/* pagination */
.elementor-pagination a,
.elementor-pagination span,
.pagination a,
.pagination span,
.page-numbers{
  display:inline-grid;
  place-items:center;
  min-width:44px;
  height:44px;
  padding:0 12px;
  margin:0 4px;
  border:1px solid var(--gf-line);
  border-radius:12px;
  background:var(--gf-surface);
  color:var(--gf-head) !important;
  font-family:var(--gf-h);
  font-weight:600;
  text-decoration:none !important;
  transition:transform .24s var(--gf-ease),background-color .24s var(--gf-ease),color .24s var(--gf-ease),border-color .24s var(--gf-ease);
}
.elementor-pagination a:hover,
.pagination a:hover,
.page-numbers:hover{ transform:translateY(-2px); border-color:var(--gf-gold); color:var(--gf-gold) !important; }
.page-numbers.current,
.elementor-pagination .page-numbers.current{
  background:var(--gf-btn-bg) !important;
  color:var(--gf-btn-fg) !important;
  border-color:transparent !important;
}

/* breadcrumbs */
.elementor-widget-breadcrumbs,
.rank-math-breadcrumb,
.yoast-breadcrumbs,
.woocommerce-breadcrumb{
  font-size:.86rem;
  color:var(--gf-muted) !important;
  letter-spacing:.02em;
}
.elementor-widget-breadcrumbs a,
.rank-math-breadcrumb a,
.yoast-breadcrumbs a{ color:var(--gf-text) !important; text-decoration:none !important; }
.elementor-widget-breadcrumbs a:hover,
.rank-math-breadcrumb a:hover,
.yoast-breadcrumbs a:hover{ color:var(--gf-gold) !important; }

/* ==================== 5. SIDEBAR & COMMENTS ============================ */
.widget,
.elementor-widget-sidebar .widget{
  background:var(--gf-surface);
  border:1px solid var(--gf-line);
  border-radius:var(--gf-r);
  padding:22px;
  margin-bottom:22px;
  box-shadow:var(--gf-shadow-sm);
}
.widget-title{ color:var(--gf-head) !important; font-family:var(--gf-h); font-weight:600; font-size:1.02rem !important; }
.widget ul{ list-style:none; padding-left:0; }
.widget ul li{ padding:7px 0; border-bottom:1px dashed var(--gf-line-2); }
.widget ul li:last-child{ border-bottom:0; }
.widget ul li a{ color:var(--gf-text) !important; }
.widget ul li a:hover{ color:var(--gf-gold) !important; }

.commentlist,
.comment-list{ list-style:none; padding-left:0; }
.comment-body{
  background:var(--gf-surface);
  border:1px solid var(--gf-line);
  border-radius:var(--gf-r-sm);
  padding:20px 22px;
  margin-bottom:16px;
}
.comment-author,
.comment-author a{ color:var(--gf-head) !important; font-family:var(--gf-h); font-weight:600; }
.comment-metadata,
.comment-metadata a{ color:var(--gf-muted) !important; font-size:.82rem; }

/* search form */
.search-form{ display:flex; gap:10px; align-items:stretch; }
.search-form .search-field{ flex:1 1 auto; }
.search-form .search-submit{ flex:0 0 auto; }

/* ==================== 6. 404 / EMPTY STATES ============================ */
.error404 .page-content,
.no-results .page-content,
.error-404{
  text-align:center;
  padding:clamp(40px,8vw,90px) 20px;
}
.error404 .page-title,
.no-results .page-title{
  font-size:clamp(2.4rem,7vw,4.2rem) !important;
  font-weight:800 !important;
  letter-spacing:-.03em;
  background:linear-gradient(120deg,var(--gf-gold-2),var(--gf-gold));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}

/* ==================== 7. RESPONSIVE ==================================== */
@media (max-width:1024px){
  .elementor-widget-icon-box .elementor-icon-box-wrapper{ padding:22px 20px; }
}
@media (max-width:767px){
  .entry-content > p,
  .elementor-widget-theme-post-content > p{ font-size:1rem; }
  .entry-content table,
  .elementor-widget-theme-post-content table{ font-size:.92rem; }
  .elementor-tabs .elementor-tab-title{ padding:10px 16px !important; font-size:.9rem !important; }
  .elementor-widget-icon-box .elementor-icon-box-wrapper{ padding:20px 18px; }
  .page-numbers{ min-width:38px; height:38px; }
}

@media (prefers-reduced-motion: reduce){
  .elementor-widget-icon-box .elementor-icon-box-wrapper,
  .elementor-posts .elementor-post,
  .elementor-loop-container .e-loop-item > .elementor-element,
  .elementor-testimonial-wrapper,
  .archive .post,
  .page-numbers{
    transition:none !important;
    transform:none !important;
  }
}
