/* ==== safeval sections (Safekeeping, Valuations & Estimates, Zakat): shared ====
   Built from work/safeval/css; loaded only on the section's own pages. */

.gft-section .gfsv-kicker .elementor-heading-title { margin: 0; }
.gft-section .gfsv-h1 .elementor-heading-title { margin: 0; }
.gft-section .gfsv-gold {
	background: linear-gradient(180deg, #F7E7B4 0%, #E3C57A 42%, #B88A32 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.gft-section .gfsv-lead p { margin: 0 0 4px; }
.gft-section .gfsv-lead p:last-child { margin-bottom: 0; }
.gft-section .gfsv-lead-big { font-size: 1.32em; line-height: 1.3; color: #FFFFFF; }

/* dark photographic hero */
.gft-section .gfsv-hero { overflow: hidden; }
.gft-section .gfsv-hero-photo { position: relative; }
.gft-section .gfsv-hero-photo::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 22%;
	background: linear-gradient(270deg, #0D0B08 0%, rgba(13, 11, 8, 0) 100%);
	pointer-events: none;
	z-index: 1;
}
.gft-section .gfsv-hero-photo .elementor-element { position: relative; z-index: 2; }
.gft-section .gfsv-hero .elementor-button { box-shadow: none; }
.gft-section .gfsv-hero-icons .elementor-icon-box-title,
.gft-section .gfsv-badges .elementor-icon-box-title { margin-top: 0; }
.gft-section .gfsv-side-words .elementor-icon-list-item:last-child .elementor-icon-list-text { color: #E3C57A; }
.gft-section .gfsv-side-words .elementor-icon-list-icon { display: none; }
.gft-section .gfsv-side-text p { margin: 0; }
.gft-section .gfsv-side-text p::after { content: ""; display: block; width: 44px; height: 1px; margin: 14px auto 0; background: #C6A44E; }

/* tables written in a text editor */
.gft-section .gfsv-table { width: 100%; margin: 0; border-collapse: collapse; background: #FBF8F2; border: 1px solid #EFE6D4; }
.gft-section .gfsv-table th { padding: 10px 14px; background: #F2E9D8; border: 0; color: #23201A; font-family: "Jost", sans-serif; font-size: 14px; font-weight: 500; text-align: left; text-transform: none; letter-spacing: 0; }
.gft-section .gfsv-table td { padding: 8px 14px; border: 0; border-top: 1px solid #EFE6D4; color: #23201A; font-size: 15px; }
.gft-section .gfsv-table th:last-child,
.gft-section .gfsv-table td:last-child { text-align: center; white-space: nowrap; }
.gft-section .gfsv-table tbody tr:nth-child(even) td { background: #FFFFFF; }

/* note box */
.gft-section .gfsv-note { padding: 16px 20px; background: #FAF6EF; border-left: 3px solid #C6A44E; }
.gft-section .gfsv-note p { margin: 0; }

/* toggles (FAQ) */
.gft-section .elementor-toggle .elementor-tab-title { display: flex; align-items: center; gap: 10px; }
.gft-section .elementor-toggle .elementor-tab-title .elementor-toggle-title { flex: 1 1 auto; }
.gft-section .elementor-toggle .elementor-toggle-icon { order: 2; width: auto; }
.gft-section .elementor-toggle .elementor-tab-title a { color: inherit; }
.gft-section .elementor-toggle .elementor-tab-content p { margin: 0 0 8px; }
.gft-section .elementor-toggle .elementor-tab-content p:last-child { margin-bottom: 0; }

/* sub pages */
.gft-section .gfsv-band-dark {
	background-image: radial-gradient(ellipse at 50% 0%, rgba(198, 164, 78, .16) 0%, rgba(13, 11, 8, 0) 62%);
	border-bottom: 1px solid rgba(198, 164, 78, .35);
}
.gft-section .gfsv-band-zakat { border-bottom: 1px solid #E6DAC0; }
.gft-section .gfsv-band .gfsv-lead p { margin: 0; }
.gft-section .gfsv-rail .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.gft-section .gfsv-rail .elementor-widget-heading h2 { margin-bottom: 0; }
.gft-section .gfsv-aside .elementor-icon-list-text a,
.gft-section .gfsv-aside a.elementor-icon-list-text { color: inherit; }
.gft-section .gfsv-aside .gfsv-table td,
.gft-section .gfsv-aside .gfsv-table th { padding: 7px 10px; font-size: 14px; }
.gft-section .gfsv-cta { border-top: 1px solid rgba(198, 164, 78, .35); }
.gft-section .gfsv-form .gft-tool { margin: 0; }

/* the design's one-band footer, printed by includes/sections/safeval.php */
.gfsv-footband { padding: 26px 0; background: #0B0907; border-top: 1px solid rgba(198, 164, 78, .45); color: #EDE6D8; }
.gfsv-footband-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 18px; }
.gfsv-fb-logo img { display: block; width: 190px; height: auto; }
.gfsv-fb-item { display: flex; align-items: center; gap: 10px; padding-left: 18px; border-left: 1px solid rgba(198, 164, 78, .45); font-size: 15px; line-height: 1.4; color: #EDE6D8; }
.gfsv-fb-item a { color: #EDE6D8; font-size: 18px; text-decoration: none; white-space: nowrap; }
.gfsv-fb-item a:hover { color: #E3C57A; }
.gfsv-fb-ic { display: inline-flex; flex: 0 0 auto; }
.gfsv-fb-ic svg { width: 24px; height: 24px; fill: #D9B45E; }
.gfsv-fb-sign { padding-left: 18px; border-left: 1px solid rgba(198, 164, 78, .45); font-family: "Cormorant Garamond", serif; font-size: 21px; font-style: italic; font-weight: 600; line-height: 1.1; text-align: center; color: #D9B45E; }
.gfsv-fb-sign span { display: block; }
.gfsv-fb-social { display: flex; gap: 10px; }
.gfsv-fb-social a { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #D9B45E; transition: background .2s ease; }
.gfsv-fb-social a:hover { background: #F2DA97; }
.gfsv-fb-social svg { width: 20px; height: 20px; fill: #0B0907; }
.gft-section .gft-section-footer { padding-top: 34px; background: #15120E; }
@media (max-width: 1024px) {
	.gfsv-footband-in { justify-content: flex-start; }
	.gfsv-fb-item, .gfsv-fb-sign { padding-left: 0; border-left: 0; }
}
@media (max-width: 767px) {
	.gfsv-footband { padding: 24px 0 20px; }
	.gfsv-footband-in { flex-direction: column; align-items: flex-start; gap: 14px; }
	.gfsv-fb-sign { text-align: left; }
}

/* phones: stack the hero and give the photo its own space */
@media (max-width: 1024px) {
	.gft-section .gfsv-hero-photo::after { width: 12%; }
}

/* hero side words column */
.gft-section .gfsv-hero-words { position: relative; }
.gft-section .gfsv-side-words .elementor-icon-list-text { white-space: nowrap; }

/* short price tables stay tables on phones (tables.php stacks every other table into cards) */
@media (max-width: 767px) {
	.gft-section .gfsv-pricing table.gft-stack,
	.gft-section .gfsv-aside table.gft-stack { display: table; width: 100% !important; border-collapse: collapse; }
	.gft-section .gfsv-pricing table.gft-stack thead,
	.gft-section .gfsv-aside table.gft-stack thead { display: table-header-group; }
	.gft-section .gfsv-pricing table.gft-stack tbody,
	.gft-section .gfsv-aside table.gft-stack tbody { display: table-row-group; width: auto !important; }
	.gft-section .gfsv-pricing table.gft-stack tr,
	.gft-section .gfsv-aside table.gft-stack tr { display: table-row; width: auto !important; margin: 0; border: 0; background: none; }
	.gft-section .gfsv-pricing table.gft-stack td,
	.gft-section .gfsv-pricing table.gft-stack th,
	.gft-section .gfsv-aside table.gft-stack td,
	.gft-section .gfsv-aside table.gft-stack th { display: table-cell; width: auto !important; padding: 8px 10px; border-bottom: 0; }
	.gft-section .gfsv-pricing table.gft-stack td[data-label]::before,
	.gft-section .gfsv-aside table.gft-stack td[data-label]::before { content: none; display: none; }
}

/* ==== Safekeeping (safekeeping.png) ==== */

.gft-section-safekeeping .gfsv-hero-sk .gfsv-hero-text .gfsv-kicker .elementor-heading-title { letter-spacing: 3px; }
.gft-section-safekeeping .gfsv-hero-icons .elementor-widget-icon-box { text-align: center; }

/* prices */
.gft-section-safekeeping .gfsv-pricing .elementor-widget-heading h2 { margin-bottom: 0; }
.gft-section-safekeeping .gfsv-price-sep { padding-left: 30px; border-left: 1px solid #EDE3CE; }
.gft-section-safekeeping .gfsv-bag { box-shadow: 0 1px 6px rgba(35, 32, 26, .05); }
.gft-section-safekeeping .gfsv-bag .elementor-widget-image img { width: auto; max-height: 92px; }
.gft-section-safekeeping .gfsv-bag .elementor-widget-heading h3 { margin: 0; }
.gft-section-safekeeping .gfsv-mini { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: #F7F2E8; }
.gft-section-safekeeping .gfsv-mini td { padding: 6px 10px; border: 0; border-top: 1px solid #EFE6D4; font-size: 14px; color: #23201A; }
.gft-section-safekeeping .gfsv-mini tr:first-child td { border-top: 0; }
.gft-section-safekeeping .gfsv-mini td:last-child { text-align: right; font-size: 16px; font-weight: 500; }
.gft-section-safekeeping .gfsv-choose { width: 100%; }
.gft-section-safekeeping .gfsv-choose .elementor-button { width: 100%; justify-content: center; }

/* key information */
.gft-section-safekeeping .gfsv-keyinfo .elementor-widget-heading h2 { margin-bottom: 0; }
.gft-section-safekeeping .gfsv-keyinfo-grid .elementor-widget-icon-box { padding: 4px 10px; }
.gft-section-safekeeping .gfsv-keyinfo-grid .elementor-widget-icon-box + .elementor-widget-icon-box { border-left: 1px solid #E3D6BD; }

/* what you can store */
.gft-section-safekeeping .gfsv-store-grid .elementor-widget-image-box { padding: 4px 8px; }
.gft-section-safekeeping .gfsv-store-grid .elementor-widget-image-box + .elementor-widget-image-box { border-left: 1px solid #EFE6D4; }
.gft-section-safekeeping .gfsv-store-grid .elementor-image-box-img img { width: auto; max-height: 72px; }
.gft-section-safekeeping .gfsv-faq-col { padding-left: 30px; border-left: 1px solid #EDE3CE; }

/* how it works page */
.gft-section-safekeeping .gfsv-step-card { height: 100%; padding: 26px 18px; background: #FBF7EF; border: 1px solid #EDE3CE; }
.gft-section-safekeeping .gfsv-step-card .elementor-icon-box-title { margin: 6px 0 8px; }

@media (max-width: 1024px) {
	.gft-section-safekeeping .gfsv-price-sep,
	.gft-section-safekeeping .gfsv-faq-col { padding-left: 0; border-left: 0; }
	.gft-section-safekeeping .gfsv-keyinfo-grid .elementor-widget-icon-box:nth-child(4n+1) { border-left: 0; }
	.gft-section-safekeeping .gfsv-keyinfo-grid { row-gap: 18px; }
	.gft-section-safekeeping .gfsv-store-grid .elementor-widget-image-box:nth-child(3n+1) { border-left: 0; }
	.gft-section-safekeeping .gfsv-store-grid { row-gap: 16px; }
}
@media (max-width: 767px) {
	.gft-section-safekeeping .gfsv-keyinfo-grid .elementor-widget-icon-box,
	.gft-section-safekeeping .gfsv-keyinfo-grid .elementor-widget-icon-box + .elementor-widget-icon-box { border-left: 0; }
	.gft-section-safekeeping .gfsv-store-grid .elementor-widget-image-box,
	.gft-section-safekeeping .gfsv-store-grid .elementor-widget-image-box + .elementor-widget-image-box { border-left: 0; }
	.gft-section-safekeeping .gfsv-hero-icons { row-gap: 16px; }
}

/* prices: keep each band on one line on wide screens */
@media (min-width: 1025px) {
	.gft-section-safekeeping .gfsv-pricing .gfsv-table td:first-child { white-space: nowrap; }
}
.gft-section-safekeeping .gfsv-pricing .gfsv-table td,
.gft-section-safekeeping .gfsv-pricing .gfsv-table th { padding-left: 12px; padding-right: 12px; }
.gft-section-safekeeping .gfsv-mini td:first-child { white-space: nowrap; font-size: 12px; }
.gft-section-safekeeping .gfsv-bag-name .elementor-heading-title { white-space: nowrap; }
.gft-section-safekeeping .gfsv-choose .elementor-button { white-space: nowrap; }
