/* ==== Jewellery Repairs Workshop (section key: repairs) ====
   Loaded only on the workshop's pages by includes/section-sites.php.
   The page layouts are Elementor; this file styles the widgets they share,
   the workshop's own top bar and the band above its footer
   (includes/sections/repairs.php). */

:root {
	--rw-ink: #23201A;
	--rw-gold: #A8802D;
	--rw-gold-l: #C6A44E;
	--rw-cream: #FAF6EF;
	--rw-body: #5A554B;
	--rw-muted: #8A8172;
	--rw-line: #E8E2D5;
	--rw-night: #15120F;
}

/* ---------------------------------------------------------------- top bar
   The workshop's own info bar replaces the shop-wide strapline bar. */
.gft-section-repairs .whb-top-bar { display: none; }
.gft-rw-topbar { background: #0E0C0A; color: #EFE9DC; font-family: "Jost", sans-serif; font-size: 13.5px; line-height: 1.3; }
.gft-rw-topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 10px 26px; min-height: 42px; padding-top: 6px; padding-bottom: 6px; flex-wrap: wrap; }
.gft-rw-tb-item { display: inline-flex; align-items: center; gap: 8px; color: #EFE9DC; text-decoration: none; white-space: nowrap; }
.gft-rw-tb-item svg { width: 15px; height: 15px; flex: 0 0 15px; fill: var(--rw-gold-l); }
.gft-rw-tb-sep { color: #6F665A; }
a.gft-rw-tb-item:hover { color: var(--rw-gold-l); }
.gft-rw-tb-phone { font-weight: 500; font-size: 14.5px; letter-spacing: .02em; }
.gft-rw-tb-btn { display: inline-block; padding: 8px 18px; background-image: linear-gradient(180deg, #C9A04A, #9C7426); color: #fff !important; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.gft-rw-tb-btn:hover { filter: brightness(1.08); }
.gft-rw-tb-btns { display: inline-flex; gap: 8px; }
.gft-rw-tb-btn-alt { background: transparent; background-image: none; box-shadow: inset 0 0 0 1px var(--rw-gold-l); color: #EFE9DC !important; }
.gft-rw-tb-btn-alt:hover { background-image: linear-gradient(180deg, #C9A04A, #9C7426); color: #fff !important; }
@media (max-width: 1200px) {
	.gft-rw-tb-hours { display: none; }
}
@media (max-width: 1024px) {
	.gft-rw-tb-addr, .gft-rw-tb-hours, .gft-rw-tb-btn-alt { display: none; }
	.gft-rw-topbar-inner { justify-content: space-between; min-height: 40px; }
}

/* ------------------------------------------------------------- menu row
   On a desktop the two buttons of his navigation (Book an Appointment, Post
   Your Repair) sit in the black top bar, so the link row stays on one line;
   in the phone menu they stay as the last two items. */
@media (min-width: 1025px) {
	.gft-section-repairs .wd-nav-main.gft-section-menu > li.gft-nav-cta { display: none; }
	.gft-section-repairs .wd-nav-main.gft-section-menu > li > a { font-size: 12.5px; letter-spacing: .01em; }
}
@media (min-width: 1025px) and (max-width: 1300px) {
	.gft-section-repairs .wd-nav-main.gft-section-menu { --nav-gap: 6px; }
	.gft-section-repairs .wd-nav-main.gft-section-menu > li > a { font-size: 12px; }
}

/* ---------------------------------------------------------------- shared */
.gf-rw-push { margin-top: auto; }
.gf-rw-card { transition: box-shadow .2s ease, border-color .2s ease; }
.gf-rw-card:hover { box-shadow: 0 10px 28px rgba(35, 32, 26, .08); border-color: #D9C9A4 !important; }
.gf-rw-watch .elementor-icon-list-items { justify-content: center; }
.gf-rw-watch .elementor-icon-list-text { font-weight: 500; }
.gf-rw-poster img, .gf-rw-photo img { width: 100%; height: auto; display: block; }
.gf-rw-photo img { border: 1px solid var(--rw-line); }
.gf-rw-poster { width: 100%; max-width: 1000px; margin-left: auto; margin-right: auto; }
.gft-section-repairs .wd-content-layout { padding-bottom: 0 !important; }
.gft-section-repairs .wd-footer.footer-container { display: none; }

@media (max-width: 1024px) {
	.gf-rw-photo img { max-width: 560px; margin: 0 auto; }
	.gf-rw-sketches { max-width: 560px; margin: 0 auto; }
}
@media (max-width: 767px) {
	.gf-rw-sketches { max-width: 100%; }
}

/* two-column lists */
@media (min-width: 768px) {
	.gf-rw-cols2 .elementor-icon-list-items { columns: 2; column-gap: 34px; }
	.gf-rw-cols2 .elementor-icon-list-item { break-inside: avoid; }
}

/* inline link chips */
.gf-rw-chips .elementor-icon-list-items { justify-content: center; gap: 8px 10px; }
.gf-rw-chips .elementor-icon-list-item { margin: 0 !important; padding: 6px 14px; border: 1px solid var(--rw-line); background: #fff; }
.gf-rw-chips .elementor-icon-list-item::after { display: none !important; }
.gf-rw-chips .elementor-icon-list-item:hover { border-color: var(--rw-gold-l); }

/* ---------------------------------------------------------------- home hero */
.gf-rw-homehero .gf-rw-hero-img img { width: 100%; height: auto; display: block; border: 1px solid rgba(198, 164, 78, .35); }
.gf-rw-trust .elementor-icon-list-items { gap: 6px 22px; }
.gf-rw-trust .elementor-icon-list-item { margin: 0 !important; }
.gf-rw-trust .elementor-icon-list-item::after { display: none !important; }
.gf-rw-trust .elementor-icon-list-icon i, .gf-rw-trust .elementor-icon-list-icon svg { font-size: 18px !important; width: 18px !important; }
.gf-rw-homehero .gf-rw-watch .elementor-icon-list-items { justify-content: flex-start; }
.gf-rw-herobtn.e-con { --width: auto; width: auto; }
.gf-rw-herobtn .elementor-button { min-width: 250px; }
.gf-rw-dark .gf-gold-btn .elementor-button { color: #fff; }
@media (max-width: 1024px) {
	.gf-rw-homehero .elementor-widget-heading .elementor-heading-title, .gf-rw-homehero .elementor-widget-text-editor { text-align: center !important; }
	.gf-rw-homehero .gf-rw-trust .elementor-icon-list-items, .gf-rw-homehero .gf-rw-watch .elementor-icon-list-items, .gf-rw-homehero .gf-rw-watch .elementor-icon-list-item { justify-content: center; }
	.gf-rw-homehero .gf-rw-herobtn { align-items: center; }
	.gf-rw-homehero .e-con { align-items: center; }
	.gf-rw-homehero .gf-rw-hero-img img { max-width: 520px; margin: 0 auto; }
}
@media (max-width: 767px) {
	.gf-rw-herobtn .elementor-button { min-width: 0; width: 100%; }
	.gf-rw-herobtn { width: 100%; }
}

/* ---------------------------------------------------------------- two ways */
.gf-rw-way-img img { width: 100%; height: 100%; min-height: 170px; object-fit: cover; display: block; }
.gf-rw-way-media .elementor-widget-image, .gf-rw-way-media .elementor-widget-container { height: 100%; }

/* ---------------------------------------------------------------- category tiles */
.gf-rw-cat .gf-rw-tile-img img, .gf-rw-sketch img { width: 100%; height: auto; display: block; background: #F6F5F0; }
.gf-rw-cat .elementor-heading-title a { color: inherit; }
.gf-rw-cat .elementor-heading-title a:hover { color: var(--rw-gold); }
.gf-rw-list-sm .elementor-icon-list-icon i, .gf-rw-list-sm .elementor-icon-list-icon svg { font-size: 10px !important; width: 10px !important; }
.gf-rw-btn-sm .elementor-button { min-height: 52px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 10px 10px !important; font-size: 11.5px !important; letter-spacing: .06em !important; white-space: normal; line-height: 1.3; }
.gf-rw-cat-img img { width: 100%; max-width: 420px; height: auto; display: block; margin: 0 auto; }
.gf-rw-sketch img { border: 1px solid var(--rw-line); }
@media (max-width: 767px) {
	.gf-rw-cat .gf-rw-tile-img img { max-width: 240px; margin: 0 auto; }
	.gf-rw-cat-img img { max-width: 260px; }
}

/* image tiles (the design's service grid) */
.gf-rw-tile .elementor-image-box-wrapper { background: #fff; border: 1px solid var(--rw-line); padding: 10px 10px 14px; height: 100%; transition: box-shadow .2s ease, border-color .2s ease; }
.gf-rw-tile:hover .elementor-image-box-wrapper { box-shadow: 0 10px 24px rgba(35, 32, 26, .08); border-color: #D9C9A4; }
.gf-rw-tile .elementor-image-box-img { width: 100% !important; margin: 0 0 10px !important; }
.gf-rw-tile .elementor-image-box-img img { width: 100%; height: auto; background: #F6F5F0; }
.gf-rw-tile .elementor-image-box-title { margin: 0; font-family: "Cormorant Garamond", serif; font-size: 18px; font-weight: 600; line-height: 1.2; color: var(--rw-ink); }
.gf-rw-tile .elementor-image-box-title a { color: inherit; }
.gf-rw-tile .elementor-image-box-description:empty { display: none; }
.gf-rw-tile .elementor-widget-container { height: 100%; }

/* ---------------------------------------------------------------- icon boxes */
.gf-rw-ibox .elementor-icon-box-icon { margin-bottom: 12px !important; }
.gf-rw-ibox .elementor-icon { color: var(--rw-gold-l) !important; fill: var(--rw-gold-l) !important; font-size: 30px !important; }
.gf-rw-ibox .elementor-icon svg { width: 30px; height: 30px; fill: var(--rw-gold-l); }
.gf-rw-ibox .elementor-icon-box-title { margin: 0 0 6px; font-family: "Cormorant Garamond", serif; font-size: 21px; font-weight: 600; line-height: 1.2; color: var(--rw-ink); }
.gf-rw-ibox .elementor-icon-box-title a { color: inherit; }
.gf-rw-ibox .elementor-icon-box-description { margin: 0; font-family: "Jost", sans-serif; font-size: 15px; line-height: 1.6; color: var(--rw-body); }
.gf-rw-ibox .elementor-icon-box-wrapper { text-align: center; }
.gf-rw-ibox-lg .elementor-icon { font-size: 36px !important; }
.gf-rw-ibox-lg .elementor-icon svg { width: 36px; height: 36px; }
.gf-rw-ibox-lg .elementor-icon-box-title { font-size: 24px; }

/* postal steps: numbered line of six */
.gf-rw-step .elementor-icon-box-wrapper { background: #fff; border: 1px solid var(--rw-line); border-top: 3px solid var(--rw-gold-l); padding: 22px 16px 20px; height: 100%; }
.gf-rw-step .elementor-widget-container { height: 100%; }
.gf-rw-step .elementor-icon-box-title { font-size: 19px; font-variant-numeric: lining-nums; }
.gf-rw-step .elementor-icon-box-description { font-size: 14px; }

/* popular repairs: small clickable tiles */
.gf-rw-pop .elementor-icon-box-wrapper { background: #fff; border: 1px solid var(--rw-line); padding: 18px 10px 16px; height: 100%; transition: border-color .2s ease, box-shadow .2s ease; }
.gf-rw-pop:hover .elementor-icon-box-wrapper { border-color: var(--rw-gold-l); box-shadow: 0 8px 20px rgba(35, 32, 26, .07); }
.gf-rw-pop .elementor-icon { width: 60px; height: 60px; line-height: 60px; border-radius: 50%; background: var(--rw-cream); font-size: 24px !important; display: inline-flex !important; align-items: center; justify-content: center; }
.gf-rw-pop .elementor-icon svg { width: 24px; height: 24px; }
.gf-rw-pop .elementor-icon-box-title { font-size: 17px; margin: 0; }
.gf-rw-pop .elementor-icon-box-description { display: none; }
.gf-rw-pop .elementor-widget-container { height: 100%; }

/* link cards */
.gf-rw-linkcard .elementor-icon-box-wrapper { background: #fff; border: 1px solid var(--rw-line); padding: 24px 18px 22px; height: 100%; transition: border-color .2s ease, box-shadow .2s ease; }
.gf-rw-linkcard:hover .elementor-icon-box-wrapper { border-color: var(--rw-gold-l); box-shadow: 0 8px 20px rgba(35, 32, 26, .07); }
.gf-rw-linkcard .elementor-widget-container { height: 100%; }
.gf-rw-ba .elementor-icon-box-description { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--rw-gold); }

/* map */
.gf-rw-map { width: 100%; }
.gf-rw-map iframe { border: 1px solid var(--rw-line) !important; }

/* ---------------------------------------------------------------- dark bands */
.gf-rw-dark .elementor-widget-text-editor a { color: var(--rw-gold-l); }

/* ---------------------------------------------------------------- band above the footer */
.gft-rw-foot { background: #1E1B16; color: #D9D2C3; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.gft-rw-foot-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 30px; padding-top: 30px; padding-bottom: 26px; }
.gft-rw-foot-brand { font-family: "Cormorant Garamond", serif; font-size: 26px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #fff; text-decoration: none; }
.gft-rw-foot-brand span { color: var(--rw-gold-l); }
.gft-rw-foot-motto { margin: 2px 0 8px; font-family: "Jost", sans-serif; font-size: 11.5px; letter-spacing: .32em; text-transform: uppercase; color: var(--rw-gold-l); }
.gft-rw-foot-lines { margin: 0; font-family: "Jost", sans-serif; font-size: 14px; line-height: 1.6; color: #D9D2C3; }
.gft-rw-foot-lines strong { color: #fff; font-weight: 500; }
.gft-rw-foot-tag { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 22px; color: var(--rw-gold-l); }
.gft-section-repairs .gft-section-footer-col a[href^="tel:"], .gft-section-repairs .gft-section-footer-col a[href^="mailto:"] { word-break: break-word; }
@media (max-width: 767px) {
	.gft-rw-foot-inner { flex-direction: column; align-items: flex-start; }
}

/* the submit form note added on the workshop pages */
.gft-rw-form-note { margin: 0 0 14px; padding: 10px 14px; border-left: 3px solid var(--rw-gold-l); background: var(--rw-cream); font-size: 14.5px; color: var(--rw-ink); }

/* His design puts the workshop's own name where the logo sits: "Jewellery
   Repair Workshop", with REPAIR, RESTORE, CREATE under it. */
.gft-section-repairs .site-logo .wd-logo img { display: none; }
.gft-section-repairs .site-logo .wd-logo { display: inline-flex; flex-direction: column; align-items: flex-start; text-decoration: none; }
.gft-section-repairs .site-logo .wd-logo::before {
	content: "Jewellery Repair Workshop";
	font-family: "Cormorant Garamond", serif;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: .01em;
	color: #23201A;
	white-space: nowrap;
}
.gft-section-repairs .site-logo .wd-logo::after {
	content: "REPAIR \2022  RESTORE \2022  CREATE";
	margin-top: 4px;
	font-family: "Jost", sans-serif;
	font-size: 10.5px;
	letter-spacing: .38em;
	color: #A8802D;
	white-space: nowrap;
}
@media (max-width: 1024px) {
	.gft-section-repairs .site-logo .wd-logo::before { font-size: 21px; }
	.gft-section-repairs .site-logo .wd-logo::after { font-size: 8.5px; letter-spacing: .3em; }
}

/* his footer: the brand (logo, name, icons) across the top, then his six
   columns side by side, Our Services in two sub-columns; Contact Us had
   wrapped onto a row of its own */
@media (min-width: 1025px) {
	.gft-section-repairs .gft-section-footer-cols { grid-template-columns: 1.8fr repeat(5, minmax(0, 1fr)); gap: 26px 22px; }
	.gft-section-repairs .gft-section-footer-brand { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 26px; padding-bottom: 18px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
	.gft-section-repairs .gft-section-footer-brand .gft-section-footer-brandname,
	.gft-section-repairs .gft-section-footer-brand .gft-section-footer-tagline { margin: 0; }
	.gft-section-repairs .gft-section-footer-brand .gft-section-social { margin: 0 0 0 auto; }
	.gft-section-repairs .gft-section-footer-brand + .gft-section-footer-col ul { column-count: 2; column-gap: 20px; }
	.gft-section-repairs .gft-section-footer-brand + .gft-section-footer-col li { break-inside: avoid; }
}
