/* GD Tools - Partner Sections (front end) */
.gdps-wrap{--accent:#38aecc}
.gdps-card{display:flex;flex-wrap:wrap;background:#0e2d4e;border-radius:22px;overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.28)}
.gdps-card *{box-sizing:border-box}

/* Media (left) */
.gdps-media{position:relative;flex:1 1 42%;min-width:300px;min-height:360px;overflow:hidden}
.gdps-hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* Soft fade of the image into the navy content (right edge on desktop) */
.gdps-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(14,45,78,0) 42%,rgba(14,45,78,.45) 70%,rgba(14,45,78,.85) 88%,#0e2d4e 100%)}
.gdps-logo-badge{position:absolute;top:20px;left:20px;z-index:2;display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:8px 10px 9px 9px;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.gdps-logo{width:44px;height:44px;border-radius:10px;background:#0e2d4e;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}
.gdps-logo img{width:100%;height:100%;object-fit:cover;display:block}
.gdps-logo-txt{display:flex;flex-direction:column}
.gdps-logo-txt b{display:block;color:#14293e;font-size:16px;font-weight:800;line-height:1.15}
.gdps-logo-txt span{display:block;color:#5d6e82;font-size:12.5px;line-height:1.2}
.gdps-badge-reviews{display:inline-flex;align-items:center;gap:5px;margin-top:5px;color:#1a73e8 !important;font-size:12.5px;font-weight:700;line-height:1.2;text-decoration:none}
.gdps-badge-reviews:hover{text-decoration:underline}
.gdps-badge-reviews .gdps-ext{width:12px;height:12px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.gdps-verified{position:absolute;left:20px;bottom:20px;z-index:2;display:flex;align-items:center;gap:13px;background:rgba(8,28,48,.72);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:11px 18px;backdrop-filter:blur(4px)}
.gdps-verified>svg{width:30px;height:30px;flex:0 0 auto;fill:none;stroke:#1fb39e;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gdps-vtxt b{display:block;color:#fff;font-size:13px;font-weight:800;line-height:1.2;letter-spacing:.04em;text-transform:uppercase}
.gdps-vtxt span{display:block;color:#1fb39e;font-size:13px;font-weight:800;line-height:1.2;letter-spacing:.04em;text-transform:uppercase}

/* Content (right) */
.gdps-content{flex:1 1 52%;min-width:320px;padding:22px 38px;color:#cdd7e3;display:flex;flex-direction:column;justify-content:center}
.gdps-eyebrow{margin:0 0 10px !important;color:#7c93ad !important;font-size:12px !important;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.gdps-heading{margin:0 !important;color:#fff !important;font-size:30px !important;font-weight:800 !important;line-height:1.15}
.gdps-heading .gdps-accent{color:var(--accent) !important;font-style:italic}
.gdps-divider{border:0;border-top:1px solid rgba(255,255,255,.16);margin:16px 0}
.gdps-body{color:#b9c6d6 !important;font-size:16px;line-height:1.6}
.gdps-body p{margin:0 0 10px !important;color:#b9c6d6 !important}
.gdps-list{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:7px 26px}
.gdps-list li{position:relative;padding-left:30px;color:#dbe4ee !important;font-size:15px;line-height:1.3}
.gdps-list li:before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:rgba(37,183,145,.18)}
.gdps-list li:after{content:"";position:absolute;left:7px;top:4px;width:5px;height:9px;border:solid #25b791;border-width:0 2px 2px 0;transform:rotate(45deg)}
.gdps-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:22px;justify-content:flex-end}

/* Price Guarantee badge */
.gdps-pg{display:inline-flex;align-items:center;gap:9px;margin:0;padding:9px 13px;cursor:pointer;background:rgba(31,179,158,.14);border:1px solid rgba(31,179,158,.45);border-radius:12px;color:#bfeee4 !important;font-size:13.5px;font-weight:700;line-height:1.2;font-family:inherit;transition:background .15s,border-color .15s}
.gdps-pg:hover{background:rgba(31,179,158,.24);border-color:rgba(31,179,158,.75)}
.gdps-pg-tag{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:#1fb39e;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gdps-pg-tag circle{fill:#1fb39e;stroke:none}
.gdps-pg-open{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.8}

/* Price Guarantee lightbox */
.gdps-pg-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.gdps-pg-modal[hidden]{display:none}
.gdps-pg-overlay{position:absolute;inset:0;background:rgba(4,12,22,.78);backdrop-filter:blur(2px)}
.gdps-pg-box{position:relative;z-index:1;width:100%;max-width:460px;max-height:84vh;overflow:auto;background:#0e2236;color:#e7eef6;border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.5);padding:46px 30px 26px;text-align:center}
.gdps-pg-x{position:absolute;top:12px;right:12px;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:#9fb2c6;font-size:24px;line-height:1;cursor:pointer;border-radius:8px}
.gdps-pg-x:hover{color:#fff;background:rgba(255,255,255,.08)}
.gdps-pg-title{margin:0 0 4px !important;color:#fff !important;font-size:22px !important;font-weight:800 !important;line-height:1.2}
.gdps-pg-sub{margin:0 0 16px !important;color:#1fb39e !important;font-size:14.5px;font-weight:700;line-height:1.4}
.gdps-pg-text{margin:0 0 22px !important;color:#cdd9e6 !important;font-size:15.5px;line-height:1.65}
.gdps-pg-closebtn{display:inline-block;padding:9px 26px;background:#1fb39e;border:0;border-radius:10px;color:#062019;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit}
.gdps-pg-closebtn:hover{background:#27c9b1}
body.gdps-pg-lock{overflow:hidden}

@media(max-width:781px){
	/* Let the badges sit half outside the photo; round the image itself
	   since the card no longer clips. Extra top/bottom room makes space for
	   the overhang. */
	.gdps-card{overflow:visible;margin-top:46px}
	.gdps-media{flex:1 1 100%;min-height:240px;overflow:visible}
	.gdps-hero{border-radius:22px 22px 0 0}
	/* On mobile the image sits on top, so fade downward into the content */
	.gdps-media:after{background:linear-gradient(180deg,rgba(14,45,78,0) 40%,rgba(14,45,78,.5) 72%,rgba(14,45,78,.9) 90%,#0e2d4e 100%)}
	.gdps-content{flex:1 1 100%;padding:46px 22px 24px}
	.gdps-list{grid-template-columns:1fr;gap:8px}
	.gdps-heading{font-size:25px !important}

	/* Logo box: centered and straddling the top edge of the photo, but the
	   inside keeps the desktop layout (logo left, text stacked on the right). */
	.gdps-logo-badge{left:50%;right:auto;top:0;transform:translate(-50%,-50%);width:auto;max-width:calc(100% - 24px)}
	.gdps-logo-txt span{white-space:nowrap}
	.gdps-badge-reviews{white-space:nowrap}
	/* Verified badge centered, straddling the bottom edge of the photo */
	.gdps-verified{left:50%;right:auto;bottom:0;transform:translate(-50%,50%)}
	/* Price guarantee centered under the stacked text */
	.gdps-footer{justify-content:center}

	/* Keep a clear tap target outside the box so tapping the backdrop closes it */
	.gdps-pg-modal{padding:28px}
	.gdps-pg-box{max-width:100%;padding:40px 20px 22px}
}
